PowerDNS Recursor 4.2 および DNS Flag Day 2020 むニシアチブのリリヌス

XNUMX幎半の開発期間を経お 提瀺された キャッシュDNSサヌバヌのリリヌス PowerDNSリ゜ヌス4.2、再垰的な名前倉換を担圓したす。 PowerDNS Recursor は PowerDNS Authoritative Server ず同じコヌド ベヌスに構築されおいたすが、PowerDNS 再垰サヌバヌず暩嚁 DNS サヌバヌは異なる開発サむクルで開発され、別の補品ずしおリリヌスされたす。 プロゞェクトコヌド によっお配垃 GPLv2に基づいおラむセンスされおいたす。

新しいバヌゞョンでは、EDNS フラグを持぀ DNS パケットの凊理に関連するすべおの問題が解消されたす。 2016 幎より前の叀いバヌゞョンの PowerDNS Recursor では、サポヌトされおいない EDNS フラグを持぀パケットを叀い圢匏で応答を送信せずに無芖し、仕様の芁求に埓っお EDNS フラグを砎棄するずいう慣行がありたした。以前は、この非暙準の動䜜は回避策の圢で BIND でサポヌトされおいたしたが、その範囲内でした。 実斜した XNUMX月の取り組み DNS フラッグデヌ, DNSサヌバヌ開発者はこのハッキングを攟棄するこずを決定したした。

PowerDNS では、EDNS でパケットを凊理する際の䞻な問題は 2017 幎のリリヌス 4.1 で解消され、2016 幎にリリヌスされた 4.0 ブランチでは、特定の状況䞋で発生する個別の非互換性が衚面化したしたが、䞀般的には通垞の動䜜には干枉したせん。手術。 PowerDNS Recursor 4.2 では、次のように バむンド9.14, EDNS フラグを持぀リク゚ストに誀っお応答する暩嚁サヌバヌをサポヌトするための回避策を削陀したした。これたでは、EDNS フラグを䜿甚しおリク゚ストを送信した埌、䞀定時間が経過しおも応答がなかった堎合、DNS サヌバヌは拡匵フラグがサポヌトされおいないず刀断し、EDNS フラグを䜿甚せずに XNUMX 番目のリク゚ストを送信しおいたした。このコヌドにより、パケットの再送信による遅延の増加、ネットワヌク障害による応答がないずきのネットワヌク負荷ずあいたいさの増加、DDoS 攻撃から保護するための DNS Cookie などの EDNS ベヌスの機胜の実装が劚げられるため、この動䜜は珟圚無効になっおいたす。

来幎も開催が決定したした 2020 幎 DNS フラッグデヌ泚意を集䞭させるように蚭蚈されおいたす 決定 прПблеЌ 倧きな DNS メッセヌゞを凊理するずきに IP 断片化が発生したす。取り組みの䞀環ずしお 蚈画䞭 EDNS の掚奚バッファ サむズを 1200 バむトに修正し、 翻蚳する TCP 経由のリク゚ストの凊理はサヌバヌに必須の機胜です。珟圚、UDP 経由のリク゚スト凊理のサポヌトが必芁であり、TCP が望たしいですが、動䜜には必須ではありたせん (暙準では TCP を無効にする機胜が必芁です)。暙準から TCP を無効にするオプションを削陀し、確立された EDNS バッファ サむズが十分ではない堎合に、UDP 経由でのリク゚ストの送信から TCP の䜿甚ぞの移行を暙準化するこずが提案されおいたす。

この取り組みの䞀環ずしお提案されおいる倉曎により、EDNS バッファ サむズの遞択に関する混乱が解消され、倧きな UDP メッセヌゞの断片化の問題が解決されたす。この問題の凊理により、クラむアント偎でパケット損倱やタむムアりトが発生するこずがよくありたす。クラむアント偎では、EDNS バッファ サむズは䞀定ずなり、倧きな応答は TCP 経由でクラむアントに即座に送信されたす。 UDP 経由で倧きなメッセヌゞを送信しないようにするず、ブロックするこずもできたす。 攻撃 フラグメント化された UDP パケットの操䜜に基づいお、DNS キャッシュをポむズニングしたす (フラグメントに分割するず、XNUMX 番目のフラグメントには識別子を含むヘッダヌが含たれないため、停造できたす。チェックサムが䞀臎するだけで十分です)。 。

PowerDNS Recursor 4.2 では、倧きな UDP パケットに関する問題が考慮され、以前䜿甚されおいた 1232 バむトの制限ではなく、1680 バむトの EDNS バッファ サむズ (edns-outcoming-bufsize) の䜿甚に切り替わりたす。これにより、UDP パケットが倱われる可胜性が倧幅に枛少したす。 。倀 1232 が遞択されたのは、IPv6 を考慮した DNS 応答のサむズが最小 MTU 倀 (1280) に収たる最倧倀であるためです。クラむアントぞの応答をトリミングする圹割を担う truncation-threshold パラメヌタの倀も 1232 に枛らされたした。

PowerDNS Recursor 4.2 のその他の倉曎点:

  • 远加されたメカニズムのサポヌト XPF (X-Proxied-For)、X-Forwarded-For HTTP ヘッダヌに盞圓する DNS であり、元のリク゚スタの IP アドレスずポヌト番号に関する情報を䞭間プロキシずロヌド バランサ (dnsdist など) 経由で転送できるようにしたす。 。 XPF を有効にするには、次のオプションがありたす。xpf-蚱可-から"そしお"xpf-rr-コヌド";
  • EDNS 拡匵機胜のサポヌトの改善 クラむアントサブネット (ECS)。チェヌンに沿っお送信された最初のリク゚ストの送信元のサブネットに関する情報を、DNS ク゚リで暩嚁 DNS サヌバヌに送信できたす (クラむアントの゜ヌス サブネットに関するデヌタは、コンテンツ配信ネットワヌクの効果的な運甚に必芁です)。 。新しいリリヌスでは、EDNS クラむアント サブネットの䜿甚を遞択的に制埡するための蚭定が远加されおいたす。ecs-远加甚» 発信リク゚ストで ECS で䜿甚される IP のネットワヌク マスクのリスト。指定されたマスクの範囲内に収たらないアドレスの堎合は、ディレクティブで指定された䞀般的なアドレスが䜿甚されたす。ecs-scope-zero-address」。指什を通じお「受信ednsサブネットを䜿甚する» ECS 倀が入力された受信リク゚ストが眮き換えられないサブネットを定矩できたす。
  • 100 秒あたりに倧量のリク゚スト (XNUMX 䞇以䞊) を凊理するサヌバヌの堎合、ディレクティブ「ディストリビュヌタスレッド" は、受信リク゚ストを受信し、それらをワヌカヌ スレッド間で分散するためのスレッドの数を決定したす ("pdns-distributes-queries=yes«。
  • 远加された蚭定 パブリックサフィックスリストファむル 独自のファむルを定矩するには パブリックサフィックスのリスト PowerDNS Recursor に組み蟌たれたリストの代わりに、ナヌザヌが自分のサブドメむンを登録できるドメむン。

PowerDNS プロゞェクトは、4.3 か月の開発サむクルぞの移行も発衚し、PowerDNS Recursor 2020 の次のメゞャヌ リリヌスは 4.2 幎 2021 月に予定されおいたす。重芁なリリヌスのアップデヌトは幎間を通しお開発され、その埌、脆匱性修正はさらに 4.2 か月間リリヌスされたす。したがっお、PowerDNS Recursor XNUMX ブランチのサポヌトは XNUMX 幎 XNUMX 月たで続きたす。 PowerDNS Authoritative Server にも同様の開発サむクルの倉曎が加えられおおり、近い将来 XNUMX がリリヌスされる予定です。

PowerDNS Recursor の䞻な機胜:

  • リモヌト統蚈収集甚ツヌル。
  • 即時再起動。
  • Lua 蚀語でハンドラヌを接続するための組み蟌み゚ンゞン。
  • DNSSEC の完党なサポヌトず DNS64;
  • RPZ (レスポンス ポリシヌ ゟヌン) のサポヌトずブラックリストを定矩する機胜。
  • スプヌフィング防止メカニズム。
  • 解決結果を BIND ゟヌン ファむルずしお蚘録する機胜。
  • 高いパフォヌマンスを確保するために、FreeBSD、Linux、Solaris では最新の接続倚重化メカニズム (kqueue、epoll、/dev/poll) が䜿甚されおおり、たた、数䞇のリク゚ストを䞊行しお凊理できる高性胜 DNS パケット パヌサヌも䜿甚されおいたす。

出所 オヌプンネット.ru

コメントを远加したす