Apache
文字コード系
HTMLドキュメントにUTF-8を使い始めてから気づいたけど、HTML文書内でcharsetをUTF-8に宣言していても、ブラウザで開くとシフトJISになってしまう。
そういえば以前、httpd.confで文字コードをShift JISに強制するよう設定したような気がしたので眺めていると、やはり
AddDefaultCharset sjis
となっていたので、
AddDefaultCharset off
に書き換えた。
ただし、これはユーザーの入力データから動的にコンテンツを作成する場合に、クロスサイトスクリプティングを引き起こす原因になることがあるとかで、何か指定しておくのが推奨されているようだ。
ログ
サーバーを運営する身としてはマズいのだろうけど、数ヶ月ぶりにApacheのログを見た。18MBもあったが、ほとんどがワームの攻撃とおぼしき変なログというか要求で埋まってる・・・。
というわけで、このままではlogの可読性を著しく損なうので、httpd.confを弄くってログのとりかたを変えることにした。
<IfModule mod_setenvif.c> # Code Red SetEnvIf Request_URI ^/default.ida worm # WinNTAutoAttack SetEnvIf Request_URI ^/NULL.IDA worm # Nimda SetEnvIf Request_URI cmd.exe worm SetEnvIf Request_URI root.exe worm </IfModule> ErrorLog logs/error.log CustomLog logs/worm.log combined env=worm CustomLog logs/access.log combined env=!worm
とりあえずこんなところか。「ワームのログを分離する」などを参考に書いた。
ワームが要求してくるURIリクエストには特徴があるので、一致するのにwormと言う名前を付けてやって、それだけをworm.logに、そのほかをaccess.logに記録するようにした。
しかしいちいちログを取らずとも直接Denyしてやればよかったかな・・・?
というわけでここを参考にまとめて
SetEnvIf Request_URI "^/(mem_bin|_mem_bin|vti_bin|_vti_bin|c|d|msadc|MSADC|scripts|default\.ida|NULL\.IDA|cmd\.exe|root\.exe)" worm BrowserMatchNoCase (nabot|dloader|digext|openbot|archiver|crawler|spider|scooter|zyborg) bad_bot Order allow,deny Allow from all Deny from env=worm Deny from env=bad_bot
こうした。
攻撃
つか、中部ケーブルテレビネットワーク内(kctv*.ccnw.ne.jp)から80番ポートにアクセスしてくるヤツ、いいかげん鬱陶しいぞ! 数ヶ月前から来続けてやがる・・・。
先ほど設定した攻撃の痕跡がないので、wormログには残らないし。
仕方がないのでccnw.ne.jpをDenyに。