next up previous contents
Next: 演習課題 Up: 侵入検知システム Previous: ログの解析: snortsnarf

Snortのテスト, nmap

Snort のテストでは幾つかの Web アタックなどでは簡単にテスト出来るが、 その他の問題についてはなかなかテストが難しい。とりわけ、ポートスキャン については現在も色々な手法が開発されているという側面もあるが、 手軽には nmap を使うのが良いだろう。nmap は FreeBSD4.6R でも security に用意されている。実は、nmap を使うのは非常に豊富なオプションがある ために面倒なので、通常は nmapfe というGUIツールを用いるのが普通である。 ところが、残念ながら、4.6R ではnmapfeはパッケージから抜けており、 portsからmakeをかけても、うまくコンパイルが出来ないので、とりあえず CUI で動かすしかない。

なお、当然 nmap を 自らのサイト以外に対して使ってはならないし、内部であっても 合意がない所に用いてはならない事も言うまでもない。

ここでは、最低必要なスキャンオプションをのみ掲げる。 (多くの場合並立しない)

-sT TCP connect scan
-sS TCP SYN scan
-sF Stealth FIN scan
-sX Xmas Tree scan ( FIN,URG,PSH on)
-sN Null scan ( all flags off)
-sP Ping scan ( host のresponce のみ)
-sU UDP scan
-sA ACK scan ( get RST packet )
-sW Window scan
-sR RPC scan (他のオプションと共に使える)

通常、併記出来るオプションは以下のものがある。

-f fragmented IP パケットを送る。(for SYN,FIN,XMAS,NULL scan)
-v verbose mode
-O OS の推定
-p ポートの指定(カンマで区切るか、あるいは-で範囲を指定可)

最後に、引数はターゲットのIPまたはFQDNを指定するが、ネットワーク全体 を指定することも可能である。

hoge.test.wakhok.ac.jp 単一マシン
test.wakhok.ac.jp/24 ネットマスクを用いた例
192.168.0.16/24 IPとネットマスクの例
192.168.0.17-22 17〜22までのマシン全てが対象の場合

以下の例は、192.168.0.1 に対して Stealth SYN scan をかけた例である。

    # nmap -v -sS  -O  192.168.0.1
次の例は、192.168.0.16/28 全体に対して、ACK scan をかけた場合で、 スキャンポートは 22,53,110,143 に限定している。

    # nmap -v -sA -p 22,53,110,143 192.168.0.16/28
更に、fragmented IP packet で NULL scan を 192.168.0.1 から 5 の ホストに、ポート 1〜1023 の間の全てのポートにスキャンをかけている。

    # nmap -v -f -sN -p 1-1023 192.168.0.1-5

こうしたポートスキャンを IDS を設置したホストまたはネットワークに 仕掛けて、うまく検知出来ているか、あるいは Web ページにどのように 表示されるかをチェックして見よう。特に、fragmented IP は古いfirewall では意外に通ってしまうので注意する必要がある。Firewallの試験を兼ねて、 様々なスキャンをFIrewallの外からネットワークに対して仕掛けて見ると、 色々な情報が得られるだろう。

スキャンは攻撃のための下準備であり、攻撃の予兆でもあるので、スキャン を検知出来る事、そしてスキャンが成功したサービスに問題がないかを じっくりと点検する必要がある。また、近年、こうしたスキャンを気づかれる ように行うために、スロースキャンや乱数スキャンなどの手口も発達しつつ あり、IDS で発見出来ない事は攻撃がない事を意味するのではない点にも 留意する必要がある。


next up previous contents
Next: 演習課題 Up: 侵入検知システム Previous: ログの解析: snortsnarf
Noriyo Kanayama