7.10. nmapでポートの状態を確認する -nmapコマンド-

【コマンド説明】
nmap (Network Mapper)は、ネットワーク調査およびセキュリティ監査を行うためのツールです。
nmapコマンドではポート状態の一覧を表示できます。この一覧表には、ポート番号、プロトコル、サービス名、状態が記載されています。状態は、open、filtered、closed、またはunfilteredのいずれかになります。nmapは初期状態ではインストールされていないため、yumでインストールします。

【動画説明】
nmapによるステータス表示

open
このポートでは、アプリケーションがTCPコネクションやUDPパケットをアクティブに受け入れています。多くの場合、ポートスキャンの第一の目的は、この種のポートを見つけることにあります。セキュリティを重視するなら、openポートが攻撃者の通り道にならないようにする必要があります。ポリシーに合わせてファイアウォールで閉じたり防御したりするのが良いでしょう。また、Openポートを見ると、ネットワーク上で利用可能なサービスが何かわかるので、セキュリティスキャン以外にもよく用いられます。

closed
closed(閉じた)ポートは、アクセス可能(Nmapのプローブパケットを受信したり応答したりする)ですが、そこで受信待機しているサービスやアプリケーションはありません。この種のポートは、あるIPアドレスでホストが稼動中であることを確認する場合(ホスト発見やping)や、OS検出の一環として役に立つ場合があります。closedポートは到達可能なので、後にその一部が開放された場合は、スキャンの対象になる可能性があります。管理者はこの種のポートもファイアウォールでブロックすることを検討する場合もあります。そうなると、これらは次で述べるfiltered(フィルタあり)状態として見えるようになります。

filtered
nmapは、このポートが開いているかどうかを判別できません。パケットフィルタによって、プローブがポートまで到達できないからです。このフィルタ処理は、ファイアウォール専用機器、ルータのルール、ホストベースのファイアウォールソフトなどで実行できます。これらのポートからは情報がほとんど得られないので、攻撃者の企てを阻むことになります。応答しないでプローブを破棄するだけのフィルタが多く使われるようになっています。この場合、nmapは、プローブが破棄されたのはフィルタリングではなくてネットワークの混雑のせいと見なして、再試行を数回行わざるを得なくなるので、攻撃者からのスキャンの進行速度が格段に落ちます。

unfiltered
unfiltered状態とは、ポートにはアクセス可能ですが、そのポートが開いているか閉じているかをnmapでは判別できないことを意味します。ポートをこの状態に分類できるのは、ファイアウォールルールを解読するのに使われるACKスキャンだけです。unfilteredポートのスキャンをその他のスキャンタイプ、例えばWindowスキャンなどで行うと、ポートが開いているかどうかを決めるのに役立つ場合もあります。

open|filtered
nmapがポートをこの状態に分類するのは、対象のポートが開いているかフィルタ処理されているかを判別できない場合です。openポートからの応答がないタイプのスキャンには、こうしたケースが発生します。また、応答がないということは、プローブやそれが引き出した応答をパケットフィルタが破棄したことを意味する場合もあります。そのためnmapは、対象のポートがopenなのかfilteredなのかを確実に見分けることができません。UDP、IP プロトコルなどのスキャンは、ポートをこの状態に分類します。

closed|filtered
この状態は、ポートが閉じているかフィルタ処理されているかを、nmapが判断できない場合に用いられます。

# nmap www.google.co.jp

Starting Nmap 5.51 ( http://nmap.org ) at 2013-02-08 18:21 JST
Nmap scan report for www.google.co.jp (74.125.235.119)
Host is up (0.0035s latency).
Other addresses for www.google.co.jp (not scanned): 74.125.235.120 74.125.235.127
rDNS record for 74.125.235.119: nrt19s02-in-f23.1e100.net
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http → 80番ポートが開いている
443/tcp open https → 443番ポートが開いている

Nmap done: 1 IP address (1 host up) scanned in 4.84 seconds

http://nmap.org/man/jp/man-port-scanning-basics.htmlより転載

【問題】
1. 自分が所属する組織のサーバにnmapコマンドを実行してポートスキャンしてみましょう
※やりすぎて情報システム部門から苦情を言われない程度にしましょう…
2. ローカルホストのセキュリティが甘くないか自分自身で確認してみましょう
(余計なポートが開いていないかチェックしましょう)

資料をダウンロード