1gの勇気

奥手な人の思考と試行

[情報SEC]第4回 ポートスキャン

2006-02-22 00:59:13 | 1gの情報セキュリティ
第4回 ポートスキャン

ポートスキャンとは、文字通りポートをスキャンすること。
ポートとは、受け口のこと。
例えば、Webで使われてるHTTP(というプロトコル...通信手順)なら80番という番号のポート(口)だ。

IPアドレス+ポート番号で特定のサービスにつなげる。
21番ならFTPだし、25番ならSMTPだ。
で、用もないのに接続してみる。

接続できれば、そのポートが開いているということ。
これがポートスキャン。
ポートが開いていれば、そこからハッキングをがんばるのだ。

昨日(第3回)説明したスタックフィンガープリンティングは、
どうもうそだったようです。すみません。
接続した時にサーバが返してくるバナー情報からOSやサービスの種類やバージョンを読みとることだそうです。

最近ではハッキング対策として、こうしたバナー情報を出さないものも多いです。
出すか出さないかは大概設定で変えられますが。
うそ情報を出すこともできますが...そこまでせんでもね。

このポートスキャンは、telnetでできます。
水神もよくやります。(仕事です。自分の管理サーバです。クラッキングではありません。)
telnet www.goo.ne.jp 80 と打てば、gooにつながります。

今試しにwindowsのtelnetでやってみた。
ふむふむ。gooはapacheらしい。ふつーだの。
繋いだだけでは真っ暗な画面ですが、おまじないを打つと返事が返ってきます。

ポートスキャンを手動でやるのは面倒なので、
自動的にやってくれるポートスキャンツールが使われます。
ポートスキャンといえば、codered。数年前に流行ったワームです。

未だに外に出ているwebサーバのログにはこいつのアクセス形跡が載ってます。
迷惑な話だ。おかげでログが汚れる。
さて。次行きます。

TCPコネクトスキャン。というのは、今説明したやつです。(なので割愛)
TCPハーフスキャン。
これは、SYNパケットを送って、SYN/ACKならポートが開いてる。

RST/ACKならポートが閉じてる。
というのを調べる方法です。
これだと、SYN/ACKが帰ってきても、RSTを返して接続を切れば接続が確立しません。

なので、相手方のサーバにログも残りません。
パケットキャプチャでもしてれば別ですが。
SYNとかACKとかはTCPの制御パケットです。

このくらいは基本情報処理にも出てくると思うので(そうだっけ?)説明しません。
ちなみに、SYNはシン、ACKはアックと呼んでました。(一般的かどうかはしらん。)
SYNはたぶんシンクロナス(同期)の略で、ACKはアクノレッジ(???)の略です。

RSTはリセットでしょう。
そんなん、どうでもいいでうすが、こういうのをステルススキャンいいます。
ログに残らんからでしょう。

次行きます。UDPスキャン。
UDPは送りっぱなしプロトコルです。
でもポートが死んでる場合はICMP port unreachableが帰ってくるそうです。

これはしらんかった。
ICMPはpingで使われるプロトコルで、IPプロトコルです。(UDPやTCPではなく。)
unreachableはping打っても帰ってくることがあります。

ポートスキャンへの対抗策の第一は、不要なポートを閉じることです。
サーバ屋なら常識ですな。
ネットワーク屋ならファイアウォールかませて、ポートをネットワーク的に閉じます。

水神はnetscreenが好きです。(どうでもよいね。)
検知するのに一番お手軽なのは、ログ解析です。
けど、これはステルススキャンは見えません。

ステルススキャンまで検知するにはポート監視型のハード・ソフトが必要でしょう。
IDSと言います。この本にはIPSなるものも載ってる。(ぼくはしらん。)
IPSはIDSにファイアウォールのような機能を持たせたものということ。

んー、でもそれではIDSにならんと思うのだが。
パケットを通す(ルータみたいなもん)ので負荷も高そうだし。
値段も高そうだ。

でも、IDSは入れただけではダメで、管理(ログチェック)せねばならん。
めんどくさいので、業者に頼むという手もあります。
それなりの値段しますし、いちいち報告してくるので対応が面倒。(本末転倒だの。)


最新の画像もっと見る

コメントを投稿