ufw从ip拒绝似乎并没有工作

在今天工作的时候,我一直在拖着我的服务器的访问日志,并注意到我的客户的一个WordPress的网站越来越受到来自国外的知识产权的login企图。

我想拒绝从这个IP地址访问,并尝试以下ufw命令:

sudo ufw deny from xx.xx.xx.xx to any 

我看到规则已经添加,防火墙是活动的,但我仍然看到从该IP地址的login页面大量的post。

我也试过使用iptables,虽然我对这个工具不是很熟悉:

 sudo iptables -A INPUT -s xx.xx.xx.xx -j DROP 

我有没有想过这个错误? 我会认为,在拒绝访问的IP地址,它不会出现在我的apache访问日志与login页面的post200的状态。

编辑:正如我所提到的,ufw是活动的,规则就位,这里是ufw状态的输出(ip被阻止):

 root@mel:~# ufw status Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 80 ALLOW Anywhere 1723 ALLOW Anywhere 8080 ALLOW Anywhere 6273 ALLOW Anywhere 36728 DENY Anywhere Anywhere DENY xx.xx.xx.xx 22 ALLOW Anywhere (v6) 80 ALLOW Anywhere (v6) 1723 ALLOW Anywhere (v6) 8080 ALLOW Anywhere (v6) 6273 ALLOW Anywhere (v6) 36728 DENY Anywhere (v6) 

防火墙规则的顺序非常重要。 既然你在开始时已经允许80,那么这个规则将会匹配所有的请求,后面的拒绝规则永远不会匹配。

所以,如果你需要特别的阻止某些东西,那就把它放在一开始,然后放开

要使用参考号码查看您的规则,请使用以下命令:

 sudo ufw status numbered 

然后先删除已添加的拒绝规则:

sudo ufw delete rule_number_here

然后再在顶部添加它:

 sudo ufw insert 1 deny from xx.xx.xx.xx to any 

进一步参考: https : //help.ubuntu.com/community/UFW#Deny_Access

另请注意,ufw并不是减轻此类攻击的最佳工具。 尝试使用fail2ban ,可以dynamic地做到这一点。

下面是一个相关的方法: 如何在Ubuntu 14.04上用Fail2Ban保护Apache服务器