今天工作时,我一直在跟踪服务器的访问日志,并注意到我客户的一个 wordpress 站点受到来自国外 IP 的登录尝试的打击。
我想拒绝来自这个 IP 地址的访问,并尝试了以下 ufw 命令:
sudo ufw deny from xx.xx.xx.xx to any
Run Code Online (Sandbox Code Playgroud)
我看到规则已添加并且防火墙处于活动状态,但我仍然看到大量帖子从该 IP 地址发送到登录页面。
我也尝试过使用 iptables,虽然我对这个工具不是很熟悉:
sudo iptables -A INPUT -s xx.xx.xx.xx -j DROP
Run Code Online (Sandbox Code Playgroud)
我做错了吗?我认为在拒绝访问 ip 地址后,它不会显示在我的 apache 访问日志中,并且登录页面的帖子状态为 200 ok。
编辑:正如我所提到的,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)
Run Code Online (Sandbox Code Playgroud)
Dia*_*ond 25
防火墙规则的顺序很重要。由于您在开始时已允许所有端口 80,因此此规则将匹配所有请求,并且永远不会匹配稍后出现的拒绝规则。
所以,如果你需要的东西块particluarly,把它放在开头,然后让所有。
要查看带有参考编号的规则,请使用以下命令:
sudo ufw status numbered
Run Code Online (Sandbox Code Playgroud)
然后首先删除您添加的拒绝规则:
sudo ufw delete rule_number_here
然后在顶部再次添加:
sudo ufw insert 1 deny from xx.xx.xx.xx to any
Run Code Online (Sandbox Code Playgroud)
更多参考:https : //help.ubuntu.com/community/UFW#Deny_Access
另请注意,ufw 不是缓解此类攻击的最佳工具。尝试使用fail2ban,它可以动态地做到这一点。
这是一个相关的操作方法:如何在 Ubuntu 14.04 上使用 Fail2Ban 保护 Apache 服务器
归档时间: |
|
查看次数: |
8698 次 |
最近记录: |