■Port Scanとは?
ハイポートに隠してあるプロキシーサーバのポート番号や、 セキュリティ上問題のあるデーモンやテストスクリプトなどをリポートするすること。そして、それを調べるプログラムをポートスキャナー(スキャナ)と呼ぶ。攻撃を受けるとネットワークの負荷が増大したり、 root権限を奪取され、結果としてのホストを攻撃するための踏み台として使われる恐れがある。
対策としてはセキュリティ上問題となるようなデーモンを立ち上げない、テストスクリプトを削除する。 ルータを正しく設定してネットワークの負荷を押さえるのも大事でしょう。 syslogd経由でロギングしても気づかないことが多い、IP Filterでロギングする。
■スキャナの仕組み
以下を調べることが可能です。
■スキャンした結果から推測できること
どのポート番号が開いているかによって、OSをある程度判定できます。以下の表を参考にしてみてください。
|
開いているポート番号 |
推測できるOS |
|
139 |
WindowsNT |
|
139のみ |
Windows95/98 |
|
ポートマッパ(111) |
Unix |
■ポートスキャン・テクニック
厳密なIPインプリメントでは、リスニングの状態にかかわらず、全てのポートをスキャンしてもRSTの返送を制限するように構成する。これにより、Attackerが以下のようなスキャン・テクニックを実行しても、その結果は信頼できないものとなる。
|
スキャン・テクニック |
解説 |
|
TCP接続スキャン |
標的ポートに接続し、完全な3ウェイハンドシェーク(SYN,SYN/ACK,ACK)を実行。 |
|
TCP SYNスキャン |
完全なTCP接続をしないので、ハーフオープンスキャンまたはステルススキャンと呼ばれています。代わりに、SYNパケットを標的のポートに送信する。
|
|
TCP FINスキャン |
標的に、FINパケットを送信する。標的ホストは、RFC793(http://www.ietf.org/rfc/rfc0793.txt)に基づき、クローズした全てのポートにRSTを送り返さなければならない。 |
|
TCPクリスマスツリースキャン |
標的ポートに、FIN,URG,PUSHパケットを送信。 |
|
TCP Nullスキャン |
全てのフラグを”0”(オフ)にする。 |
|
UDPスキャン |
標的ポートにUDPパケットを送信。標的ポートが”ICMP
port
unreachable”というメッセージで応答した場合、ポートはクローズされている。 |
|
クライアント |
→ |
サーバ |
|
|
← |
|
|
|
→ |
|
■サーバ側のLOG(特別講座<log編>も参照してみるといいかもしれません)
ポートスキャンはサーバー上でロギング可能である。というか、デフォルト上で、ログをされる状態になっている。(以下は、port scan←written by carcino氏から転載)
----- text -----
Jun 29 04:04:12 def last message repeated 6 times
Jun 29 04:05:13 def last message repeated 6 times
Jun 29 04:06:14 def last message repeated 6 times
肝心なサーバーのログはどうだろうか。見てみよう。(番号は付加)
1. Jun 29 06:12:29 def wu.ftpd[13452]: connect from 192.168.10.1
2. Jun 29 06:12:29 def in.telnetd[13453]: connect from 192.168.10.1
3. Jun 29 06:12:29 def telnetd[13453]: ttloop: peer died: Connection refused
4. Jun 29 06:12:29 def sendmail[13454]: connect from 192.168.10.1
5. Jun 29 06:12:29 def sendmail[13454]: NOQUEUE: Null connection from [192.168.10.1 ]
6. Jun 29 06:12:30 def in.pop3d[13455]: connect from 192.168.10.1
7. Jun 29 06:12:32 def ftpd[13452]: FTP session closed
どうだろう・・・とたんに荒れ狂った海のようにログが押し寄せる。しかも、皮肉なことにしっかりとIPまでログられているのである。これでは、サーバーサイドのadminはIPからISPを割り出し、ユーザー宛に警告文を送るかもしれない。ついには、ISPから接続を拒否されてしまう結果になりうる。(あまりないと思うが・・・)
さて、賢明な人はこう思うだろう。「普通のログと何が違うのか?」これが、明らかに違うのだ。
まずは、ログ1を見てみよう。これは、IP 192.168.10.1 から wu.ftpd に対するリクエストである。その次にあるべき、こういったログがない。
Jun 29 06:25:53 def ftpd[13465]: USER guest
Jun 29 06:25:53 def ftpd[13465]: PASS password
Jun 29 06:25:53 def ftpd[13465]: FTP LOGIN FROM 192.168.10.1 [192.168.10.1], guest
そうだ。実際にコネクトしておきながら、ユーザー名を入力していないのである。そのため、ログ7で、time outになり、 close することになる。大抵の場合は、コネクトとログインは連続して行われるため、そのすぐ下か、数行後にこのログインのログがこなければおかしいわけだ。これは、ログ2,4,6にも共通していえることだ。
----- text end -----
■可能性のあるデーモン・テストスクリプト
●一般的に問題となる可能性になるデーモン
Finger・TELNET・IMAP・POP・HTTP・NFS・DNS・X・named・statd
●一般的に問題となる可能性になるテストスクリプトなど
/cgi-bin/phf
/cgi-bin/test-cgi
/cgi-bin/nph-test-cgi
/cgi-bin/campas
/cgi-bin/htmlscript
/_vti_pvt/service.pwd
/~someuser/cool-logs/mlog.html
■Toolの種類(TOOLZも参照)
|
ポートスキャナーの名前 |
制作プラットホーム |
スキャナの種類 |
特徴 |
コメント |
|
nmap |
? |
ステルススキャナ |
|
|
|
Nessus |
Linux |
TCPポートスキャナ |
Nessusの作者は、フランスのパリに住む18歳のRenaud Deraisonでした。簡単にモジュールを追加できるため、拡張性が高い。 |
スキャンが完了すると、情報をグラフィッカルまたはrawフォーマットで閲覧できます。 |
|
NSS |
Unix |
TCPポートスキャナ |
速度が速い。 |
root権限が必要。 |
|
HakTek |
? |
|
GUIで手軽にスキャン・メールボムなどができる。 |
ポートの範囲を大きくすると、ばぐりやすい。デフォルトで、microsoft.comに設定してあるのがユニーク。 |
|
Strobe |
Unix |
TCPポートスキャナ |
高速・軽い。 |
ポートスキャンだけで特定のホールを検出したりしない。 |
|
SATAN |
Unix |
TCPポートスキャナ |
弱点をスキャンするとチュートリアルが表示される!しかし、重い。また、Linuxで使用するときはいくつかの修正が必要。 |
ユーザフレンドリー。有名なTOOLです。 |
|
Ballista |
Unix、WinNT |
|
弱点発見に適している。 |
|
|
Jakal |
Unix |
TCPステルススキャナ |
ファイヤーウォールの向こう側もスキャンする。 |
|
|
IdentTCPscan |
Unix |
TCPポートスキャナ |
TCPポートプロセスの全オーナーをUIDで特定する。あるTCPポートプロセスのオーナーを取り出す機能有り。非常に高速。 |
ほとんどのCコンパイラで問題無くコンパイル可能らしい。 |
|
Ogre |
Win |
TCPポートスキャナおよびNetBIOSスキャナ |
NetBIOS統計情報の収集。 |
|
|
WSS |
WinNT |
TCPポートスキャナおよびNetBIOSスキャナ |
|
|
|
ISS |
Unix、WinNT |
TCPポートスキャナ |
|
|
|
SAFESuite |
Unix、WinNT |
TCPポートスキャナ |
イントラネットスキャナとWebスキャナとファイヤウォールスキャナから構成されている。弱点をスキャンするとチュートリアルが表示される! |
GUI環境。ただし、相手サーバにLOGが残る。それは、/var/adm/messagesというファイルに作成される。 |
|
CONNECT |
|
|
TFTPサーバのサブネットをスキャンするのが目的。 |
|
|
FSPScan |
|
|
FSPサーバ用のスキャナ。 |
|
|
XSCAN |
|
|
サブネットまたはホストをスキャンして、X Windowサーバの弱点を探す。これだけでは、他のスキャナと変わらないが、XSCANは追加機能があります。弱いターゲットを発見すると、直ちに端末からのキー入力の記録を開始するのです。 |
|
|
Network Toolbox |
? |
|
|
|
|
SiteScan |
|
|
小型で高速なポートスキャナ。オープンポートを特定し、良く知られたWebのホールのいくつかを発見。 |
|
|
Chesapeake |
? |
|
|
|
|
YAPS |
? |
|
|
|
|
nbtscan |
? |
|
|
|
|
PortScanner |
|
|
|
|
|
TCP PortScanner |
? |
|
|
|
|
PortFlash |
? |
|
39.95ドルのシェアウェア。 |
|
|
Ostronet |
? |
|
FingerやWhoisやNslookupも可能。 |
|
|
SimpleStealth |
|
ステルススキャナ |
BackSectionのUNYUN氏作成。 |
OS判定なども可能。Shadow Penguin Securityで入手可能。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■ポートスキャン対策
自分のサーバへのポートスキャンの実行を防ぐのは困難である。よって、不要なサービスを無効にするのがよいでしょう。Unixならば/etc/inetd.confでいらないサービスをコメントアウトまたは削除し、WinNTならば[コントロールパネル]>[サービス]でサービスを無効にします。
■参考文献
|
|||
|
|