昨晩Apache を復帰させたところ、"SEARCH /\x90\x02..." から始まる、見慣れぬアクセスログが。例によってGoogle で調べたところ、W32/Gaobot.worm.gen (NAI) という、古いウィルスでした、と思ったら、最近発生した亜種は厄介なことに "MS04-011" の脆弱性を利用するらしいです(W32/Gaobot.worm.ali)。
というわけで、「マンボウの雑文置き場: 撃滅!SEARCH /\x90\x02\xb1ほにゃらら」 を参考にしつつ、前に「Apache のアクセスログをちょっといじる」 で設定したように、こいつもworm_log に記録させるようにしましょう、と思ったら何故だか設定が上手くいかず、スルーされます。
で、更に色々調べてみました。
ダミーのバーチャルホストを設定することで解決できるようですが、バーチャルホストの挙動が理解できていない現在、なんとなくその解決法はいやだったので、結局、「株式会社 ネットスパイス : SEARCHメソッドの不正ログ対策」 の方法を使うことで一応の対策。というかログに残さないようになっただけで、根本的な解決策ではないような。
ここまでのまとめは「mieki256's diary」 にて。まとめる手間が省けました。ありがとうございます。
そして更に更に検索して、「Linux環境設定な日々」の「2004-04-18」 の内容を参考にして、いつものごとく丸写し。「2004-04-19」 も興味深いですが、今のところworm_log までログ解析しようとは思わないので、取り入れてないです。
さてさて、これで上手く設定できたのかどうか。
(2004/05/12 23:18 追記)
2日まわしてみて上手く設定できたようなので、設定を公開します。Apache2 用。"SetEnvIf" については、「mod_setenvif」 を参照してください。
<IfModule mod_setenvif.c>
# Gaobot
SetEnvIfNoCase Request_Method "(GET)|(POST)|(PUT)|(DELETE)|(HEAD)" log
# CodeRed
SetEnvIfNoCase Request_URI "^/default.ida" worm !log
#WINNTAutoAttack
SetEnvIfNoCase Request_URI "null\.ida" worm !log
# NIMDA
SetEnvIfNoCase Request_URI "root\.exe" worm !log
SetEnvIfNoCase Request_URI "cmd\.exe" worm !log
SetEnvIfNoCase Request_URI "Admin\.dll" worm !log
# warm virus
SetEnvIfNoCase Request_URI "^/_mem_bin/" worm !log
SetEnvIfNoCase Request_URI "^/_vti_bin/" worm !log
SetEnvIfNoCase Request_URI "^/c/" worm !log
SetEnvIfNoCase Request_URI "^/d/" worm !log
SetEnvIfNoCase Request_URI "^/msadc/" worm !log
SetEnvIfNoCase Request_URI "^/scripts/" worm !log
# etc
SetEnvIfNoCase Request_URI "(\.gif|\.jpe?g|\.png|\.css|\.js)$" !log
SetEnvIf Remote_Addr 192.168.0. !log
CustomLog access_log combined env=log
# warm access log
CustomLog worm_log combined env=worm
</IfModule>