Mikrotik:如果來自主機的 HTTP 要求過多,則禁止該主機

Mikrotik:如果來自主機的 HTTP 要求過多,則禁止該主機

昨天,我注意到我的簡陋網路伺服器出現了奇怪的活動:它的溫度適中,硬碟磁頭在抽搐,而 LAN 活動異常高。

當我查看日誌時,發現某些主機正在使用檔案名稱暴力掃描我的 Web 伺服器以尋找文件。

我可以在 RouterOS 中實施針對此類暴力攻擊的任何保護措施嗎?

答案1

是的,有保護。基本上,您必須新增一條防火牆規則來偵測此類主機(標準:來自相同主機的多個 tcp/連接埠 80 連線),並且當您有一個時,將該來源 IP 新增至位址清單。

/ip firewall filter add chain=input protocol=tcp dst-port=80 connection-limit=200,32  \
action=add-src-to-address-list  address-list=blocked-addr address-list-timeout=1d 

然後,阻止來自該位址清單的傳入連線。

/ip firewall filter add chain=input src-address-list=blocked-addr action=drop

您必須調整限制(此處為 200)。還有鏈(如果 Web 伺服器是 mikrotik 設備則輸入,如果是另一個 Web 伺服器則轉送)

這是從 wiki 改編的: http://wiki.mikrotik.com/wiki/DoS_attack_protection

答案2

Benoit 的答案允許阻止主機同時發出請求。但是,如果他們關閉連線的速度與開啟連線的速度一樣快,那麼您可能無法過濾掉太多連線。另一個邏輯是使用dst-limit有速率限制的。

  • 我們新增一個速率限制列表:
/ip firewall address-list
add list=rate-limit
  • 然後我們設定過濾規​​則:
    • 跳到 WAN 上所有新連線的速率限制鏈;
    • 檢查過去 1 分鐘內是否有 10 個連接,並根據dst-address2 分鐘不活動後重設為5 個突發
    • 如果達到 dst-limit,則跳過返回操作並執行速率限制鏈中的下一個操作 -add-src-to-address-list到 10 分鐘逾時的速率限制清單。
/ip firewall filter
add chain=forward action=jump jump-target=rate-limit connection-state=new in-interface-list=WAN
chain=rate-limit action=return dst-limit=10/1m,5,dst-address/2m
chain=rate-limit action=add-src-to-address-list address-list=rate-limit address-list-timeout=10m
  • 最後,我們將水滴添加到原始數據中,這樣我們就可以節省資源:
/ip firewall raw
add action=drop chain=prerouting src-address-list=rate-limit

您可以根據特定需求調整連線計數和時間來進行微調。您可以在「防火牆/連線」標籤中使用公用 IP 過濾器進行監控以查看

相關內容