Debian Apache安全策略有哪些
小樊
39
2025-11-24 05:30:20
Debian 上 Apache 的安全策略清单
一 基础系统与网络防护
- 保持系统与软件包为最新:执行 sudo apt update && sudo apt upgrade,及时修补漏洞。
- 仅开放必要端口:使用 ufw 放行 80/tcp(HTTP) 与 443/tcp(HTTPS),如:sudo ufw allow 80/tcp;sudo ufw allow 443/tcp;sudo ufw enable。
- 加固 SSH 访问:在 /etc/ssh/sshd_config 中设置 PermitRootLogin no、PasswordAuthentication no,使用密钥登录,降低暴力破解风险。
- 入侵防护联动:部署 fail2ban 监控 Apache 日志,自动封禁恶意 IP(如针对 4xx/5xx 或暴力路径探测)。
二 Apache 服务最小化与信息泄露防护
- 运行身份与权限:以 www-data 运行(默认),网站根目录(如 /var/www/html)属主设为 www-data:www-data,目录权限 755、文件 644,避免用 root 运行。
- 禁用不必要的模块:减少攻击面,例如禁用目录索引 a2dismod autoindex;按需禁用 headers/rewrite 等未使用模块。
- 隐藏版本与标识:在 /etc/apache2/conf-enabled/security.conf 中设置 ServerTokens Prod、ServerSignature Off,避免泄露版本与系统信息。
- 防止目录遍历与敏感文件泄露:在 中使用 Options -Indexes +FollowSymLinks;确保 .htaccess、.git 等敏感文件不可被 Web 访问(通过 Location/FilesMatch 或服务器配置限制)。
三 传输加密与证书管理
- 启用 TLS:执行 a2enmod ssl 并在虚拟主机中启用 SSLEngine on,配置证书与私钥路径。
- 获取可信证书:使用 Let’s Encrypt 自动化部署与续期:sudo apt install certbot python3-certbot-apache;sudo certbot --apache -d yourdomain.com -d www.yourdomain.com。
- 自签名证书(测试/内网):可用 openssl 生成自签名证书并配置到虚拟主机,便于加密但浏览器会告警。
四 请求安全与访问控制
- 安全响应头:启用 mod_headers 并下发关键头,建议值如下(可按站点策略收紧):
- X-Content-Type-Options: nosniff
- X-Frame-Options: SAMEORIGIN
- X-XSS-Protection: 1; mode=block
- Referrer-Policy: no-referrer-when-downgrade
- Content-Security-Policy: default-src ‘self’; script-src ‘self’(可按需增删源与指令)
启用方式:在 /etc/apache2/conf-available/security.conf 配置后执行 a2enconf security && systemctl restart apache2。
- 访问控制:对管理后台、备份目录等敏感路径基于 IP/CIDR 限制访问,例如仅内网段可访问:
<Directory “/var/www/admin”>
Require all denied
Require ip 192.168.1.0/24
- Web 应用防火墙:部署 ModSecurity + OWASP Core Rule Set(CRS) 作为额外防护层,拦截 SQLi/XSS/文件上传 等常见攻击;Debian 可安装 libapache2-mod-security2 与 modsecurity-crs,将 SecRuleEngine 设为 On/DetectionOnly 并配置审计日志路径。
五 日志监控与持续运维
- 日志与告警:持续关注 /var/log/apache2/access.log 与 error.log,结合 fail2ban 对异常行为自动封禁;可用 Logwatch/GoAccess 做统计与可视化。
- 变更与备份:变更前备份配置与数据,变更后回归验证;保持 Apache 及其模块 的安全更新,定期复核站点策略与权限。