Apacheで不要なログを記録しないようにする

例えば、以下のようなログを記録しないようにする。
"SEARCH /\x90\x02\xb1\x02\xb1\x02\xb1\x02\xb1\x02 ... \x90\x90\x90\x90" 414 271 "-" "-"

上記は非常に長いログ。これを1回記録するとそれだけで 32kB になるので、アクセスログに記録しないようにする。また、その他のワームアクセスや記録が不要と思われる物もログに記録しないようにする。
以下のように設定ファイルを編集する。

$ sudo vi /etc/apache2/apache2.conf

# \"%r\" の部分を \"%!414r\" に変更する
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


# ウイルスや画像ファイルへのアクセスはログに記録しない
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

# env=!no を付け加える
CustomLog /var/log/apache2/access.log combined env=!no

以上が完了したら、Apacheを再起動させて設定を反映してやる。

$ sudo /etc/init.d/apache2 restart