Port Scan対策

最近インターネット上ではポートスキャンというクラッキングが流行しています。 このポートスキャンとはサーバーに対していろいろな手段で接続を試み弱点を 探して本当の攻撃のデータを得るというものでパッケージ化されたソフトが流通 しています。

ポートスキャンの被害の詳細は
http://www.jpcert.or.jp/info/98-0004/98-0004-01.html
をご覧ください。
このポートスキャンのソフトには主に日本のサーバーのデータがついているので日本に 割り当てられているIPアドレスのサーバーを重点的に調査するのがよろしいようです。

ここではBSDIやFreeBSD上にApacheなどのWWWサーバーが走っているときにこのポートスキャンがあったかどうか調査し、おこなったと思われるところに通報するやりかたについて説明します。

発見する

httpdのログを見るのが一番簡単です。httpdのログは通常access_logという名前で作られ、 設定によりいろいろなところに配置されていますがTelnetでまずサーバーにつなぎ以下の コマンドを実行します。例で % はプロンプトですからキー入力する必要はありません。
% find / -name access_log -print
とすることにより見つけることができます。ファイル名のaccess_logはデフォルトの 名前なので設定により別の名前になっていることがあります。
当社の関連のサーバーですとwww/logsの下にこのファイルがあります。

以下は見つかった例です
% find / -name access_log -print
/var/log/httpd/access_log
つぎにこのファイルからphfを含む文字列を発見します。
% grep phf /var/log/httpd/access_log
surf.wil.net - - [23/Nov/1998:19:52:17 +0900] "GET /cgi-bin/phf" 200 44
リモートサーバーですとTelnetでログインして
% cd www/logs
% grep phf access_log
surf.wil.net - - [23/Nov/1998:19:52:17 +0900] "GET /cgi-bin/phf" 200 44
とします。

見つかりましたか? この結果何も表示されなければこれで終わりです。

詳細な調査

このリストの最初のsurf.wil.netはつないできた相手先ですからこれを含む文字列を発見します。
% grep surf.wil.net /var/log/httpd/access_log
surf.wil.net - - [23/Nov/1998:19:52:17 +0900] "GET /cgi-bin/phf" 200 44
surf.wil.net - - [23/Nov/1998:19:52:18 +0900] "GET /cgi-bin/test-cgi" 404 -
surf.wil.net - - [23/Nov/1998:19:52:41 +0900] "GET /cgi-bin/handler" 200 16384
リモートサーバーですと上のように見つかったあと
% grep surf.wil.net access_log
surf.wil.net - - [23/Nov/1998:19:52:17 +0900] "GET /cgi-bin/phf" 200 44
surf.wil.net - - [23/Nov/1998:19:52:18 +0900] "GET /cgi-bin/test-cgi" 404 -
surf.wil.net - - [23/Nov/1998:19:52:41 +0900] "GET /cgi-bin/handler" 200 16384
とします。
これがsurf.wil.netからhttpdになされたポートスキャンの全貌です。通常は phfとtest-cgiとhandlerがつぎつぎに実行されています。これが何回も繰り返して実行 されていることもあります。

これはwil.netというドメインに属するホストですがここのスタッフが悪意でやっている 場合はあまり無いようで、わけがわからないけど遊び半分でやっていたり、あるいはここに 侵入したクラッカーが実行していることも考えられます。プロバイダであればそのお客さんがクラッカー気取りでやっている例もあります。
したがって頭にwwwをつけて一応つないでみてプロバイダかどうか調べてみます。 http://www.wil.net/ですね。
どうでしたか?プロバイダでしたね。
会社の場合ももちろんあります。この場合でも実際に行った人は何もしらないで興味本位で 行っていることも考えられるのですぐにクラッカーだとはきめつけないようにしましょう。

通報

発見したらそのドメインのpostmasterあてにメールを書くのがよろしいと思います。 以下は日本語での例で、以下の太字のところは実際のものにしてください。

どこに攻撃があったか調査しやすくするためかならず攻撃をうけたサーバーの名前を 書いてください。以下の例ではサーバー名はwww.myname.co.jpという例になっています。

日本語で書いた例
To: postmaster@wil.net

こんにちは
私はwww.myname.co.jpの管理をしている鈴木と
もうします。
当社のサーバーのログに以下のポートスキャンのクラッキングの記録が
のこっておりますのでご調査お願いいたします。だれかが貴社サーバーに
侵入して当社ならびにその他多くのサイトに攻撃をかけている可能性があります。

-- 以下ログ --
surf.wil.net - - [23/Nov/1998:19:52:17 +0900] "GET /cgi-bin/phf" 200 44
surf.wil.net - - [23/Nov/1998:19:52:18 +0900] "GET /cgi-bin/test-cgi" 404 -
surf.wil.net - - [23/Nov/1998:19:52:41 +0900] "GET /cgi-bin/handler" 200 16384
-- ログ終り--

どなたかが遊び半分で行っている可能性もあります。このPort Scanは
危険な遊びですのでただちに停止しないと恨まれて逆に攻撃をうける
可能性があることをお知らせしておきます。

関連情報は
http://www.jpcert.or.jp/info/98-0004/98-0004-01.html
にありますのでもしPort Scanがおわかりにならなかったらご覧に
なることをおすすめします。

ではよろしくお願いします。

英語の例
To: postmaster@wil.net

Hello, My name is Suzuki, an admin of www.myname.co.jp.
We found this record at our httpd log. Someone may intruded to your site and you 
may be attacked by him. Also the site outside may got an attack from your site. Please 
investigate this log and warn him.

---- this is a log ----
surf.wil.net - - [23/Nov/1998:19:52:17 +0900] "GET /cgi-bin/phf" 200 44
surf.wil.net - - [23/Nov/1998:19:52:18 +0900] "GET /cgi-bin/test-cgi" 404 -
surf.wil.net - - [23/Nov/1998:19:52:41 +0900] "GET /cgi-bin/handler" 200 16384
---- end of log ----

If a staff had played with this "port scan" program, you may be impeached by 
another site. 

Thank you. 

ログのところも自分で見つけたデータに置き換えることをお忘れなく

JPCERTにも通報の書式があります。 http://www.jpcert.or.jp/info.htmlまたはhttp://www.jpcert.or.jp/form.htmlをご覧ください。

逆に通報を受けたら

リモートサーバーのお客様でこのような通報を他から受けたら当社にお知らせください。スタッフがただちに調査いたします。また当社のリモートサーバーで見つかったけどメールを送るのはちょっと、という場合にも当社にご相談ください。当社が代行してお送りいたします。
このポートスキャンのソフトはどこかから見つけても、たとえ実験目的でも実行しないで ください。他を攻撃したととられあとでひどい目にあいます。実験するのでしたら外とつながっていないネットワーク環境で行ってください。
ハートコンピュータ