プロが教える店舗&オフィスのセキュリティ対策術

自宅サーバーでBBSのCGIを動かしています。
VineLinux3.2+Apache2

長すぎるリクエストのログを残さないように
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
とhttpd.confに記入してうまく機能しています。

そのほかに不正なアクセス(主に海外から)をドメインやIPアドレスで
制限しているのですが、ログに403エラーがたくさん残ってしまいます。
上記の方法で"414"の部分を"403"に書き換えても機能せず
大量のログが残ってしまいます。

ログを残さないようにするために何か良い方法はないでしょうか?

A 回答 (1件)

前に↓でも答えましたが、


【apache】特定のログだけ取りたくない
http://oshiete1.goo.ne.jp/qa4793851.html
パイプで渡して処理をすれば自由にログをカスタマイズできます。

CustomLog "|/usr/local/bin/CustomLog.pl /var/log/httpd/custom_log" combined

/usr/local/bin/CustomLog.plの中身
---
#!/usr/bin/perl
my $text = <STDIN>; # 標準入力
$text =~ /403/ and exit; # 特定の文章が含まれていたら終了
my $filename = $ARGV[0]; #第一引数
open FILE, ">>${filename}"; # ファイルに追記
print FILE $text;
close FILE;
---
とすると/var/log/httpd/custom_logには"403"を含む文字は追加されません。
    • good
    • 0
この回答へのお礼

ご丁寧な回答、ありがとうございました。
さっそく、試させていただきます。

お礼日時:2009/03/31 21:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!