Firewall

UFW 規則的順序重要嗎?

  • July 31, 2020

當我第一次初始化我的ufw時,我做到了

ufw default allow outgoing
ufw default deny incoming
ufw allow 80/tcp
ufw allow 22/tcp

在過去一周左右的時間裡,我一直在查看我的訪問日誌並禁止在我的伺服器上發出惡意請求的 IP

我會這樣做

ufw deny from <ip>

這是我的ufw status verbose

此處粘貼的所有 IP 均來自垃圾垃圾郵件發送者;不要可憐他們

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW IN    Anywhere
22/tcp                     ALLOW IN    Anywhere
Anywhere                   DENY IN     125.39.22.154
Anywhere                   DENY IN     222.124.200.250
Anywhere                   DENY IN     101.60.178.197
Anywhere                   DENY IN     115.184.115.200
Anywhere                   DENY IN     93.174.93.129
... more ips ...
80/tcp (v6)                ALLOW IN    Anywhere (v6)
22/tcp (v6)                ALLOW IN    Anywhere (v6)

問題

我注意到的是,ALLOW行動在行動之前DENY

規則的順序真的重要嗎?或者我知道我的 IP 塊已經工作了,我可以安心地休息嗎?

附帶問題:有沒有比手動grep記錄惡意請求的訪問/錯誤日誌並阻止這些 IP 發出未來請求更有效的方法來處理垃圾郵件請求?

規則的順序真的重要嗎?

是的,它確實。*在這種情況下,*拒絕應該放在第一位,因為它們更具體(更具體的規則應該放在第一位)。 例子

有沒有比手動處理垃圾郵件請求更有效的方法

fail2ban 可以掃描日誌,並將 IP 添加到與定義的模式匹配的多種類型的過濾系統中。

您可以指示 ufw 在給定位置插入規則:

ufw insert 1 deny from <ip> to any

這會將拒絕規則插入第一個位置而不是最後一個位置。

引用自:https://serverfault.com/questions/713674