Apache2 防护 DDoS 的实用方案
一 分层防护思路
二 关键模块与配置示例
<IfModule mod_evasive20.c>
DOSHashTableSize 32768
DOSPageCount 20
DOSSiteCount 100
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 600
DOSLogDir "/var/log/apache2/evasive"
DOSEmailNotify admin@domain.com
</IfModule>
<IfModule mod_reqtimeout.c>
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</IfModule>
<IfModule mod_qos.c>
QS_ClientEntries 100000
QS_SrvMaxConnPerIP 50
MaxClients 256
QS_SrvMaxConnClose 180
QS_SrvMinDataRate 150 1200
</IfModule>
SecRule REQUEST_URI "@rx \.(php|asp|aspx|jsp)$" \
"id:1000001,phase:2,block,t:none,log,msg:'Blocking direct access to PHP/ASP/ASPX/JSP files',severity:'CRITICAL'"
以上模块与参数可有效缓解 HTTP Flood/CC 与 Slowloris/Slow POST 等常见攻击形态。三 系统与网络层加固
四 检测与验证
五 运维与架构建议