Apache-2.2
如何使用 mod_security 刪除所有請求
我有一個啟用了多個站點的 apache2 伺服器,包括預設站點(000default)。預設伺服器正在擷取大量垃圾郵件請求,這些請求除了消耗頻寬並填滿日誌文件之外什麼都不做。
什麼是最小的虛擬主機配置,它會丟棄所有命中預設站點的請求?
到目前為止,這是我使用 mod_security 所做的,但它似乎什麼也沒做,只是對所有請求響應 403:
<VirtualHost *:80> ServerName default.only SecRuleEngine On SecAction "drop,phase:1" </VirtualHost>
該
mod_security
操作deny
將產生 403 響應,同時drop
將立即關閉連接。 從手冊:降低
**描述:**立即發起“連接關閉”動作,通過發送一個FIN包來斷開TCP連接。
**行動組:**破壞性
**範例:**以下範例啟動 IP 收集以跟踪基本身份驗證嘗試。如果客戶端在 2 分鐘內超過 25 次嘗試的門檻值,它將丟棄後續連接。
SecAction initcol:ip=%{REMOTE_ADDR},nolog SecRule ARGS:login "!^$" \ nolog,phase:1,setvar:ip.auth_attempt=+1,deprecatevar:ip.auth_attempt=20/120 SecRule IP:AUTH_ATTEMPT "@gt 25" \ log,drop,phase:1,msg:'Possible Brute Force Attack"
筆記
此操作在響應蠻力和拒絕服務攻擊時非常有用,因為在這兩種情況下,您都希望最小化網路頻寬和返回給客戶端的數據。此操作導致日誌中出現錯誤消息“(9)Bad file descriptor: core_output_filter: writing data to the network”
Apache 必須以某種方式處理請求,它不能忽略它們。響應與
403 Forbidden
您盡可能接近。