Apache-2.4
來自 ip 的 ufw 拒絕似乎不起作用
今天工作時,我一直在跟踪我的伺服器的訪問日誌,並註意到我的一個客戶的 wordpress 網站因來自國外 IP 的登錄嘗試而受到重創。
我想拒絕來自該 IP 地址的訪問,並嘗試了以下 ufw 命令:
sudo ufw deny from xx.xx.xx.xx to any
我看到已添加規則並且防火牆處於活動狀態,但我仍然看到大量來自該 IP 地址的登錄頁面的文章。
我也嘗試過使用 iptables,雖然我對該工具不是很熟悉:
sudo iptables -A INPUT -s xx.xx.xx.xx -j DROP
我做錯了嗎?我認為在拒絕訪問該 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)
防火牆規則的順序很重要。由於您一開始就允許所有埠 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,它可以動態地做到這一點。