Apacheのログ

access.logがやけに肥大してしまうので何とかしてみた。
原因は"SEARCH /\x90\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02/〜"のログがたくさん残ってしまっている事だ。
まえから気になっていたのだが調べてみるとWebDAVを狙った攻撃らしい。


最初"SEARCH"から始まるリクエストはログに残さないようにSetEnvIfで振り分けようとしたがうまくいかない。


SetEnvIf Request_URI "SEARCH" nolog

CustomLog /var/log/apache/access.log env=!nolog
Request_URIをRequest_Methodに変えればうまくいくかな?


ApacheのMLでVirtualHostで弾く方法があったのでこれを使ってログを切り分けることにした。
この手のアクセスはホスト名を指定してこないことを利用して、VirtualHostの設定の先頭にダミーのホストを作ってそこでCustomLogでログを残すことにした。



DocumentRoot /home/dummy/public_html
ServerName dummy
CustomLog /var/log/apache/dummy/access.log common
ErrorLog /var/log/apache/dummy/error.log

とりあえずこれで様子を見てみよう。