温馨提示×

Debian Apache防火墙设置建议

小樊
36
2025-12-27 15:52:36
栏目: 智能运维

Debian Apache 防火墙设置建议

一 基础原则与默认策略

  • 仅开放必要端口:Web 服务建议仅放行 TCP 80/443;如需远程管理再放行 SSH 22,并优先使用密钥登录。
  • 默认拒绝入站、放行出站:未明确允许的入站连接一律拒绝,减少攻击面。
  • 变更前备份与先测后用:保存当前规则并在测试环境验证,避免锁死 SSH 或误封业务。
  • 规则持久化:确保重启后规则仍然生效,避免配置丢失。
  • 持续维护:定期审查日志与规则,及时修补与优化。

二 使用 UFW 的推荐配置

  • 安装与启用
    • 安装:sudo apt update && sudo apt install ufw
    • 设置默认策略:sudo ufw default deny incoming;sudo ufw default allow outgoing
    • 启用:sudo ufw enable
  • 放行 Web 与 SSH
    • 一键放行 Web:sudo ufw allow ‘Apache Full’(等价于放行 80/tcp443/tcp
    • 或分别放行:sudo ufw allow 80/tcp;sudo ufw allow 443/tcp
    • 放行 SSH(如需要):sudo ufw allow 22/tcp
  • 验证与维护
    • 查看状态:sudo ufw status(或 sudo ufw status numbered 便于按编号删除/调整)
    • 变更后重载:sudo ufw reload
    • 关闭(慎用):sudo ufw disable
  • 说明
    • UFW 规则默认持久化;在启用前确认 SSH 已放行,避免被锁。

三 使用 iptables 的推荐配置

  • 安装与放行
    • 安装:sudo apt update && sudo apt install iptables
    • 放行 Web:sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    • 放行 Web:sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    • 放行 SSH(如需要):sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • 默认拒绝与状态检查
    • 默认拒绝入站:sudo iptables -A INPUT -j DROP
    • 查看规则:sudo iptables -L -v -n
  • 持久化保存
    • 安装持久化组件:sudo apt install iptables-persistent
    • 保存规则:sudo netfilter-persistent save(或 sudo iptables-save > /etc/iptables/rules.v4
    • 重载规则:sudo netfilter-persistent reload
  • 提示
    • 若通过 SSH 管理,务必先放行 22/tcp 再设置默认 DROP,或在本地控制台操作以避免失联。

四 进阶安全与运维建议

  • 限制管理入口:对后台或管理路径(如 /admin)仅允许可信 IP 段访问,示例(在 Apache 配置中):
    • <Directory “/var/www/html/admin”>
      • Options -Indexes +FollowSymLinks
      • Require ip 192.168.1.0/24
  • 隐藏版本信息:编辑 /etc/apache2/conf-enabled/security.conf
    • ServerTokens Prod
    • ServerSignature Off
  • 强制 HTTPS 与证书:使用 Let’s Encrypt 获取免费证书并自动续期
    • 安装:sudo apt install certbot python3-certbot-apache
    • 申请并配置:sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
  • 日志与监控:关注 /var/log/apache2/access.logerror.log,对异常请求(如大量 404/500)及时处置。

0