これまで、スパム投稿をしてきたipアドレスからそのネットワークアドレスを(ログから)拾いだし、都度iptablesに記述することでアクセス禁止を行って来ました。
その甲斐があってなのかどうなのか、確かにスパム投稿は減ったように思います。あったとしても、大抵akismetがブロックしてくれていますし。
でも、スパム投稿を試みているアクセスは相変わらずあります。で、これを放っておくと、ログを見るときに結構邪魔になってしまうんですよねー。
前に#comment-xxというリファラーからのスパムアクセスでログが流されてしまって云々という話をしましたが、それと同じような状況が相変わらず続いているわけです。
そして現在ログを埋め尽くしているのは、WindowsXP+IE6.0の組み合わせでやってくるアクセス。ボットになってるのでしょう、これが大量にやってきて、例えばCounterize IIのアクセスログ(これは50件までしか表示しない)のすべてがこのアクセスで埋まってしまっていることも。
やっぱり後追いでアクセス制限してもダメなんですよね。
で、この手のアクセス、大抵は中国から。ということは、要するに中国で登録されているネットワークアドレスからのアクセスをすべてはじくようにすればいいんじゃね?
と思い、探してみると。
同じことで困っている偉大な先達は必ずいるものです。こちら、「iptablesでファイアーウォールを構築してみた」さんにビンゴな情報が。
こちらで手順が紹介されているのですが、私にとって特に必要なのがそちらで設定するポリシーのうち、次の一点。
●指定された国のIPアドレスからのアクセスを許可、拒否する(許可:日本 拒否:中国、韓国、台湾)
もちろんスクリプトでこれを記述するわけですが、チェインの作成や外部関数の読み込みなどいくつか試して勉強してみなければ分からないことも(そのままコピー&ペーストで使ったのではスキルアップできない)。
というわけで、該当する部分のスクリプトを調べながら実験していきたいと思っています。
他にも最後まで書かなければいけない投稿もたまっているのですが、優先順位を考えればどうしてもこれらの方が高くなってしまいますので、あっちこっち話題が飛んで恐縮ですが、よろしくお願いしますです。