Debian LAMP环境防火墙配置指南(以UFW为例)
UFW(Uncomplicated Firewall)是Debian系统默认推荐的防火墙工具,专为简化配置设计,适合LAMP(Linux+Apache+MySQL+PHP)这类常见Web环境。以下是详细配置步骤:
若系统未预装UFW,可通过以下命令安装:
sudo apt update && sudo apt install ufw 安装完成后,启用UFW服务(系统会提示确认,输入y并按回车):
sudo ufw enable UFW默认采用“拒绝所有传入、允许所有传出”的严格策略,符合LAMP环境的安全需求,无需额外修改。可通过以下命令验证:
sudo ufw default deny incoming # 确认默认拒绝传入 sudo ufw default allow outgoing # 确认默认允许传出 LAMP环境需开放以下端口,对应服务及用途:
127.0.0.1,见下文“高级配置”)。开放端口命令:
sudo ufw allow 80/tcp # 允许HTTP sudo ufw allow 443/tcp # 允许HTTPS sudo ufw allow 22/tcp # 允许SSH(远程管理) sudo ufw allow 3306/tcp # 允许MySQL(数据库) 通过以下命令查看当前规则及端口开放情况(verbose模式显示更详细信息):
sudo ufw status verbose 输出示例:
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing) New profiles: skip To Action From -- ------ ---- 80/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere 22/tcp ALLOW Anywhere 3306/tcp ALLOW Anywhere 80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6) 22/tcp (v6) ALLOW Anywhere (v6) 3306/tcp (v6) ALLOW Anywhere (v6) 为提升安全性,可限制仅信任IP访问敏感端口(如SSH、MySQL):
sudo ufw allow from <信任IP> to any port 22 # 仅允许指定IP访问SSH sudo ufw allow from <信任IP> to any port 3306 # 仅允许指定IP访问MySQL 将<信任IP>替换为你的实际IP地址(如192.168.1.100)。
sudo ufw status numbered 1):sudo ufw delete 1 allow命令覆盖原有规则(如将MySQL端口从3306改为3307):sudo ufw delete 4 # 先删除旧规则 sudo ufw allow 3307/tcp # 添加新规则 修改规则后,需重新加载UFW使更改生效:
sudo ufw reload 若数据库无需远程连接,可将MySQL端口限制为127.0.0.1,避免暴露在公网:
sudo ufw deny 3306/tcp # 先拒绝所有访问 sudo ufw allow from 127.0.0.1 to any port 3306 # 仅允许本地访问 若需更复杂的配置(如端口转发、IP段限制),可通过iptables实现:
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 sudo iptables -P INPUT DROP # 拒绝所有未明确允许的传入流量 sudo iptables-save > /etc/iptables/rules.v4 # Debian系统保存规则 (需提前安装iptables-persistent包以自动加载规则:sudo apt install iptables-persistent)通过以上步骤,Debian LAMP环境的防火墙可有效抵御非法访问,保障服务器及Web应用的安全。建议定期检查规则(sudo ufw status),根据业务需求调整端口开放策略。