apacheのログ管理

前に寄生虫とアタックの跡でも書いたが、このサーバのapacheのログは結構汚い。なぜ汚いのかと言えば

1 ワームのアタックの後がかなりある。
2 このサイトの背景に使っている画像へのアクセスが記録されている。
3 なんといっても、オイラがアクセスしたのまで律儀にLogを取っている。

という理由からだ。

これではアクセス分析もへったくれもあったもんじゃない。と言うことで、まともなログになるようにしてみた。

段階としては3つ。全てhttpd.confにて設定ができるようだ。この設定ファイルは、Vineの場合/etc/httpd/conf/にある。まず、ログに記録しない為の設定をする。これはまず

CustomLog /var/log/httpd/access_log combined

CustomLog /var/log/httpd/access_log combined env=!no_log

と、no_logに該当した部分をログに記録しないように設定し、次に、自分のアクセスをLogに記録しないよう設定する。これはmoduleの設定以降に

SetEnvIf Remote_Addr 192.168.0. no_log

等と記入してやればOK。同じように画像ファイルアクセスのログもスキップする。

SetEnvIf Request_URI “.(gif)|(jpg)|(jpeg)|(png)$” 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

#wormに該当するものをworm_logに記録
CustomLog /var/log/httpd/worm_log combined env=worm

以上を追加し、ワーム用のログファイルを設定する。

あと、上記では非常にログを見づらくしてくれるW32.HLLW.Gaobot.gen対策がされていない。このワームに対しては、バーチャルホストを用いる方法もあるようだが、見たくもないので単にログに残さないように設定した。これは

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

としてやることで対応できるようだ。

後はワーム用のログファイルのログローテーションを設定してやる。これはVineでは/etc/logrotate.d/apache に、以下を追加してやればいい。

/var/log/httpd/worm_log {
missingok
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}

あ~、これでログがすっきりするぞ!!

参考サイト
Apache のカスタムログ設定(Linuxで自宅サーバ)
SEARCHメソッドの不正ログ対策(株式会社 ネットスパイス)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください