デフォルトの設定では、ワームなど不要なアクセスもごっちゃにロギングしてしまう。 確認事項 †SetEnvIfの確認 †Apache のモジュールのひとつである、SetEnvIf を使用します。 # /usr/local/apache2/bin/apachectl -l mod_setenvif.c Worm のアクセスを別ファイルに記録する †アクセスログ解析を行うなど、ワームが残すログをaccess_log には記録したくない場合、ワームのログだけを worm_log に別出力できます。 httpd.confの編集 †# vi /usr/local/apache2/conf/httpd.conf ワームのアクセスを環境変数「worm」と「nolog」に記述するよう、下記を追記します。 # CodeRed SetEnvIfNoCase Request_URI "^/default.ida" worm nolog #WINNTAutoAttack SetEnvIfNoCase Request_URI "null\.ida" worm nolog # NIMDA SetEnvIfNoCase Request_URI "root\.exe" worm nolog SetEnvIfNoCase Request_URI "cmd\.exe" worm nolog SetEnvIfNoCase Request_URI "Admin\.dll" worm nolog # worm virus SetEnvIfNoCase Request_URI "^/_mem_bin/" worm nolog SetEnvIfNoCase Request_URI "^/_vti_bin/" worm nolog SetEnvIfNoCase Request_URI "^/c/" worm nolog SetEnvIfNoCase Request_URI "^/d/" worm nolog SetEnvIfNoCase Request_URI "^/msadc/" worm nolog SetEnvIfNoCase Request_URI "^/scripts/" worm nolog 「nolog」に該当しないものを access_log に記録し、「worm」に該当するものを worm_log に記録するため、 # access log CustomLog access_log combined env=!nolog # worm access log CustomLog worm_log combined env=worm これにより、NimdaやCode Red、Code Blueなどによるログはaccess_logではなくworm_logに記録されるが、 LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined apache再起動 †httpd.confを編集後はapacheを再起動 # /usr/local/apache2/bin/apachectl restart 画像ファイルへのアクセスを記録しない †Apache のログはデフォルトでは、リクエストされた画像情報までログに残します。 httpd.confの編集 †# vi /usr/local/apache2/conf/httpd.conf 以下のようにSetEnvIf ディレクティブを追記します。 SetEnvIfNoCase Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)$" nolog 「nolog」に該当しないものを access_log に記録するため、CustomLog を下記のように変更。 CustomLog logs/access_log combined env=!nolog apache再起動 †httpd.confを編集後はapacheを再起動 # /usr/local/apache2/bin/apachectl restart |