DNSをわかりやすく解説!必要性を理解しよう【DNSサーバー】
DNSって何?
「DNS」とは、一言でいうと「IPアドレス⇔URLを変換する技術」のことです。
普段、皆さんが利用しているGoogleのURLは
「http://google.co.jp/」
です。
しかし、そのURLの本当の姿は
「http://172.217.161.227/」
です。
172.217.161.227がGoogleの住所を表す「IPアドレス」というものです。
Googleに限らず、すべてのサイトがIPアドレスで管理されています。
大昔は「http://172.217.161.227/」←このようにIPアドレスを入力してGoogleにアクセスしていました。
しかしそれだと、ぱっと見どこのサイトへのアドレスか分かりづらい。
そんな不満から「IPアドレスを任意の名前(「http://google.co.jp/」)に変換する技術」が開発されました。
「IPアドレスを任意の名前に変換する技術」が、DNSというわけです。
URLからIPアドレスの調べる方法
Windowsであればコマンドプロンプトを、Macであればターミナルを起動します。
「nslookup google.co.jp」
と入力してエンターキーを押下。
上記の場合はGoogleのIPアドレスが表示されます。
なお、nslookpuコマンドはすべてにおいて共通です。
DNSサーバーはどこにある?
「DNSサーバー」というのは、「IPアドレス⇔URLを変換しているサーバー」のことです。
DNSサーバーは世界中のいたるところに存在します。
「プロバイダー・電気通信事会社・大手企業」の事務所に設置されていることが多いですが
あなたから見て一番身近な設置場所は、あなたの自宅に設置されているルーターです。
(機種によっては搭載していないものもありますが。)
DNSサーバーといっても、所詮はデータですので、物理的に目に見えて存在するわけじゃありません。
「DNSサーバーのアプリが入っている」と考えてもらえればイメージしやすいですね。
世界中のいたるところに存在するDNSサーバーですが、その中には「特別な13台のDNSサーバー」が存在します。
そのDNSサーバーを「DNSルートサーバー」と呼びます。
DNSルートサーバーはDNSサーバーのボスにあたるサーバーで、非常に重要な役割を担っているのですが・・・長くなりそうなのでここでは割愛します。
13台あるDNSルートサーバーのうち、10台はアメリカが管理しています。
残りの3台は、日本・オランダ・スウェーデンが管理しています。
DNSサーバーを狙った色々な攻撃
DNSキャッシュポイズニング
「DNSキャッシュポイズニング」とは、DNSサーバーのキャッシュ情報を書き換えることで、悪意のあるサイトへユーザを誘導する攻撃のこと。
普段なら「google.co.jp⇔172.217.161.227」と変換するところを
DNSキャッシュポイズニング攻撃により「google.co.jp⇔123.456.789.111(←悪意のあるサイトのIPアドレスの例)」と変換させることで
ユーザを全く別のサイトに誘導し、様々な攻撃をしかけます。
様々な攻撃の例
・ウィルス感染
・偽の通販サイトを表示し、クレジットカード情報を盗む
・偽のログイン画面を表示し、ログインID/パスワード情報を盗む
対策
DNSサーバーが「DNSSEC」という拡張機能を追加することで対策が可能になります。
DNSSECとは、一言でいうと「DNS情報にデジタル署名を付与すること」です。
ただし普及率はまだまだイマイチで、日本のDNSサーバーで約10%。少ないですね、今後に期待!
関連:デジタル署名って?
下記にまとめてあります。参考にどうぞ。
デジタル証明書の仕組みがイマイチわからない人へ【解説】