ずいぶん前から気にはなっていたんだけど放置していた。しかし自分のサーバのログのほとんどがワーム(だって自分もほどんどアクセスしないし)なだけにこの状態はかなりチェックが難しい。急に思い立ってこのログが記録されないようにする方法を考えた。
失敗ってゆーかそりゃー無理な方法
しばらくこの方法に固執してた(恥ずかしー)
- HTTP Status を元にアクセス制限
- HTTP Status を元に SetEnvIf
無理っす。HTTP Status は実際のアクセスを受け取ったあとでセットされるものだけど、SetEnvIf やアクセス制限は HTTP リクエストヘッダで判断する。まだ Status はセットされてません。
Web で見つけた情報
AGOBOT のログを記録したくない - トラブル雑記帳
「CustomLog で 414 な status になったときの request を記録しないフォーマットにする」
って方法。CustomLog を変更しちゃうのが微妙に気持ち悪いけど、これは確実でなおかつ早い。上のページでの !414 ってのは通常のリクエストの中の 414 っていうパラメータにも反応しちゃうような気もするけど大丈夫でした。
他に思いついているだけで実践していない方法
- フィルタを書く
- これは Apache の再起動をせずにログの記録について柔軟な設定ができる。(フィルタは Apache と同時に Apache が起動してくれるし、落ちたら Apache が再起動してくれる。)この場合は 414 の status についてアクセスログを記録しないだけだから、まぁなんとか楽に書けそう。
- WAF(Web Application Firewall)で弾く
- mod_security というほんとの WAF でもいいし、mod_reqrite でも弾けるような気がする。Squid は使ったことないんで分からないけど、考え方は mod_rewrite + mod_proxy と同じだと思う。要するにワーム撃退用の Web サーバを本番サーバの前に置くってこと。やり方がタコだと必要なアクセスを弾いちゃう可能性があるのと、今回の目的にはやや大げさな点か。でも本番の Web サーバがより安全になるって意味では応用が効くし、考えてもいいかな。
from MSN-Mainichi 今日の話題
切ない。
切ない。
どうなんでしょうねぇ。人生って。現代人の生活って。
from MSN-Mainichi 今日の話題
こういう感想の持ち方もどうかと思わなくはないが、犯人が事情聴取可能な状態に回復できて本当に良かったと思う。例えばこれが死なないまでも植物状態とかであったら、最近では最も後味の悪い事件になっていたかもしれない。
from MSN-Mainichi
こらこらこら。
どういう言い方であったかは定かでないが、それゆったらすべての事件の犯人に相応の理由があるだろうが。どんな理由があっても法治国家で認められないから犯罪なんだってことをちゃんと教えないといけないし、法が認めてもやっちゃいけないことがあるってことを、小学校段階のうちにこそ教えなきゃいけないんじゃないか。
どの程度であったにせよ、この話題で誤解を与える余地があったのは教師としての資質に大きな疑問があるでしょ、この人。