Apache のアクセスログをちょっといじる

Apache の生ログを見てると、いまだに"default.ida?XXXXXXXXXXX.......(以下略)"なんていう、おいおいいったいいつのCodeRed デスカ? と問いつめたくなるようなアクセスも結構あったりで、こういうホストに限ってLookup できない。常時起動しているサーバではないのかもしれない。
こんなののログをとってても仕方ないので、なんか良い方法ないかなー、と探していたら見つかったのが「Linux で自宅サーバ [ Home Server Technical. ]」の「Apache のカスタムログ設定」での設定。なるほど、ワームからのアクセスは別のファイルに記録する、というのがよさそうです。ついでに、プライベートアドレスからのアクセスも記録しないようにしてしまいます。


例によって丸写しです。
が、上記のはApache1.3 系列での設定例で、RHL9 に入っているApache2 系では"AddModule mod_setenvif.c" という記述は許されていないので、代わりに"<IfModule>" てのを使います。以下設定例。


<IfModule mod_setenvif.c>
SetEnvIf Remote_Addr 192.168.0. no_log
SetEnvIf Request_URI "^/_mem_bin/" worm no_log
SetEnvIf Request_URI "^/_vti_bin/" worm no_log
SetEnvIf Request_URI "^/c/" worm no_log
SetEnvIf Request_URI "^/d/" worm no_log
SetEnvIf Request_URI "^/msadc/" worm no_log
SetEnvIf Request_URI "^/MSADC/" worm no_log
SetEnvIf Request_URI "^/scripts/" worm no_log
SetEnvIf Request_URI "^/default.ida" worm no_log
SetEnvIf Request_URI "root\.exe" worm no_log
SetEnvIf Request_URI "cmd\.exe" worm no_log
SetEnvIf Request_URI "NULL\.IDA" worm no_log
CustomLog logs/access_log combined env=!no_log
CustomLog logs/worm_log combined env=worm
</IfModule>

これを応用すれば好きなようにアクセスログを分割していけますね。
※その後、W32/Gaobot.worm.gen とやらのアクセスログの対処 で改良しました。