Debian Apache如何设置防火墙
导读:Debian 上为 Apache 配置防火墙 一、快速上手 UFW 安装并启用 UFW(若未安装): sudo apt update sudo apt install ufw sudo ufw enable 放行 Web 与 SSH...
Debian 上为 Apache 配置防火墙
一、快速上手 UFW
- 安装并启用 UFW(若未安装):
- sudo apt update
- sudo apt install ufw
- sudo ufw enable
- 放行 Web 与 SSH(避免锁死远程连接):
- 按端口:sudo ufw allow 80/tcp;sudo ufw allow 443/tcp
- 或按应用:sudo ufw allow ‘Apache Full’(同时放行 80/443)
- 放行 SSH:sudo ufw allow 22/tcp
- 常用检查与维护:
- 查看状态:sudo ufw status(或 sudo ufw status numbered 查看编号规则)
- 变更后重载:sudo ufw reload
- 临时关闭:sudo ufw disable
- 建议的默认策略(在启用前设置更安全):
- sudo ufw default deny incoming
- sudo ufw default allow outgoing
二、使用 iptables 的写法
- 允许 HTTP/HTTPS/SSH:
- sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
- sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 丢弃其他入站(谨慎:确保已放行 SSH,否则可能被远程断开):
- sudo iptables -A INPUT -j DROP
- 规则持久化(Debian 常用 iptables-persistent):
- 安装:sudo apt install iptables-persistent
- 保存:sudo netfilter-persistent save
- 重载:sudo netfilter-persistent reload
三、验证与常见问题
- 验证端口与连通性:
- 本地:ss -tlnp | grep -E ‘:(80|443)’
- 外部:curl -I http://服务器IP 或 https://域名
- 避免锁死要点:
- 在启用 UFW 或设置 DROP 策略前,务必先放行 SSH 22/tcp
- 使用 sudo ufw status numbered 核对规则顺序与命中情况
- 变更前建议备份:
- iptables:sudo iptables-save > /etc/iptables/rules.v4
- UFW:先记录规则或导出状态,再变更
四、与 Apache 的配合与安全建议
- 仅开放必要端口:生产环境通常只放行 80/443;如需远程管理再放行 22
- 启用 HTTPS:
- 安装 Certbot:sudo apt install certbot python3-certbot-apache
- 获取并自动配置证书:sudo certbot --apache -d yourdomain.com
- 基础加固(示例):
- 隐藏版本信息:在 /etc/apache2/conf-available/security.conf 中设置
- ServerTokens Prod
- ServerSignature Off
- 按需禁用不必要的模块:如 sudo a2dismod autoindex
- 隐藏版本信息:在 /etc/apache2/conf-available/security.conf 中设置
- 变更后重启 Apache:sudo systemctl restart apache2
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Apache如何设置防火墙
本文地址: https://pptw.com/jishu/748027.html
