この特集のトップページへ
Chapter 3:DNS(Domain Name System) 〜概要〜

COLUMN:逆引き用の名前空間の必要性

 ドメイン名からIPアドレスへの変換は,TCP/IPのクライアントによって利用されることが多い。クライアントがサーバーへと接続するときに,まずサーバーのホスト名をIPアドレスへと変換しなければならないからである。これに対し,IPアドレスからドメイン名への変換は,クライアントによって利用されるのではなく,一般的にサーバーによって利用される。

 TCP/IPネットワークにおいて,クライアントから接続要求を受けたサーバーは,接続してきたクライアントのIPアドレスを認識することはできる。なぜなら,TCP/IPパケットのなかに,そのパケットを送出したホストのIPアドレスが含まれているからである。しかし,接続してきたクライアントのドメイン名まではわからない。このような場合に,サーバーはDNSを利用して,接続してきたクライアントのIPアドレスをドメイン名に変換するのである。このとき,逆引きの名前空間が利用される。

 本稿をお読みの読者のなかには,なぜ逆引きによってわざわざドメイン名を取得する必要があるのかがわからない,という方もいるかもしれない。しかし,実際にTCP/IPネットワーク上でサーバーを管理してみると,この機能が非常に重要であることがわかる。たとえば,サーバーのアクセスログを管理している場合,どのIPアドレスから接続されているかだけをログに記録しても,あまり意味はない。IPアドレスだけではなく,どのドメインに所属しているホストからの接続なのかがわかれば,たいへん便利である。ドメイン名を元に組織の種別を判断すれば,アクセス統計を解析し,「orgドメインやor.jpドメインからのアクセスは多いが,comドメインやco.jpドメインからのアクセスは少ない」といった判断を下すことができるようになる。あるいは,不正アクセスなどがあった場合も,接続元のドメインがわかれば,そのドメインの管理者に連絡をとって調査してもらうことができる。この場合も,ログにドメイン名が残っていなければ意味がない(IPアドレスがわかれば,whois検索などで調査することはできるが,ドメイン名が記録されているほうが手軽である)。また,接続の許可や拒否を制御したい場合も,IPアドレスではなく,ドメイン名で記述したほうがわかりやすいだろう。

 このように,逆引きの名前空間は,接続してきたクライアントの身元を確認するために,サーバー側から利用されることが多い。セキュリティを重要視しているサーバーのなかには,逆引きに失敗すると(ドメイン名を取得できないと)接続を拒否するように設定しているものもある。したがって,DNSサーバーの管理者は,必ず逆引き用の名前空間を設定するように心がけてほしい。

 ただし,セキュリティ上の理由から,内部クライアントのIPアドレスは逆引き用の名前空間に登録しないこともある。なぜなら,IPアドレスやホスト名がわかってしまうと,それが攻撃のために悪用されるおそれもあるからだ。また,ファイアウォールやプロキシサーバーを導入している場合は,インターネット上のサーバーに対する接続を,クライアントに代わってファイアウォールが代行することも多い。このような場合には,クライアントのIPアドレスをいちいち逆引き用の名前空間に登録する必要ない。接続先のサーバーが認識するのはクライアントのIPアドレスではなくファイアウォールのIPアドレスであり,接続先ではファイアウォールのドメイン名だけを逆引きするからである。


PREV 6/11 NEXT