Nmapを利用したポートスキャンへの対策

こちらは最新のバージョンではありません
検索エンジンなどで直接このページに来た方は、トップから入りなおしてくださいm(__)m

NMAPとは / Port Scanとは

 Nmapとは、一言で言えばPort Scanを行うツールです。Port Scanが何かということについてはここでは詳しくは述べませんが、簡単に説明しておきます。

 WWWやFTPなど、外部から接続するユーザーに対してサービスを提供するサーバーは、提供するサービスごとに特定のポート番号を割り当て、その番号で外部からの接続を待っています。この状態を"ポートがオープンしている"と呼びます。

 通常、ある任意のサーバーで何番のポートがオープンしているということは基本的に分かりません。通常はそのようなことを知る必要性はありませんし、また知ってもどうなる物ではありませんが、サーバーのセキュリティホールを突いて侵入を試みるクラッカーにとっては、どのポートが開いているかということは非常に重要な情報になります。例えばある特定のポートを利用するサービスにセキュリティホールがあることが分かっていて、そのポートがあるサーバーでオープンされてことをクラッカーが知ったら、そこにクラッキングをかけるでしょう。

 ここで気が付くかと思いますが、Port Scanを行うこのNmapは、クラッキングからサーバーを防御する側にとって、どのポートが開いているのか、不必要なポートは開いていないか、またクラッカーの侵入によってオープンされているポートはないか、といったことを確認するために非常に有効なツールであると同時に、クラッカーにとってもクラッキングを行う情報を得るために悪用できるツールでもあるわけです。

 不用意にインターネット上の見知らぬサーバーに対してNmapを利用してPort Scanを行うと、Scanを受けている側からすればアタックを受けているようにしか見えないので、自分が管理しているサーバーのチェック以外には決して利用しないようにして下さい。

 

Nmapの入手とインストール

 NmapはInsecure.orgが配布しているソフトウェアです。Turbo Linux Japanからは提供されていませんので、Insecure.orgが提供しているrpmファイルを利用します。

 Insecure.orgにあるNmapのページは

  http://www.insecure.org/nmap/

 Linux用のrpmファイルは以下のリンクからダウンロードできます(2000年11月26日現在の最新版)。
 #2001年10月9日現在、最新バージョンは変わっていません。開発ペース遅いんですね....

  http://www.insecure.org/nmap/dist/nmap-2.53-1.i386.rpm (Nmap本体)
  http://www.insecure.org/nmap/dist/nmap-frontend-0.2.53-1.i386.rpm (Nmap FE)

 ファイルを入手したら、

  rpm -Uvh nmap-2.53-1.i386.rpm
  rpm -Uvh nmap-frontend-0.2.53-1.i386.rpm

 でインストールされます。

 

Nmapの利用

 Nmapは基本的にコマンドラインで動作するツールで、Nmap FEはNmapをGUIで操作するためのフロントエンドです。ここではNmap FEを利用することを前提に話を進めます。Nmapを起動するには、コマンドラインから"nmapfe"と入力します。Nmapは起動時に起動しようとしているユーザーを判断し、一般ユーザーモードと管理者モードのいずれかで立ち上がります。

 左側が管理者モードで右側が一般利用者モードです。利用できるオプションの数が管理者モードの方が多いのが分かるかと思います。管理者モードと一般ユーザーモードとでは、ウインドウのイメージが異なりますが、これはおそらくSawfishのThemeの違いだと思います。

 最も単純な利用方法は、"Host(s)" の中にPort ScanのターゲットとするマシンのIPアドレスを入力し、"Scan"のボタンをクリックするだけです。こうすると、現在オープンになっているポートの一覧が表示されます。チェック終了後の画面はこんな感じです。

 ここで、自分が把握しているポートだけがオープンしているのならば、問題ありません。もし自分が身に覚えがないポートがオープンしているのならば、早急にそのポートで提供されているサービスについて調査を行い、そのサービスが不必要な物であれば即刻ポートを閉じましょう。

 Nmapについては豊富なオプション機能がありますし、探した限りでは日本語ドキュメントが存在しないようなので、時間を見て更に解説を加えてゆきたいと思いますが(一応英語は得意としていますので)、とりあえずは基本的な使い方ということでここまでにしておきます。