如何在Ubuntu服务器上使用UFW阻止对WordPress的攻击?

前端之家收集整理的这篇文章主要介绍了如何在Ubuntu服务器上使用UFW阻止对WordPress的攻击?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在ny Ubuntu 14的盒子里,我有一些奇怪的活动,就像在wordpress页面上攻击一样. Apache日志显示了很多这样的:
191.96.249.54 - - [25/May/2016:00:46:57 +0200] "POST /xmlrpc.PHP HTTP/1.0" 500 585 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
191.96.249.53 - - [25/May/2016:00:46:58 +0200] "POST /xmlrpc.PHP HTTP/1.0" 500 585 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
191.96.249.54 - - [25/May/2016:00:46:59 +0200] "POST /xmlrpc.PHP HTTP/1.0" 500 585 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
191.96.249.53 - - [25/May/2016:00:47:00 +0200] "POST /xmlrpc.PHP HTTP/1.0" 500 585 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"

它看起来与这里描述的情况完全相同:http://blog.carlesmateo.com/2014/08/30/stopping-and-investigating-a-wordpress-xmlrpc-php-attack/

我想到的第一件事就是用iptables阻止那些人,所以我把:

iptables -A INPUT -s 191.96.249.54 -j DROP
iptables -A INPUT -s 191.96.249.53 -j DROP

但它继续前进.

因为我使用UFW我添加了UFW规则:

ufw deny from 191.96.249.54 to any
ufw deny from 191.96.249.53 to any

但没有任何改善.
然后我禁用了UFW并停止了!

Mu UFW规则是(ufw status):

Status: active

To                         Action      From
--                         ------      ----
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
143                        ALLOW       Anywhere
993                        ALLOW       Anywhere
25/tcp                     ALLOW       Anywhere
465/tcp                    ALLOW       Anywhere
Anywhere                   DENY        191.96.249.54
Anywhere                   DENY        191.96.249.53
80 (v6)                    ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
143 (v6)                   ALLOW       Anywhere (v6)
993 (v6)                   ALLOW       Anywhere (v6)
25/tcp (v6)                ALLOW       Anywhere (v6)
465/tcp (v6)               ALLOW       Anywhere (v6)

然后我意识到第一个规则是允许http …所以我删除它并再次添加它,所以现在它在链的末尾.
它有所帮助.
显然我应该像这样插入阻止规则:

ufw insert [position] [theRule]

我对吗?显然这很有效,但这是好的做法还是应该以其他方式做到?

我建议学习ipset.

与UFW情况类似,iptables -A在netfilter链的末尾附加一条新规则.这意味着如果在您添加的规则之前存在匹配规则,则不会触发规则.

所以,在你的情况下,你应该输入

iptables -I INPUT -s xxx.xxx.xxx.xxx -j DROP

默认情况下,将规则插入链中的第一个位置.

使用命令iptables-save检查整个链.

现在,每当你受到攻击时改变iptables规则链将是非常有问题的,并且充满危险,特别是因为你正在使用’毯子DROP’.此外还必须删除规则.

所以,使用ipset.这是一个很好的指南,包含很好的示例和一些性能影响分析:

http://daemonkeeper.net/781/mass-blocking-ip-addresses-with-ipset/

关键是要输入以下两个命令:

ipset create blacklist hash:ip hashsize 4096
iptables -I INPUT -m set --match-set blacklist src -p TCP \
    --destination-port 80 -j DROP

现在,您只需将可疑IP地址添加到设置黑名单,就不必再次与规则处理顺序竞争.

猜你在找的Ubuntu相关文章