ホストしている別ドメインの blosxom サイトにリファラースパム攻撃され、 perlプロセスが大量にできて仮想メモリをくいつくしていた。
apache2.2の worker だとRLimit*が効いてくれないようなので、なかなか対策しずらい。
pfを使って、一時的にテーブルを利用してパケットを落とすように設定した。
RCS file: RCS/pf.conf,v
retrieving revision 1.10
diff -u -r1.10 pf.conf
/// pf.conf 2006/04/10 13:18:35 1.10
+++ pf.conf 2006/04/18 03:59:13
@@ -15,7 +15,8 @@
icmp_out_types = "{echoreq, echorep, unreach, squench, timex}"
# Tables:
table <rfc1918_net> const { 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }
+table <spammer_net> { }
multicast_net = "224.0.0.0/8"
# Options: tune the behavior of pf, default values are given.
@@ -72,6 +73,8 @@
block drop in quick on $ext_if from <rfc1918_net> to any
block drop out quick on $ext_if from any to <rfc1918_net>
+
+block drop log quick on $ext_if from <spammer_net> to any
# block IDENT (port 113)
block log quick inet proto tcp from any to any port = ident
実際にIPアドレスの範囲を投入
pfctl -t spammer_net -Tadd 200.118.2.219 pfctl -t spammer_net -Tadd 80.58.205.0/24 pfctl -t spammer_net -Tadd 69.59.189.156 pfctl -t spammer_net -Tadd 216.12.200.106 pfctl -t spammer_net -Tadd 213.140.56.4 pfctl -t spammer_net -Tadd 83.18.112.118 pfctl -t spammer_net -Tadd 217.19.149.243 pfctl -t spammer_net -Tadd 218.56.32.230 pfctl -t spammer_net -Tadd 212.138.64.179 pfctl -t spammer_net -Tadd 64.146.28.212 pfctl -t spammer_net -Tadd 213.140.14.185 pfctl -t spammer_net -Tadd 216.93.179.108 pfctl -t spammer_net -Tadd 80.249.72.180 pfctl -t spammer_net -Tadd 24.232.133.87 pfctl -t spammer_net -Tadd 163.153.67.12 pfctl -t spammer_net -Tadd 202.110.131.54 pfctl -t spammer_net -Tadd 217.76.144.121 pfctl -t spammer_net -Tadd 200.207.38.180 pfctl -t spammer_net -Tadd 65.216.75.240 pfctl -t spammer_net -Tadd 217.219.155.217 pfctl -t spammer_net -Tadd 80.249.72.179 pfctl -t spammer_net -Tadd 212.138.64.180 pfctl -t spammer_net -Tadd 63.215.145.249 pfctl -t spammer_net -Tadd 58.67.31.194 pfctl -t spammer_net -Tadd 213.137.96.130 pfctl -t spammer_net -Tadd 65.54.188.131 pfctl -t spammer_net -Tadd 151.198.230.253 pfctl -t spammer_net -Tadd 193.227.17.30 pfctl -t spammer_net -Tadd 218.63.252.219 pfctl -t spammer_net -Tadd 210.146.119.101 pfctl -t spammer_net -Tadd 203.36.224.19 pfctl -t spammer_net -Tadd 60.32.106.233 pfctl -t spammer_net -vTshow
パケットをdropしてセッション確立してないはずなのに、リファラースパム要求は1秒1回ぐらいの割合でずーっと来るなあ。 どういうシステムなんだろ。単にtimeout短いだけなのかしら。
(MCSE,MCSA)*(2000,2003) の4枚同時取得。だったのだが、なぜか昨年夏取得した MCDST も重複して送られてきた。
午前問題の答えが公開されていたので自己採点。46/55 なんで多分クリアだろう。
しかしいきなり問1で「キャッシュに存在しない確率r」を「キャッシュに存在する確率」と読み違えていたのがショック。 問題文でわざわざこの部分は太字にもしてあったのにー。
Subversionで日本語ファイル名を扱うのは危険なので(現在サーバ側はFreeBSDだから)、 ファイル名だけは英数字を基本としているのだが、日本語クラス名に対応する英語名称を調べるのがめんどい。
基本台帳って英語でどう言うのかなあ。daityo? Google経由英辞郎で resident registry。
自分では試してないが NortonAntiVirus2005 が動かなかったらしい。AVG AntiVirus はOK だけど、日本語じゃないので客先提案はしずらい。
後でいろいろ加工するんだったら、集中バイナリログ+LogParser で運用するのがいいかもしんない。
R2 から登場した Common Logging File System と IIS Log が連携するのかどうかは未調査。 IIS7 からの対応のような気はするが。 IIS のログをCPU&DISK資源的にオフロードする方法がいまいち確立しない。