ポートスキャンツール「Nmap」を使ったセキュリティチェック
GUIフロントエンド「zenmap」を利用する
Nmapには、GUIによる操作でポートスキャンを実行できる「zenmap」というGUIフロントエンドが用意されている。Windows環境では、インストーラを使ってNmapをインストールするとNmapと同時にzenmapがインストールされる。また、Linux環境では別途インストールが必要だ。たとえばREHLやその互換OSでは、nmap-frontendパッケージをインストールすることでzenmapが利用可能になる。
zenmapの起動
Windows環境では、インストーラでNmapをインストールするとデフォルトでスタートメニューにzenmapが登録される。また、Linux環境ではzenmapコマンドを実行することでzenmapが起動される。なお、Nmapの全機能を利用できるよう、どちらの場合でもroot権限(管理者権限)での起動をおすすめする。
zenmapを起動すると、図2のようなウィンドウが表示される。
ここで、「ターゲット」欄に対象とするホストを入力して「スキャン」をクリックするとポートスキャンが実行され、「Nmapの結果」タブにその結果が表示される(図3)。
また、「スキャンプロファイル」ではスキャン方式を選択できる(図4)。この選択結果に応じてnmapのコマンドラインオプションが変更される仕組みで、指定されるコマンドラインオプションは「コマンド」欄に表示される。
複数のホストをターゲットに指定してスキャンを行った場合、左ペインにホスト一覧が表示される(図5)。
ここでホストを選択すると、「ポート/ホスト」タブや「ホスト情報」でそのホストの情報を確認できる(図6、7)。
「サービス」ボタンをクリックすると左ペインにサービス一覧が表示され、そのサービスを提供しているホスト一覧やその情報が表示される(図8)。
「トポロジー」タブでは、スキャン結果を元にネットワークトポロジをグラフで表示してくれる(図9)。
このように、zenmapを利用することでポートスキャン結果をより分かりやすい形で確認することが可能だ。なお、スキャン結果は「スキャン」メニューの「スキャン結果を保存する」でファイルに保存しておくことができる(図10)。
サーバーのセキュリティチェックだけでなくネットワークの管理にも有用、ただし対象の設定にはご注意を
このようにNmapはサーバーでどのようなサービスが動いているのかをチェックするだけでなく、ファイアウォールの設定チェックやネットワークの管理にも有用だ。たとえばローカルネットワークに対し定期的にポートスキャンを行うことで、意図しないホストやサービスが稼働していないかをチェックすることができる。TCP SYNスキャンであれば100台規模のスキャンでも数分で完了するので、まずはお手元の環境で試してみてはいかがだろうか。
ただし、冒頭でも触れているとおり、自分が管理しているマシンやネットワーク以外に対するポートスキャンはそれらに対する攻撃と見なされる可能性もあるため、利用の際は十分に注意してほしい。