在CentOS上配置Apache以防御DDoS攻擊涉及多個步驟和技術。以下是一些關鍵的防御措施:
使用iptables
或firewalld
來限制入站和出站流量,只允許特定端口的流量通過。例如:
# 允許SSH和HTTP流量通過
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 其他流量拒絕
iptables -A INPUT -j DROP
或者使用firewalld
:
# 允許SSH和HTTP流量通過
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
通過設置反向代理服務器(如Nginx或HAProxy)來分擔服務器壓力,隱藏真實的Apache服務器。
ModSecurity是一個開源的Web應用程序防火墻,可以檢測和阻止惡意請求。安裝并配置ModSecurity以增強Apache的安全性。
使用mod_evasive
或mod_qos
等模塊來限制單個IP地址的最大連接數,防止惡意用戶通過發起大量連接消耗服務器資源。
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify [email protected]
</IfModule>
內容分發網絡(CDN)可以分散流量,減輕服務器壓力,并提供一定程度的DDoS防護服務。
及時更新Apache和其他軟件的補丁,確保服務器安全性和穩定性。
SYN Cookies是一種防御SYN Flood攻擊的機制。在/etc/sysctl.conf
中啟用SYN Cookies:
net.ipv4.tcp_syncookies = 1
sysctl -p
實時監控網絡流量,設置異常流量報警??梢允褂肸abbix、Prometheus等監控工具。
通過上述措施,可以顯著提高CentOS上Apache服務器的安全性,有效防御DDoS攻擊。