## page was renamed from DNS/実装/リゾルバー/Deadwood/google ## page was renamed from DNS/リゾルバー実装/Deadwood/google ## page was renamed from DNS/キャッシュサーバ/実装/Deadwood/google ## page was renamed from DNS/キャッシュサーバ/Deadwood/google ## page was renamed from DNS/Deadwood/google ## page was renamed from DNS/deadwood/googleS/Deadwood/googleについて、ここに記述してください。 == DNS/キャッシュサーバ/Deadwood 動作 == [[DNS/キャッシュサーバ/Deadwood]] http://maradns.samiam.org/deadwood/doc/Recursive-algorithm.html の Google 翻訳 . 少しづつ、手を入れていきます。-- ToshinoriMaeno <> CNAMEについては特別なことをしているとは書いてないので、のんびりやります。 == 概要 == 名前解決のためにDeadwoodは他の多くのDNSサーバーとは異なる 独自の方法を使用しており、多くのDNSスプーフィング攻撃に耐性がある。 より複雑でときに少し遅いが、より安全になることで十分補償される。 ここの情報はDNSの知識を前提としているので、それらは以下に簡単にまとめておく。 == DNSの仕組み == DNSサーバからの返答には複数のDNS answerが含まれています。 DNS 問い合わせ(query)に対する答である answer section をひとつ含んでいる。 例: www.example.com [1] のA レコード(IPv4のIPアドレス)を問い合わせた場合、 . "www.example.com のA レコードは IP 10.1.2.3です"のような答を得る [2][3]。 DNS返答には複数のDNSレコードを含めることができる。それらは、以下のみっつのsection の どれか含まれている。 ---- 1. DNS query に答えている返答節(answer section) 1. ネームサーバ紹介用の権威節(authority section) 1. 関連するDNSレコード付加節(additional section); glue など 以下は先の "www.example.com"を問い合わせたときに得られる典型的な回答例です。 (訳注; これら以外の扱いは記述されていない。) A direct answer to their question in the answer section, such as "www.example.com has the IP 10.1.2.3" What I call an "incomplete CNAME answer";   this is an answer like "www.example.com has the CNAME www.example.net".  CNAME is a DNS record used for aliases;   if, say, www.example.com has the CNAME www.example.net, this means that www.example.com's IP is whatever www.example.net's IP is. What I call an "incomplete NS referral"; this is an answer which has no records in the answer section, but has referrals to other DNS name servers in the "authority records" section, and, ideally, IPs for those name servers in the "additional records" section. What is sometimes called a "NXDOMAIN" answer. This is an answer which means "this name does not exist". Its format is no records in the answer section, and a record type called a "SOA" record in the "authority records" section. Note that NS referrals are done by name, not IP. DNS gives out a name like "www.example.net" for an answer instead of an IP like "10.4.2.1". [4] A DNS answer may, or may not, have the IPs for the NS referrals in the "additional records" section of the answer. If if does have the corresponding IPs for the NS records, it is called a "glued NS referral". If it does not have the corresponding IPs, it is a "glueless NS referral". ---- NS紹介は名前であり、IPアドレスではないことに注意。 DNSは "10.4.2.1" のような IPアドレスではなく、 "www.example.net"のような名前を返します。 [ 4 ] DNS返答はNS紹介に付随するIPアドレスを付加節にもつかもしれません。 もしNSレコードのIPアドレスを持つ場合、それは "グルーつきNS紹介"と呼ばれます。 IPアドレスを持たない場合、それは "グルーレスNS紹介"です。 (訳注;この部分のグルーの説明は広すぎて、あいまいと言える) == Deadwood の名前解決法 == A simplified version of the method Deadwood uses to resolve a domain via recursion is as follows: 1. Deadwood gets a request to resolve a given domain from a stub resolver 1. Deadwood requests a domain from a root server. 1. Deadwood gets an answer from that server. 1. Deadwood looks at the answer. 1. There are three types of answers Deadwood can get: 1. A complete answer that answers the DNS question. 1. An incomplete NS referral, which can either have glue or be glueless. 1. An incomplete CNAME referral 1. If the answer is a complete answer, Deadwood sends the answer back to the stub resolver. 1. If the answer is an incomplete answer, Deadwood must send more queries to get a complete answer. . I will detail this process below. (訳注) "complete answer" とあるものが、なにを示すかは推測しかできない。  "incomplete CNAME referral" という表現は初めてみた。  complete CNAME というものが存在するのか。存在しそうだ。  それは "to get a complete answer" ということからも推測できる。 == Deadwoodブラインドスプーフィング攻撃を停止する方法を == Deadwoodの再帰リゾルバは、以下の理念に書かれています: 名前の解決中Deadwoodがキャッシュに配置することを唯一の答えは不完全NSの紹介へのポインタ、またはもともとDeadwoodに与えられた質問への直接の答えのいずれかです。 誰かが "www.paypal.comのIPとは何か "Deadwoodを要求され​​た場合www.paypal.comを解決しながら、 例えば、Deadwoodだけキャッシュに次のレコードを追加します: そうしないとネームサーバを持っていない "。com"を終了何のためのネームサーバのIPアドレス。 これらのIPは唯一のルートサーバーのIPアドレス(どちらかの組み込みのDeadwoodにまたはものdwood3rcファイルで指定されているデフォルトICANNルートサーバーである)によって設定することができます。 . "paypal.com"で終わる何のためのネームサーバのIPアドレスは "。com"のネームサーバとして、ルートサーバーによって委任ルートネームサーバやネームサーバのいずれかの方法で追加することができます。 他のサーバは "paypal.com"に名前を割り当てることができません。 ネームサーバーの委任を求めたドメインの一部でなければなりません。 誰かが "ランダム名-00000001.com"を要求した場合、任意の答えのみ影響しますが、受信した "。com"は(彼らは、ルートサーバから来る場合)または "ランダム名-00000001.com"(しかし、彼らはから来た場合にのみ。comサーバー)。 でdwx_string_bailiwick_query()を参照してくださいDwRecurse.c "www.paypal.com"のIP。 ネームサーバが指定されたドメインの使用するかについての情報は、 "example.com"と言うだけで次の二つのいずれかのソースから来ることができる: . ルートネームサーバ 機能するために指定のネームサーバー "。com"ドメイン。 example.com自身のネームサーバによって与えられた情報は、 "example.com"で終わる名前に影響を与え、 彼らはexample.comの[ネームサーバには影響しません5 ]を。 == 不完全返答の取り扱い == Deadwood does not store name server referrals as NS records nor incomplete CNAME referrals as CNAME records. Deadwood uses special records for storing these incomplete records. Deadwoodはこれらの不完全レコードを格納するための特別レコードを使用します。 In the case of either a glueness NS referral or an incomplete CNAME answer, Deadwood will create a sub-query to answer the query in question. This query is a new query that starts at the root to resolve a given name. ---- glueness(glueless ?)NS参照や不完全CNAME返答の場合には Deadwoodは当該照会の返答用にサブクエリを作成します。 このクエリではあらたにルートから必要な名前解決を行います。 == キャッシュするためにどのような選択 == 他のDNSリゾルバとは違って、Deadwoodは無差別に"得意分野で"答えがある場合でも、 DNS応答の追加レコードのセクションで見られているキャッシュにレコードを追加しません。 これには、誰かが試してみて、 "0000002.paypal.com" "0000001.paypal.com"のようなクエリを送信することにより、 フィッシングページを指すように "www.paypal.com"を得ることができます Kaminsky氏のDNS攻撃からDeadwoodを保護し、 受け入れられているの非常に小さなチャンスがある偽装された答えと一緒に。 クエリに偽装された答えは、追加レコードのセクションで、DNSレコード "www.paypal.comは、IP 10.6.6.6を持っている"と、 フィッシング詐欺ページに "10.6.6.6"指しています。 誰かがDeadwoodでこの攻撃をしようとした場合、 成功したパロディーは、唯一の "62f8ec94.paypal.com"のような無意味な記録に影響します。 == IPアドレスへのリンクの名前 == 不完全NSの紹介を取得するとき無差別に "追加レコード"セクションで、 Deadwoodにレコードを格納する必要が回避するために、 典拠レコードのセクション内の名前のいずれかが追加で名に対応するIPアドレスを持っているかどうかを見ていきます レコードのセクション。 彼らが行う場合には、名前がIPア​​ドレスなどのDeadwoodのキャッシュに変換され、保存されていると述べた。 そうでない場合、それらはグルーレス名として格納されている。 例えば、私たちはwww.example.comを求めるとき、我々はこのような答えを持っていると仮定しましょう​​: . 権威セクション:example.comのネームサーバがns1.example.comです 権威セクション:example.comのネームサーバがns2.example.comです 権威セクション:example.comのネームサーバがns.example.netです 追加セクション:ns1.example.comは、IP 10.2.2.1を持つ 追加セクション:ns2.example.comは、IP 10.2.2.2を持つ Deadwoodはこのように見えるようにこの答えを変換します。 . このレコードには、example.comのネームサーバが含まれています 10.2.2.1は、接着ネームサーバーです 10.2.2.2は、接着ネームサーバーです ns.example.netはグルーレスネームサーバーです でdwx_make_ns_refer()を参照DwRecurse.cの詳細について。 == 結論 == より複雑なものの、Deadwoodの再帰アルゴリズムは、DNSSECの短い、最高のDNSスプーフィング保護を提供します。 == 脚注 == [1] "example.com"がいつも例に使用されており、例はDNSの文書に必要なときに予約されていることに注意してください。 example.netとexample.orgは、他の例では、ドメインです。 [2]これらは、現実世界の数値ではありません。 "10"で始まるIPv4のIP番号は、内部ネットワークで使用されており、インターネットから大に到達することはできません。 [3] DNSクエリの形式は若干異なります、私は英語にそれらを翻訳しています。 それは英語にスペイン語から会話を翻訳するようなものだ。 バイナリ形式はで説明されてRFC 1035 。 [4]私は同意するDJB 名の代わりにIPによって行わNS紹介を持つことはDNSの設計ミスであったこと。 [5] example.comのネームサーバ他のネームサーバへサブデリゲートドメイン名をすることもできます。 例えば、example.comのネームサーバは "'sub.example.com'で終わるが 10.3.2.1でネームサーバによって処理されているすべての名前"と言うことができます