ワーム対策とか

バイト先のサーバ設定するときはよくわからなかったのでやってなかったけど(汗
自宅サーバ立ててログを見てみると、その必要性がよく分かった。

1日経ったらいきなりログサイズが60kバイト増えてるとか、びびります。

 [29/Mar/2005:18:49:14 +0900] "SEARCH /\x90\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02\・・・延々と約3万文字続く。

これがIISサーバによるWebDAVを狙ったワームによるものらしい。
しかも、1回でこれだけの量。放っておくと、恐ろしいことになりそうなので対策することにしました。


httpd.confを以下の通り変更(//はコメントよ)

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
//↓↓↓
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 

  ・
  ・
  ・

# CustomLog logs/access_log common
CustomLog logs/access_log combined
//↓↓↓

# CustomLog logs/access_log common
SetEnvIf Request_URI "default\.ida" no
SetEnvIf Request_URI "root\.exe" no
SetEnvIf Request_URI "cmd\.exe" no
SetEnvIf Request_URI "Admin\.dll" no
SetEnvIf Request_URI "NULL\.IDA" no
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(ico)|(css)$" no
CustomLog logs/access_log combined env=!no //←env=!noを追加 

SetEnvIf〜で、それぞれのワームの特徴的な部分を使って排除するようにしている。だから、新しいワームができても記述を追加していけばOK。SetEnvIf〜(gif)〜とかは画像へのアクセスログを記録しないため。1アクセスだけで、何個も何個もログ残されてもうざいだけですので。


ちなみに、この設定に10分ぐらいはまりました。
↑の様に記述してapacheを再起動しても、CustomLogのところが間違ってるぞ ヽ(`Д´)ノ
って言われるんです。


何が違ったかっていうと
env=!noじゃなくて
env!=noって書いてた。
だって、C言語で条件を否定するとき(not equal)の記述に似てるんだもん・・・。