在 Debian 上运行 Apache 时,防止攻击通常需要系统层 + Web 层 + 应用层一起做。下面按实用优先级给你一套方案。
apt update
apt upgrade -y
定期打补丁,避免已知漏洞。
使用 ufw:
apt install ufw
ufw default deny incoming
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable
编辑:
nano /etc/apache2/conf-enabled/security.conf
修改:
ServerTokens Prod
ServerSignature Off
避免列目录:
<Directory /var/www/>
Options -Indexes
AllowOverride All
</Directory>
a2dismod autoindex status cgi
Web 应用防火墙(WAF)
apt install libapache2-mod-security2
a2enmod security2
启用规则:
cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
编辑:
SecRuleEngine On
重启:
systemctl restart apache2
使用 mod_evasive:
apt install libapache2-mod-evasive
a2enmod evasive
配置示例:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 10
DOSSiteCount 50
DOSBlockingPeriod 60
</IfModule>
apt install certbot python3-certbot-apache
certbot --apache
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!aNULL:!MD5
<Directory /admin>
Require ip 1.2.3.4
</Directory>
a2enmod ratelimit
<Location />
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 100
</Location>
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log
apt install fail2ban
可自动封 IP。
✅ 防火墙
✅ 隐藏 Apache 信息
✅ ModSecurity
✅ HTTPS
✅ 定期更新
如果你愿意,我可以: