WP-DenyHostとfail2ban を導入してみるメモ

最近、Wordpressへのコメントスパムがもの凄い事になっている。

余りにSpamされるせいでか、httpdとmysqldがOut of memoryで、
killされてしまって、暫くWEBアクセスが出来ない状況が発生して
しまいました。

一番安いVPSのせいもあって、リソースはギリギリなので、
これは何かしなければ・・・ということで少し対策入れてみました。

■対策を練る。

元々 Akismet で殆どコメントとして投稿されない状況でしたが、
それでもDB側の負担が大きいので、WP-DenyHostを入れて
Akismetで弾いたコメント投稿元からのアクセスは、404/403を
返すようにしました。

これでも処理は、httpd自体がしなきゃイケナイ状況なので、
あんまり意味いか?

それなら・・・・サーバー側で止めてしまおう!

ということで、fail2ban の設定を入れて、
アクセス自体を iptables で止める事にしました。

fail2ban の設定は、「たけけんのサーバー勉強日記」の記事が
タイムリーで大変参考になりました。

たけけんのサーバー勉強日記-まさかそこが間違っていたとは
http://www.vincentina.net/?p=3736

そのままの設定だと findtime 60/maxretry = 2 と制限が
キツメなので、サイトによって値を変えたほうが良いかも
しれないです。
(うちはWP-DenyHostで弾いたコメントのみに適用させてます)

■インストール

WP-DenyHost

WordPressで入れて設定するだけ。

fail2ban

apt とかyumでは入ります。
入れた後の設定も、Google先生に聞くと大量に出てくるので、
説明は不要かと思います。

■設定結果

2013/11/24~11/25の24時間でfail2banによってこれだけbanとなりました。
これで不要なプロセスダウンが発生しなくなるといいな・・。

Chain fail2ban-apache-wpcm2 (1 references)
target     prot opt source               destination
REJECT     all  --  120.37.235.69        0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  120.33.220.150       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  27.153.228.129       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  27.159.253.46        0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  27.153.230.18        0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  142.54.174.186       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.151.149.242      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  27.159.213.193       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  204.12.239.234       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.151.152.146      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.187.97.114       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.151.145.250      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  142.54.174.162       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  142.54.183.146       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  173.208.136.34       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  142.54.174.178       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  142.54.174.170       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.151.152.106      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.151.152.122      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.151.151.202      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.187.112.42       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.151.147.62       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.187.99.66        0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  204.12.239.210       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.151.152.138      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.187.106.210      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  142.54.168.202       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  198.204.230.130      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.151.152.90       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  173.208.129.250      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  142.54.186.122       0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  192.187.106.242      0.0.0.0/0           reject-with icmp-port-unreachable
REJECT     all  --  142.54.186.250       0.0.0.0/0           reject-with icmp-port-unreachable
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です