在CentOS上配置Apache的防盜刷功能,可以通過以下步驟實現:
首先,確保你的CentOS系統已經安裝了Apache和mod_security。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install httpd mod_security
編輯Apache的配置文件/etc/httpd/conf/httpd.conf
,找到并取消注釋以下行以啟用mod_security:
LoadModule security2_module modules/mod_security2.so
創建或編輯mod_security的配置文件/etc/httpd/conf.d/security2.conf
,添加防盜刷規則。以下是一個簡單的示例:
SecAction \
"id:123456,\
phase:2,\
nolog,\
pass,\
initcol:ip=%{REMOTE_ADDR},\
setvar:ip.request_count=+1,\
expirevar:ip.request_count=60"
SecRule IP:REQUEST_COUNT "@gt 10" \
"id:123457,\
phase:1,\
deny,\
status:429,\
log,\
msg:'Too many requests from this IP address'"
這個規則的意思是:
為了進一步增強防盜刷功能,可以調整防火墻規則,限制單個IP地址的連接數。例如,使用iptables
:
sudo iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 10 -j DROP
這個命令的意思是:
完成配置后,重啟Apache服務以使更改生效:
sudo systemctl restart httpd
定期監控服務器的訪問日志和mod_security日志,根據實際情況調整防盜刷規則和防火墻規則。
通過以上步驟,你可以在CentOS上配置Apache的防盜刷功能,有效防止惡意請求和DDoS攻擊。