Adachinですっ。
だいぶ前にadachin-serverブログにアタックがぱないので、
fail2banを導入してダマらしました。
そもそも毎回iptablesで手動でDROPするのは理想的ではないので自動化しちゃえって感じです。
以下のようにxmlrpc.phpへのアタックがやたら激しいので、ログ見るとこんな感じ来ているかと思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# tail -f adachin-server.access.log 163.172.130.205 - - [xx/xxx/xxxx:xx:xx:xx +0900] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-" 163.172.130.205 - - [xx/xxx/xxxx:xx:xx:xx +0900] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-" 163.172.130.205 - - [xx/xxx/xxxx:xx:xx:xx +0900] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-" 163.172.130.205 - - [xx/xxx/xxxx:xx:xx:xx +0900] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-" 163.172.130.205 - - [xx/xxx/xxxx:xx:xx:xx +0900] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-" 163.172.130.205 - - [xx/xxx/xxxx:xx:xx:xx +0900] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-" 163.172.130.205 - - [xx/xxx/xxxx:xx:xx:xx +0900] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" "-" 163.172.171.74 - - [xx/xxx/xxxx:xx:xx:xx +0900] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6 .0)" "-" 163.172.171.74 - - [xx/xxx/xxxx:xx:xx:xx +0900] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6 .0)" "-" |
オーストラリアからアタックってなんか悲しいw
■fail2banとは
簡単に言うとログ監視ツールのことで、
設定した単位時間内に設定した回数以上のパターンにマッチするログが現れたら、
iptablesなり拒否してくれる優れものです。
■インストールと設定
・CentOS
1 |
# yum install fail2ban |
・Ubuntu
1 |
# aptitude install fail2ban |
インストールしたらiptablesのblocktypeを変更します。
・CentOS
1 2 |
# vim /etc/fail2ban/action.d/iptables-common.conf blocktype = DROP #--reject-with icmp-port-unreachableになっているのでDROPに変更 |
・Ubuntu
1 2 |
# vim /etc/fail2ban/action.d/iptables-common.conf 上記と同じように |
・xmlrpc.php設定追加
あとはCentOSもUbuntuも変わらないので
/xmlrpc.phpに来ているアタックをiptablesで拒否るように設定を追加します。
(今回はnginxですがapacheでも変わりません)
1 2 3 4 |
# vim /etc/fail2ban/filter.d/nginx-xmlrpc.conf [Definition] failregex = ^<HOST> .*POST .*xmlrpc\.php.* ignoreregex = |
1 2 3 4 5 6 7 8 |
# vim /etc/fail2ban/jail.conf [nginx-xmlrpc] enabled = true port = http,https filter = nginx-xmlrpc logpath = /var/log/nginx/adachin-server.access.log maxretry = 6 |
・fail2ban自動起動/起動
1 2 3 4 5 |
# chkconfig fail2ban on #CentOS # sysv-rc-conf fail2ban on #Ubuntu # /etc/init.d/fail2ban start |
・ちゃんと拒否してくれるか確認
上記にあったIPはちゃんとDROPされてます
1 2 |
# iptables -nL |grep 163.172.130.205 DROP all -- 163.172.130.205 0.0.0.0/0 |
■まとめ
しつこいアタックくる場合はfail2ban入れて自動的にBANしてくれるのはとてもいいですね!
他にもSSHアタック来た場合ももちろんfail2ban入れて拒否できるので試してはいかかでしょうか!
にしてもfail2banのロゴダサイ。。。
ちなみに/var/log/fail2ban.logにbanされたIPが出力されてます。
参考:http://xplus3.net/2013/05/09/securing-xmlrpc-wordpress/
0件のコメント