Your SlideShare is downloading. ×
0
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Dns primer
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Dns primer

1,777

Published on

a session at http://matcha139.hiemalis.org/?matcha139-25th …

a session at http://matcha139.hiemalis.org/?matcha139-25th

many thanks to ya.maya.st and emaillab.jp

see also:
http://togetter.com/li/408532

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,777
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
24
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. DNS 初学者ガイド Hirohisa Yamaguchi @umq2012年11月17日土曜日
  • 2. 発表者について • ネットエージェント株式会社 •http://www.netagent.co.jp • プロダクト事業部 • 関西 *BSD ユーザ会 (K*BUG) •http://www.kbug.gr.jp2012年11月17日土曜日
  • 3. このセションでは ✤ 「怖い話」はしません ✤ たぶん ✤ ゴールとして「DNS の理解」は設定していません できません ✤ DNS のしくみについて学ぶ際に 気に留めておきたいことを説明します2012年11月17日土曜日
  • 4. 挙手をお願いします アンケート2012年11月17日土曜日
  • 5. DNS の仕組みについて理解している2012年11月17日土曜日
  • 6. DNS サーバの設定をしたことがある2012年11月17日土曜日
  • 7. ご協力ありがとうございます 理解に自信はないけどサーバ設定している という方もいらっしゃったのではないでしょう か2012年11月17日土曜日
  • 8. Agenda ✤ 「DNSサーバ」という言葉について ✤ ツール ✤ キャッシュサーバ ✤ コンテンツサーバ ✤ ポインタ2012年11月17日土曜日
  • 9. Agenda ✤ 「DNSサーバ」という言葉について ✤ ツール ✤ キャッシュサーバ ✤ コンテンツサーバ ✤ ポインタ2012年11月17日土曜日
  • 10. 「DNSサーバ」設定しなきゃ 「DNSサーバ」で通じますか? いい「DNSサーバ」しらない?2012年11月17日土曜日
  • 11. いっぱいある DNSの主な関係者 日付2012年11月17日土曜日
  • 12. おおまかに2種類にわけられる ✤ 参照サーバ ✤ いわゆるキャッシュサーバ、recursive server のこと ✤ /etc/resolv.conf に書くDNSサーバ ✤ 権威(?)サーバ ✤ コンテンツサーバ、authoritative server のこと ✤ NSレコードに書くDNS サーバ2012年11月17日土曜日
  • 13. Agenda ✤ 「DNSサーバ」という言葉について ✤ ツール ✤ キャッシュサーバ ✤ コンテンツサーバ ✤ ポインタ2012年11月17日土曜日
  • 14. どんな通信がなされているか2012年11月17日土曜日
  • 15. dig(1) ✤ ISC-BIND に含まれる ✤ 問合せパケット工作 ✤ 応答パケット成形2012年11月17日土曜日
  • 16. Header TTL Question Answer Authority Additional Stats dig の出力例 日付2012年11月17日土曜日
  • 17. ヘッダに注目: status(RCODE) ✤ NOERROR なら正常 ✤ NXDOMAIN なら名前がない ✤ SERVFAIL 応答がないとか、DNSSEC の検証失敗など ✤ REFUSED 問合せが拒否された ✤ FORMERR 形式不正 ✤ その他 NOTIMP とかもたまにみるかも2012年11月17日土曜日
  • 18. ヘッダに注目: flags ✤ aa: authoritative answer ✤ 問い合せているサーバが自前で持っているデータ ✤ tc: truncated ✤ 問合せが分割されている、通常条件を変えて再問合せする ✤ rd: recursion desired ✤ 再帰問合せが求められている ✤ ra: recursion available ✤ 再帰問合せが利用可能 ✤ ad: DNSSEC署名検証に成功した2012年11月17日土曜日
  • 19. dig コマンドラインオプション Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt} {global-d-opt} host [@local-server] {local-d-opt} [ host [@local-server] {local-d-opt} [...]] • d-opt は +keyword 形式 no の有無でトグルするものと、値を=で設定するものがある • d-opt を ~/.digrc に列挙しておくと、規定値が変更できる • +norec のようによく使うオプションを書いておくとよい2012年11月17日土曜日
  • 20. Windows 環境 http://www.isc.org/software/bind2012年11月17日土曜日
  • 21. drill(1) ✤ ldns に含まれる http://www.nlnetlabs.nl/projects/ldns/ ✤ 出力形式は dig(1) とほぼ同じ ✤ 応答パケット工作も ✤ コマンドラインオプションがちょっと違う ✤ たとえば非再帰問合せの場合: drill -o rd example.com @b.gtld-servers.net ns ✤ ~/.digrc のような便利ファイルはない2012年11月17日土曜日
  • 22. dnsq(1), dnsqr(1) ✤ djbdns に含まれる dnsqはこのへんがオシャレ ✤ 再帰問合せ用の dnsqr, 非再帰問合せ用の dnsq2012年11月17日土曜日
  • 23. Agenda ✤ 「DNSサーバ」という言葉について ✤ ツール ✤ キャッシュサーバ ✤ コンテンツサーバ ✤ ポインタ2012年11月17日土曜日
  • 24. 2012年11月17日土曜日
  • 25. キャッシュサーバのすること ✤ ユーザからの問合せに応じて、各種サーバへの問合せを代行する ✤ ユーザは再帰呼び出しを求めて、キャッシュサーバは各サーバに直接(再帰なし) 問合せする ✤ 問い合せた結果をキャッシュしてネットワーク負荷の効率化をはかる ✤ どの情報をどうおぼえるかに注意 ✤ Answer で来たデータ、Authority、Additional... ✤ TTL はリセットするか ✤ &c…2012年11月17日土曜日
  • 26. Agenda ✤ 「DNSサーバ」という言葉について ✤ ツール ✤ キャッシュサーバ ✤ コンテンツサーバ ✤ ポインタ2012年11月17日土曜日
  • 27. 2012年11月17日土曜日
  • 28. コンテンツサーバのすること ✤ 自分の知っているデータしか返さない ✤ 自分の知っているレコード ✤ 自分が移譲先を知っている場合そのネームサーバの名前 ✤ それに付随する付加データ ✤ 再帰問合せを受け付けるべきではない!!2012年11月17日土曜日
  • 29. Agenda ✤ 「DNSサーバ」という言葉について ✤ ツール ✤ キャッシュサーバ ✤ コンテンツサーバ ✤ ポインタ2012年11月17日土曜日
  • 30. Web で読めるもの ✤ RFC?2012年11月17日土曜日
  • 31. RFC 4795 / Informational RFC 6303 / BCP 163 Link-Local Multicast Name Resolution Locally Served DNS Zones RFC 1464 / Experimental RFC 2182 / BCP 16 RFC 3258 / Informational (LLMNR) RFC 2317 / BCP 20 STD Using the Domain Name System To Selection and Operation of Secondary Distributing Authoritative Name RFC 4701 / PS Classless IN-ADDR.ARPA delegation Store Arbitrary String Attributes DNS Servers Servers via Shared Unicast Addresses RFC 4697 / BCP 123 A DNS Resource Record (RR) for 緑 Observed DNS Resolution Encoding Dynamic Host Configuration Misbehavior Protocol (DHCP) Information (DHCID RFC 5001 / PS RR) RFC 6304 / Informational RFC 3172 / BCP 52 DNS Name Server Identifier (NSID) RFC 1535 / Informational AS112 Nameserver Operations RFC 2219 / BCP 17 Management Guidelines & Operational Option A Security Problem and Proposed RFC 2606 / BCP 32 Draft Standard Use of DNS Aliases for Network Requirements for the Address and Correction With Widely Deployed DNS Reserved Top Level DNS Names Services Routing Parameter Area Domain Software 青緑6 ("arpa") RFC 3197 / Informational RFC 4892 / Informational RFC 6305 / Informational RFC 6168 / Informational RFC 5625 / BCP 152 Applicability Statement for DNS MIB Requirements for a Mechanism Im Being Attacked by Requirements for Management of DNS Proxy Implementation Guidelines RFC 1591 / Informational Extensions Identifying a Name Server Instance PRISONER.IANA.ORG! Name Servers for the DNS Proposed Domain Name System Structure and Standard Delegation 明るい青 RFC 2010 / Informational RFC 2870 / BCP 40 Operational Criteria for Root Name Root Name Server Operational Servers Requirements RFC 1794 / Informational BCP DNS Support for Load Balancing マゼンダ RFC 1537 / Informational RFC 1912 / Informational RFC 2672 / PS RFC 6672 / PS Common DNS Data File Configuration Common DNS Operational and Non-Terminal DNS Name Redirection DNAME Redirection in the DNS Informational Errors Configuration Errors 赤3 RFC 3123 / Experimental RFC 6604 / PS RFC 5864 / PS A DNS RR Type for Lists of Address xNAME RCODE and Status Bits DNS SRV Resource Records for AFS Experimental Prefixes (APL RR) Clarification 黄色6 RFC 2052 / Experimental RFC 2782 / PS RFC 4592 / PS RFC 1183 / Experimental A DNS RR for specifying the location A DNS RR for specifying the location The Role of Wildcards in the Domain New DNS RR Definitions RFC 3363 / Informational of services (DNS SRV) of services (DNS SRV) Name System RFC 2673 / Experimental RFC 3901 / BCP 91 RFC 4074 / Informational HISTRIC RFC 1032 DOMAIN ADMINISTRATORS GUIDE IPv6 IPv6 Binary Labels in the Domain Name Representing Internet Protocol version 6 (IPv6) Addresses in the Domain DNS IPv6 Transport Operational Common Misbehavior Against DNS 白 System Guidelines Queries for IPv6 Addresses Name System (DNS) RFC 1348 / Experimental RFC 1637 / Experimental RFC 1706 / Informational DNS NSAP RRs DNS NSAP Resource Records DNS NSAP Resource Records RFC 2874 / HISTRIC RFC 3364 / Informational RFC 1033 RFC 4339 / Informational DNS Extensions to Support IPv6 Tradeoffs in Domain Name System DOMAIN ADMINISTRATORS IPv6 Host Configuration of DNS Server Address Aggregation and (DNS) Support for Internet Protocol OPERATIONS GUIDE Information Approaches Renumbering version 6 (IPv6) RFC 1876 / Experimental A Means for Expressing Location Information in the Domain Name System RFC 1886 / PS RFC 3596 / DS RFC 4472 / Informational DNS Extensions to support IP version DNS Extensions to Support IP Version Operational Considerations and Issues 6 6 with IPv6 DNS RFC 1101 RFC 3152 / BCP 49 DNS Encoding of Network Names and Delegation of IP6.ARPA Other Types RFC 3645 / PS RFC 2845 / PS DNSの基本仕様 DNSの基本仕様 RFC 1982 / PS Secret Key Transaction Authentication Generic Security Service Algorithm for RFC 5936 / PS RFC 3454 / PS IDNA Serial Number Arithmetic for DNS (TSIG) Secret Key Transaction Authentication for DNS (GSS-TSIG) DNS Zone Transfer Protocol (AXFR) Preparation of Internationalized Strings ("stringprep") IDNA RFC 5890 / PS RFC 5893 / PS RFC 2930 / PS RFC 3490 / PS RFC 1995 / PS RFC 4635 / PS Internationalized Domain Names for Right-to-Left Scripts for Secret Key Establishment for DNS Internationalizing Domain Names in Incremental Zone Transfer in DNS HMAC SHA TSIG Algorithm Identifiers Applications (IDNA): Definitions and Internationalized Domain Names for (TKEY RR) Applications (IDNA) Document Framework Applications (IDNA) RFC 5894 / Informational RFC 1996 / PS RFC 2671 / PS RFC 3491 / PS RFC 5891 / PS Internationalized Domain Names for A Mechanism for Prompt Notification of Extension Mechanisms for DNS Nameprep: A Stringprep Profile for Internationalized Domain Names in Applications (IDNA): Background, Zone Changes (DNS NOTIFY) (EDNS0) Internationalized Domain Names (IDN) Applications (IDNA): Protocol Explanation, and Rationale RFC 822 RFC 1034 / STD 13 DOMAIN NAMES - CONCEPTS and DOMAIN NAMES - CONCEPTS AND FACILITIES FACILITIES RFC 3492 / PS RFC 5892 / PS RFC 5895 / Informational RFC 2308 / PS RFC 2929 / BCP 42 RFC 5395 / BCP 42 RFC 6195 / BCP 42 RFC 3425 / PS Punycode: A Bootstring encoding of The Unicode Code Points and Mapping Characters for Negative Caching of DNS Queries Domain Name System (DNS) IANA Domain Name System (DNS) IANA Domain Name System (DNS) IANA Obsoleting IQUERY Unicode for Internationalized Domain Internationalized Domain Names for Internationalized Domain Names in (DNS NCACHE) Considerations Considerations Considerations Names in Applications (IDNA) Applications (IDNA) Applications (IDNA) 2008 RFC 823 RFC 1035 / STD 13 DOMAIN NAMES - DOMAIN NAMES - IMPLEMENTATION and IMPLEMENTATION AND SPECIFICATION SPECIFICATION RFC 3597 / PS RFC 5966 / PS Handling of Unknown DNS Resource DNS Transport over TCP - Record (RR) Types Implementation Requirements RFC 973 RFC 1123 / STD 3 RFC 6394 / Informational RFC 2181 / PS RFC 4025 / PS Domain System Changes and Requirements for Internet Hosts -- Use Cases and Requirements for Clarifications to the DNS Specification A Method for Storing IPsec Keying Observations SPECIFICATION Application and Support RFC 5452 / PS DNS-Based Authentication of Named Material in DNS Measures for Making DNS More Entities (DANE) Resilient against Forged Answers RFC 6698 / PS RFC 5358 / BCP 140 The DNS-Based Authentication of RFC 2136 / PS RFC 4343 / PS Preventing Use of Recursive Named Entities (DANE) Transport Dynamic Updates in the Domain Name Domain Name System (DNS) Case Nameservers in Reflector Attacks Layer Security (TLS) Protocol: TLSA System (DNS UPDATE) Insensitivity Clarification RFC 3226 / PS RFC 4310 / PS RFC 5910 / PS RFC 2137 / PS RFC 3007 / PS DNSSEC and IPv6 A6 aware Domain Name System (DNS) Security Domain Name System (DNS) Security Secure Domain Name System Secure Domain Name System (DNS) server/resolver message size Extensions Mapping for the Extensible Extensions Mapping for the Extensible Dynamic Update Dynamic Update requirements Provisioning Protocol (EPP) Provisioning Protocol (EPP) RFC 4509 / PS RFC 2931 / PS RFC 3225 / PS RFC 4033 / PS RFC 6014 / PS Use of SHA-256 in DNSSEC DNS Request and Transaction Indicating Resolver Support of DNS Security Introduction and Cryptographic Algorithm Identifier Delegation Signer (DS) Resource Signatures ( SIG(0)s ) DNSSEC Requirements Allocation for DNSSEC Records (RRs) RFC 5702 / PS RFC 2065 / PS RFC 2535 / PS RFC 4034 / PS RFC 4470 / PS Use of SHA-2 Algorithms with RSA in Domain Name System Security Domain Name System Security Resource Records for the DNS Minimally Covering NSEC Records DNSKEY and RRSIG Resource Extensions Extensions Security Extensions and DNSSEC On-line Signing Records for DNSSEC RFC 3658 / PS Delegation Signer (DS) Resource Record (RR) RFC 5933 / PS RFC 2536 / PS RFC 3008 / PS RFC 3755 / PS RFC 4035 / PS RFC 4471 / Experimental Use of GOST Signature Algorithms in DSA KEYs and SIGs in the Domain Domain Name System Security Legacy Resolver Compatibility for Protocol Modifications for the DNS Derivation of DNS Name Predecessor DNSKEY and RRSIG Resource Name System (DNS) (DNSSEC) Signing Authority Delegation Signer (DS) Security Extensions and Successor RFC 3655 / PS RFC 3845 / PS Records for DNSSEC Redefinition of DNS Authenticated DNS Security (DNSSEC) NextSECure Data (AD) bit (NSEC) RDATA Format RFC 3757 / PS RFC 2537 / PS RFC 3090 / PS RFC 5155 / PS RFC 6605 / PS Domain Name System KEY (DNSKEY) RSA/MD5 KEYs and SIGs in the DNS Security Extension Clarification DNS Security (DNSSEC) Hashed Elliptic Curve Digital Signature Resource Record (RR) Secure Entry Domain Name System (DNS) on Zone Status Authenticated Denial of Existence Algorithm (DSA) for DNSSEC RFC 3445 / PS Point (SEP) Flag Limiting the Scope of the KEY Resource Record (RR) RFC 2538 / PS RFC 4398 / PS RFC 4431 / Informational Storing Certificates in the Domain Storing Certificates in the Domain The DNSSEC Lookaside Validation Name System (DNS) Name System (DNS) (DLV) DNS Resource Record RFC 2539 / PS RFC 3110 / PS RFC 3833 / Informational RFC 4955 / PS RFC 5074 / Informational Storage of Diffie-Hellman Keys in the RSA/SHA-1 SIGs and RSA KEYs in Threat Analysis of the Domain Name DNS Security (DNSSEC) Experiments DNSSEC Lookaside Validation (DLV) Domain Name System (DNS) the Domain Name System (DNS) System (DNS) RFC 2540 / Experimental RFC 3130 / Informational RFC 4986 / Informational RFC 4956 / Experimental Detached Domain Name System Notes from the State-Of-The- Requirements Related to DNS Security DNS Security (DNSSEC) Opt-In (DNS) Information Technology: DNSSEC (DNSSEC) Trust Anchor Rollover DNSSEC DNSSEC RFC 2541 / Informational RFC 5011 / PS RFC 4641 / Informational DNS Security Operational Automated Updates of DNS Security DNSSEC Operational Practices Considerations (DNSSEC) Trust Anchors RFC 列挙(ttkzwさん)2012年11月17日土曜日
  • 32. RFC ✤ 多い ✤ 整理されてない(ように見える) ✤ 片っ端から読むのは(きっと)効率悪い ✤ http://tools.ietf.org/html/rfc1035 から2012年11月17日土曜日
  • 33. Web で読めるもの ✤ RFC? ✤ http://cr.yp.to/djbdns.html ✤ djbdns に限らない記述が参考になる ✤ 日本語訳(+!)が http://djbdns.qmail.jp に ✤ https://moin.qmail.jp/DNS/ ✤ 東工大の前野さんのMoinMoin(wiki) ✤ 第2.7種オレオレ証明書 ✤ アカウント作って飛び込んでいったら色々教えてもらえる(伝聞)2012年11月17日土曜日
  • 34. DNS の参考書 ✤ 1冊で済む便利な本は知りません ✤ ASCII から出ている 「実践DNS」は副読本に いいかも ✤ http://ascii.asciimw.jp/books/ books/detail/978-4-04-870073-3.shtml2012年11月17日土曜日
  • 35. まとめ ✤ キャッシュサーバとコンテンツサーバは分けよう ✤ dig を使おう ✤ キャッシュサーバとコンテンツサーバは分けよう2012年11月17日土曜日

×