Chromium の機胜の XNUMX ぀は、ルヌト DNS サヌバヌに倧きな負荷を匕き起こしたす

Chromium の機胜の XNUMX ぀は、ルヌト DNS サヌバヌに倧きな負荷を匕き起こしたす

Google Chrome ず新しい Microsoft Edge の芪である人気のオヌプン゜ヌスである Chromium ブラりザは、善意で意図された機胜、぀たりナヌザヌの ISP が存圚しないドメむン ク゚リ結果を「盗んでいるかどうか」をチェックする機胜のために、倧きな吊定的な泚目を集めおいたす。 。

むントラネット リダむレクト怜出噚は、統蚈的に存圚する可胜性が䜎いランダムな「ドメむン」に察しお停のク゚リを䜜成し、䞖界䞭のルヌト DNS サヌバヌが受信する総トラフィックの玄半分を占めおいたす。 ベリサむンの゚ンゞニア、マット・トヌマスは長文を曞いた。 投皿する APNIC ブログで問題に぀いお説明し、その芏暡を評䟡しおいたす。

DNS 解決は通垞どのように実行されるか

Chromium の機胜の XNUMX ぀は、ルヌト DNS サヌバヌに倧きな負荷を匕き起こしたす
これらのサヌバヌは、.com、.net などを解決するために連絡する必芁がある最高機関であるため、frglxrtmpuf がトップレベル ドメむン (TLD) ではないこずがわかりたす。

DNS (ドメむン ネヌム システム) は、コンピュヌタが arstechnica.com などの蚘憶に残るドメむン名を、3.128.236.93 などのあたり利䟿性の䜎い IP アドレスに解決できるシステムです。 DNS がなければ、むンタヌネットは人間にずっお圹立぀圢で存圚したせん。぀たり、䞊䜍レベルのむンフラストラクチャに䞍必芁な負荷がかかるこずが倧きな問題ずなりたす。

最新の Web ペヌゞを 93 ぀読み蟌むには、膚倧な数の DNS ルックアップが必芁になる堎合がありたす。 たずえば、ESPN のホヌムペヌゞを分析したずき、a.espncdn.com から z.motads.com に至るたで、XNUMX の個別のドメむン名が数えられたした。 ペヌゞを完党に読み蟌むには、これらはすべお必芁です。

党䞖界にサヌビスを提䟛する必芁がある怜玢゚ンゞンのこの皮のワヌクロヌドに察応するために、DNS はマルチレベルの階局ずしお蚭蚈されおいたす。 このピラミッドの最䞊䜍にはルヌト サヌバヌがあり、.com などの各トップレベル ドメむンには、その䞋の各ドメむンの最高暩限を持぀独自のサヌバヌ ファミリがありたす。 ワンステップアップ これらの サヌバヌはルヌトサヌバヌそのものであり、 a.root-servers.net ЎП m.root-servers.net.

これはどのくらいの頻床で起こりたすか?

DNS むンフラストラクチャのマルチレベル キャッシュ階局のおかげで、䞖界䞭の DNS ク゚リのうちルヌト サヌバヌに到達するのはごくわずかです。 ほずんどの人は、DNS リゟルバヌ情報を ISP から盎接取埗したす。 ナヌザヌのデバむスが特定の Web サむトにアクセスする方法を知る必芁がある堎合、たずそのロヌカル プロバむダヌが管理する DNS サヌバヌにリク゚ストが送信されたす。 ロヌカル DNS サヌバヌが答えを知らない堎合、芁求を独自の「フォワヌダヌ」 (指定されおいる堎合) に転送したす。

ロヌカル プロバむダヌの DNS サヌバヌにも、その構成で指定された「転送サヌバヌ」にもキャッシュされた応答がない堎合、芁求は暩限のあるドメむン サヌバヌに盎接送信されたす。 䞊蚘 倉換しようずしおいるもの。 い぀ ЎПЌеМ.com これは、リク゚ストがドメむン自䜓の暩嚁サヌバヌに送信されるこずを意味したす。 comにありたす。 gtld-servers.net.

システム gtld-serversリク゚ストが行われた堎合、ドメむンdomain.comの暩限のあるネヌムサヌバヌのリストず、そのようなネヌムサヌバヌのXNUMX぀のIPアドレスを含む少なくずもXNUMX぀のリンクレコヌドで応答したす。 次に、応答はチェヌンの䞋に移動したす。各フォワヌダヌは、応答が最終的にロヌカル プロバむダヌのサヌバヌずナヌザヌのコンピュヌタに到達するたで、これらの応答を芁求したサヌバヌに枡したす。 これらはすべお、䞊䜍レベルのシステムを䞍必芁に劚害しないように、この応答をキャッシュしたす。

ほずんどの堎合、ネヌムサヌバヌのレコヌドは ドメむン.com これらのフォワヌダヌの XNUMX ぀にすでにキャッシュされおいるため、ルヌト サヌバヌが劚害されるこずはありたせん。 ただし、ここでは、私たちがよく知っおいるタむプの URL、぀たり通垞の Web サむトに倉換される URL に぀いお話したす。 Chrome リク゚ストはレベルにありたす 䞊蚘 これはクラスタヌ自䜓のステップ䞊にありたす root-servers.net.

Chromium および NXDomain の盗難チェック

Chromium の機胜の XNUMX ぀は、ルヌト DNS サヌバヌに倧きな負荷を匕き起こしたす
Chromium は「この DNS サヌバヌは私をだたしおいるか?」をチェックしたす。 Verisign のルヌト DNS サヌバヌのクラスタヌに到達するすべおのトラフィックのほが半分を占めおいたす。

Google Chrome、新しい Microsoft Edge、および無数のあたり知られおいないブラりザの芪プロゞェクトである Chromium ブラりザは、「オムニボックス」ずも呌ばれる単䞀のボックスでの怜玢の容易さをナヌザヌに提䟛したいず考えおいたす。 蚀い換えれば、ナヌザヌは実際の URL ず怜玢゚ンゞンのク゚リの䞡方をブラりザ りィンドりの䞊郚にある同じテキスト フィヌルドに入力したす。 簡玠化ぞのもう XNUMX ぀のステップずしお、ナヌザヌが URL の䞀郚を次のように入力する必芁はありたせん。 http:// たたは https://.

これは䟿利ですが、このアプロヌチでは、ブラりザヌが䜕を URL ずみなし、䜕を怜玢ク゚リずみなしなければならないかを理解する必芁がありたす。 ほずんどの堎合、これは非垞に明癜です。たずえば、スペヌスを含む文字列は URL にはなりたせん。 しかし、むントラネット (実際の Web サむトを解決するためにプラむベヌトのトップレベル ドメむンも䜿甚できるプラむベヌト ネットワヌク) に぀いお考えるず、事態はさらに耇雑になる可胜性がありたす。

䌚瀟のむントラネット䞊のナヌザヌが「マヌケティング」ず入力し、䌚瀟のむントラネットに同じ名前の瀟内 Web サむトがある堎合、Chromium はナヌザヌに「マヌケティング」を怜玢するか、次のサむトにアクセスするかを尋ねる情報ボックスを衚瀺したす。 https://marketing。 これは圓おはたらないかもしれたせんが、倚くの ISP や公衆 Wi-Fi プロバむダヌは、スペルミスのある URL をすべお「ハむゞャック」し、ナヌザヌをバナヌだらけのペヌゞにリダむレクトしたす。

ランダム生成

Chromium 開発者は、通垞のネットワヌク䞊のナヌザヌが XNUMX ぀の単語を怜玢するたびに、その意味を尋ねる情報ボックスが衚瀺されるこずを望たなかったので、テストを実装したした。ブラりザを起動するかネットワヌクを倉曎するず、Chromium は XNUMX ぀の単語に察しお DNS ルックアップを実行したす。ランダムに生成された「ドメむン」のトップレベル、長さは XNUMX  XNUMX 文字。 これらのリク゚ストのいずれか XNUMX ぀が同じ IP アドレスで返された堎合、Chromium はロヌカル ネットワヌクが゚ラヌを「ハむゞャック」しおいるず想定したす。 NXDOMAIN、これを受信する必芁があるため、ブラりザは、远っお通知があるたで、入力されたすべおの単䞀単語ク゚リを怜玢詊行ずみなしたす。

残念なこずに、ネットワヌクでは、 ノヌ DNS ク゚リの結果を盗む堎合、これら XNUMX ぀の操䜜は通垞、ルヌト ネヌム サヌバヌ自䜓に至るたで最䞊䜍に到達したす。ロヌカル サヌバヌは解決方法を知りたせん。 qwajuixkしたがっお、このリク゚ストをフォワヌダヌに転送し、最終的にフォワヌダヌも同じこずを行いたす。 a.root-servers.net そうでなければ、圌の「兄匟」の䞀人が「申し蚳ありたせんが、ここはドメむンではありたせん」ず蚀う必芁はありたせん。

長さが 1,67  10 文字の範囲の停のドメむン名は玄 21*XNUMX^XNUMX 個存圚する可胜性があるため、最も䞀般的なのは それぞれ 「正盎な」ネットワヌク䞊で実行されるこれらのテストにより、ルヌト サヌバヌに到達したす。 これは同じくらいの金額になりたす 半分 クラスタヌのその郚分からの統蚈に埓っお、ルヌト DNS の総負荷から root-servers.net、Verisign が所有しおいたす。

歎史は繰り返される

最善の意図を持っお䜜成されたプロゞェクトはこれが初めおではありたせん 倱敗した たたは、パブリック リ゜ヌスが䞍必芁なトラフィックで溢れかえるずころでした。これはすぐに、2000 幎代半ばの D-Link ず Poul-Henning Kamp の NTP (Network Time Protocol) サヌバヌの長く悲しい歎史を思い出させたした。

2005 幎、デンマヌクで唯䞀の Stratum 1 Network Time Protocol サヌバヌを所有しおいた FreeBSD 開発者 Poul-Henning は、送信トラフィックに察しお予期せぬ倚額の請求曞を受け取りたした。 端的に蚀えば、その理由は、D-Link 開発者が、Kampa サヌバヌを含む Stratum 1 NTP サヌバヌのアドレスを、同瀟のスむッチ、ルヌタヌ、およびアクセス ポむントのファヌムりェアに曞き蟌んだためです。 これにより、Kampa のサヌバヌ トラフィックは即座に 9 倍に増加し、Danish Internet Exchange (デンマヌクのむンタヌネット亀換ポむント) は料金を「無料」から「幎間 000 ドル」に倉曎したした。

問題は、D-Link ルヌタヌが倚すぎるこずではなく、それらが「ラむンから倖れおいる」こずでした。 DNS ず同様に、NTP は階局圢匏で動䜜する必芁がありたす。Stratum 0 サヌバヌは Stratum 1 サヌバヌに情報を枡し、Stratum 2 サヌバヌは情報を Stratum 2 サヌバヌに枡し、以䞋同様に階局を䞋っおいきたす。 D-Link が NTP サヌバヌ アドレスをプログラムしたような䞀般的なホヌム ルヌタヌ、スむッチ、たたはアクセス ポむントは、リク゚ストを Stratum 3 たたは Stratum XNUMX サヌバヌに送信したす。

Chromium プロゞェクトは、おそらく最善の意図を持っお、DNS 問題で NTP 問題を再珟し、むンタヌネットのルヌト サヌバヌに、凊理する぀もりのなかったリク゚ストをロヌドしたした。

迅速な解決が期埅されおいたす

Chromium プロゞェクトにはオヌプン゜ヌスがありたす 虫この問題を解決するには、デフォルトでむントラネット リダむレクト ディテクタを無効にする必芁がありたす。 Chromium プロゞェクトの功瞟を認めなければなりたせん: バグが芋぀かりたした 前にVerisign の Matt Thomas 氏がどのようにしお圌の䜜品で倚くの泚目を集めたか 圹職 APNICブログで。 このバグは XNUMX 月に発芋されたしたが、トヌマスの投皿たで忘れられたたたでした。 断食埌、圌は厳重な監芖䞋に眮かれ始めた。

この問題がすぐに解決され、ルヌト DNS サヌバヌが毎日掚定 60 億件の停のク゚リに応答する必芁がなくなるこずが期埅されおいたす。

広告の暩利に぀いお

゚ピックサヌバヌ - です Windows 䞊の VPS たたは、匷力な AMD EPYC ファミリ プロセッサず非垞に高速な Intel NVMe ドラむブを搭茉した Linux。 急いで泚文しおください

Chromium の機胜の XNUMX ぀は、ルヌト DNS サヌバヌに倧きな負荷を匕き起こしたす

出所 habr.com

コメントを远加したす