若葉イロハと先輩の吉野さんが、セキュリティ診断の対象とするサーバーのリストアップについて相談している。

*   *   *

若葉:インターネットに公開されているサーバーはどうやって調べればよいでしょうか。資産管理台帳とかネットワーク構成図を見るとわかるんでしょうか?

吉野:もちろんそれも大事だけど、記入漏れがあったり、更新されていなかったりする可能性があるよね。特にクラウドサービスのサーバーは、資産管理台帳から漏れやすいんだ。だから自分でも調べてみるようにしよう。

若葉:自分でですか?

吉野:うん、意外と簡単に調べられるんだよ。一緒にやってみよう!

*   *   *

 公開サーバーの情報は、インターネットに一部公開されている。このためコマンドなどを使えば自分で調べられる。ここでは三つの調査方法を紹介する。

外部に公開している機器を確認
外部に公開している機器を確認
外部に公開しているサーバーを確認するには、攻撃者と同じ視点で、公開情報を調べるとよい。
[画像のクリックで拡大表示]

nslookupコマンドで情報収集

 公開サーバーを見つける前段階として、組織のネットワークの情報を知るために使うのが、nslookupコマンドやdigコマンドである。これらは、ドメイン情報をDNSサーバーに問い合わせるコマンドだ。

 nslookupコマンドでは、コマンドプロンプトで「nslookup」と入力した後に、対象組織のドメイン名を入力する。Enterキーを押して実行すると、ドメイン名にひも付くIPアドレスが表示される。

nslookupコマンドでドメイン名にひも付くIPアドレスを調査
nslookupコマンドでドメイン名にひも付くIPアドレスを調査
nslookupはドメイン情報をDNSサーバーに問い合わせるコマンド。ここではドメイン名を指定し、ドメイン名にひも付くIPアドレスを表示している。
[画像のクリックで拡大表示]

 DNSサーバーに登録されたレコード情報も参考になる。DNSサーバーのレコード情報には、ドメイン名に対応するIPアドレスが定義されている「Aレコード」や、ドメイン名に対応するDNSサーバー情報が定義されている「NSレコード」、ドメイン名に対応するメールサーバー情報が定義されている「MXレコード」などがある。これらのレコード情報を取得することで、組織が公開しているサーバーを推測できる。

 ここでは、公開しているDNSサーバーについて詳しく調べてみよう。まず、コマンドプロンプト上で「nslookup」と入力した後、「set type=NS」と入力する。これは検索レコード(ここではNSレコード)を指定する情報だ。次にドメイン名として「lac.co.jp」と入力した。

nslookupコマンドでNSレコードを調査
nslookupコマンドでNSレコードを調査
DNSサーバーが保持するレコードの種類を指定すれば、必要な情報を調べられる。ここではドメイン内のDNSサーバーを定義する「NSレコード」を指定している。
[画像のクリックで拡大表示]

 表示結果の「nameserver = 」を見ると、そのドメインで稼働しているDNSサーバーがわかる。こうして、ドメインにひも付くDNSサーバーの台数やホスト名を把握できる。

▼調べられる
公開されている情報を確認すれば、攻撃者に狙われやすい対象をある程度把握できる。
▼digコマンド
DNSサーバーに名前解決の問い合わせを行うネットワークコマンド。Linuxを含むUNIX系OSで使われる。Windows系OSでは、nslookupコマンドが同等の機能を持つ。
▼DNSサーバー
IPネットワークで名前解決をするためのサーバー。DNSはDomain Name Systemの略。
▼コマンドプロンプト
テキストベースのコマンドなどを実行するための環境。
▼ドメイン名
インターネット上でホストに付けられる名前。example.co.jpのような形式で表記する。