DNSとは何か、どのように機能するのか?
ドメインネームシステム(DNS)は、インターネットの基盤の1つですが、ネットワーク関係者以外のほとんどの人は、仕事をしたり、メールをチェックしたり、スマートフォンで時間を過ごしたりするために、毎日DNSを使用していることに気づいていないでしょう。
DNSは、最も基本的には、数字と一致する名前のディレクトリです。 この場合の数字とは、コンピュータがお互いに通信するために使用するIPアドレスのことです。
もしあなたが30歳以下なら、DNSはスマートフォンの連絡先リストのようなものだと考えてください。
DNSの簡単な歴史
インターネットが非常に小さかった頃は、特定のIPアドレスと特定のコンピュータを対応させることが簡単でしたが、成長するネットワークに参加するデバイスや人々が増えるにつれ、それも長くは続きませんでした。 今でも特定のIPアドレスをブラウザに入力してウェブサイトにアクセスすることは可能ですが、当時も今も、人々は覚えやすい単語で構成されたアドレスを求めていました。現在ではドメイン名(networkworld.comなど)として認識されています。
これは、インターネットが成長するにつれ、明らかに手に負えない状況となりました。特に、Feinlerはカリフォルニア時間の午後6時までしかリクエストを扱わず、クリスマスには休暇を取っていました。 1983年、USCの研究者であるポール・モッカペトリスは、この問題に対処するための複数の提案の中から、妥協案を出すことを命じられた。 彼は基本的にそれらをすべて無視して、独自のシステムを開発し、DNSと名付けました。
DNS サーバーの仕組み
名前と数字を照合するDNSディレクトリは、インターネットの片隅にあるわけではありません。 2017年末時点で3億3,200万以上のドメイン名が登録されているので、1つのディレクトリは実に大きなものになります。
Authoritative DNS servers vs. recursive DNS servers
コンピューターがドメイン名に関連するIPアドレスを見つけようとするとき、まず再帰的DNSサーバー(再帰的リゾルバとも呼ばれる)にリクエストを出します。 再帰的リゾルバとは、通常、ISPやその他のサードパーティ・プロバイダーが運営するサーバーのことで、サイト名とそのIPアドレスを解決するために、どの他のDNSサーバーに問い合わせる必要があるかを知っています。
DNSサーバーとIPアドレス
各ドメインは、複数のIPアドレスに対応することができます。 実際、1つのドメイン名に対応するIPアドレスが数百以上もあるサイトもあります。
ディレクトリが分散型であるもうひとつの理由は、もしディレクトリが1つしかなく、何百万人、おそらく何十億人もの人々が同時に情報を探している中で共有されているとしたら、サイトを探しているときに応答を得るまでにどれだけの時間がかかるかということです。
DNSキャッシングとは
この問題を回避するために、DNS情報は多くのサーバーで共有されています。 しかし、最近訪れたサイトの情報は、クライアントのコンピュータにローカルにキャッシュされます。 例えば、あなたは1日に何度もgoogle.comを利用していると思います。 google.comのIPアドレスを毎回DNSネームサーバーに問い合わせるのではなく、その情報がコンピュータに保存されているので、名前とIPアドレスを解決するためにDNSサーバーにアクセスする必要がありません。 さらに、クライアントをインターネットに接続するためのルーターや、ユーザーのインターネットサービスプロバイダー(ISP)のサーバーでもキャッシングが行われます。
自分のDNSサーバーを見つけるには?
一般的に、あなたが使用しているDNSサーバーは、あなたがインターネットに接続したときに、ネットワークプロバイダーによって自動的に確立されます。 どのサーバーがプライマリ ネームサーバーであるかを確認したい場合 (一般的には上述のように再帰的リゾルバ)、現在のネットワーク接続に関する多くの情報を提供できるウェブ ユーティリティがあります。
Can I use 8.8.8.8 DNS?
覚えておいていただきたいのは、ISP がデフォルトの DNS サーバーを設定していても、それを使用する義務はないということです。 ユーザーによっては、ISPのDNSを避ける理由があるかもしれません。たとえば、ISPの中には、存在しないアドレスへのリクエストを広告付きのページにリダイレクトするために、DNSサーバーを使用しているところもあります。
もし代替手段が必要なら、代わりに、再帰的リゾルバとして機能するパブリックDNSサーバーをコンピュータに指定することができます。 最も有名なパブリックDNSサーバーの1つがGoogleのもので、そのIPアドレスは8.8.8.8です。 GoogleのDNSサービスは高速な傾向にあり、Googleが無料サービスを提供する下心には一定の疑問がありますが、Chromeから得られていない情報をこれ以上得ることはできません。
DNS はどのように効率を高めているか
DNS は、物事を迅速かつ円滑に進めるために階層的に構成されています。 例えば、あなたがnetworkworld.comにアクセスしたいと思ったとしましょう。
IPアドレスの最初のリクエストは、上述のように再帰的リゾルバに行われます。 再帰的リゾルバは、サイトの名前(networkworld.com)をIPアドレスで解決するために、どの他のDNSサーバに問い合わせる必要があるかを知っています。 この検索は、ルートサーバーにつながります。ルートサーバーは、.com、.net、.orgなどのトップレベルドメインや、.cn(中国)、.uk(イギリス)などの国別ドメインのすべての情報を知っています。
リクエストが正しいルートサーバーに到達すると、トップレベルドメイン(TLD)ネームサーバーに行きます。ネームサーバーには、第2レベルドメインの情報が保存されており、.com、.org、.netに到達する前に使用される単語が保存されています(例えば、networkworld.comの情報は「networkworld」です)。 その後、リクエストは、サイトの情報とIPアドレスを保持するドメインネームサーバーに送られます。 IPアドレスが発見されると、そのIPアドレスがクライアントに送り返され、クライアントはそのIPアドレスを使ってウェブサイトにアクセスできるようになります。
DNSは過去30年以上にわたって機能してきたため、ほとんどの人が当たり前のように利用しています。
DNS リフレクション攻撃
DNS リフレクション攻撃は、DNS リゾルバ サーバーからの大量のメッセージで被害者を圧倒します。 攻撃者は、被害者の偽装されたIPアドレスを使って、見つけられるすべてのオープンなDNSリゾルバに大きなDNSファイルを要求します。
DNS キャッシュ ポイズニング
DNS キャッシュ ポイズニングは、ユーザーを悪意のある Web サイトに誘導します。 攻撃者は DNS に偽のアドレス レコードを挿入することで、潜在的な被害者がポイズニングされたサイトの 1 つに対してアドレス解決を要求すると、DNS は攻撃者が管理する別のサイトの IP アドレスを応答します。
DNS リソースの枯渇
DNS リソースの枯渇攻撃は、ISP の DNS インフラストラクチャを詰まらせ、ISP の顧客がインターネット上のサイトにアクセスできないようにします。 これは、攻撃者がドメイン名を登録し、被害者のネームサーバーをそのドメインの権威サーバーとして使用することで行われます。 そのため、再帰的リゾルバがサイト名に関連するIPアドレスを供給できない場合、被害者のネームサーバに問い合わせることになります。
DNSSecとは
DNS Security Extensionsは、DNSルックアップに関わるさまざまなレベルのサーバー間のコミュニケーションをより安全にするための取り組みです。
ICANN は、DNS のトップレベル、セカンドレベル、サードレベルのディレクトリ サーバー間の通信に弱点があり、攻撃者がルックアップをハイジャックできる可能性があることに気づきました。 これにより、攻撃者は、正規のサイトへのルックアップの要求に対して、悪意のあるサイトのIPアドレスで応答することが可能になります。
DNSSECでは、各レベルのDNSサーバーにリクエストのデジタル署名をさせることで、エンドユーザーから送られたリクエストが攻撃者に乗っ取られないようにして、この問題に対処します。
さらに、DNSSECは、ドメイン名が存在するかどうかを判断し、存在しない場合は、ドメイン名を解決しようとしている無実のリクエスターに、その不正なドメインを配信させません。
より多くのドメイン名が作成され、モノのインターネットデバイスやその他の「スマート」システムを介してより多くのデバイスがネットワークに参加し続け、より多くのサイトがIPv6に移行するにつれ、健全なDNSエコシステムを維持することが必要になります。 また、ビッグデータやアナリティクスの増加に伴い、DNS管理の必要性も高まっています。
SIGRed: A wormable DNS flaw rears its head
先日、WindowsのDNSサーバーに欠陥が発見されたことで、DNSの弱点がどのような混乱を引き起こすかが世界に知られることになりました。 SIGRed」と呼ばれるこの潜在的なセキュリティホールは、複雑な攻撃の連鎖を必要としますが、パッチが適用されていないWindows DNSサーバーを悪用して、クライアントに任意の悪意のあるコードをインストールして実行する可能性があります。 また、この脆弱性は「ワーム可能」であり、人の介入なしにコンピュータからコンピュータへと拡散することができます。
DNS over HTTPS: A new privacy landscape
この記事を書いている時点で、DNSはその歴史の中で最も大きな変化の一つを迎えようとしています。 ブラウザ市場で圧倒的なシェアを誇る Google と Mozilla は、DNS over HTTPS(DoH)への移行を奨励しています。DoH では、DNS リクエストが、すでにほとんどの Web トラフィックを保護している HTTPS プロトコルによって暗号化されます。 Chrome の実装では、ブラウザは DNS サーバーが DoH をサポートしているかどうかを確認し、サポートしていない場合は DNS リクエストを Google の 8.8.8.8 に迂回させます
この動きには議論がないわけではありません。 例えば、企業のIT部門は、ネットワークを通過するDoHトラフィックを監視したり指示したりすることが非常に困難になります。
(Keith ShawはNetwork Worldの元上級編集者であり、世界中の多くの出版物やウェブサイトに記事を書いてきた受賞歴のあるライター、編集者、製品レビュアーです。)
(Josh Fruhlingerはロサンゼルス在住のライター兼編集者です。)
(Keith ShawはNetwork Worldの元上級編集者であり、世界中の多くの出版物やウェブサイトに記事を書いてきた受賞歴のあるライター、編集者、製品レビュアーです。)
(Josh Fruhlingerはロサンゼルス在住のライター兼編集者です。)