ワーム対策とか
バイト先のサーバ設定するときはよくわからなかったのでやってなかったけど(汗
自宅サーバ立ててログを見てみると、その必要性がよく分かった。
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)の記述に似てるんだもん・・・。