温馨提示×

debian防火墙怎么测试

小樊
35
2025-12-23 00:54:42
栏目: 智能运维

Debian 防火墙测试步骤

一、先确认正在使用的防火墙与规则

  • 查看是否运行 UFWsudo ufw status verbose;若未安装可 sudo apt install ufw。UFW 未启用时显示 Status: inactive
  • 查看是否运行 iptablessudo iptables -L -n -v(加 --line-numbers 便于定位规则)。
  • 若系统装有 firewalld(常见于部分环境):sudo systemctl status firewalld;查看规则用 sudo firewall-cmd --list-all
  • 辅助确认监听端口:sudo ss -tulpensudo netstat -tulpen,确保被测服务本身在监听对应端口。

二、连通性测试方法与命令

  • 本机自测(服务已监听时):nmap -sT -p <端口> 127.0.0.1,验证本机策略是否放行。
  • 局域网/远程测试:从另一台机器执行 nmap -sT -p <端口> <服务器IP>,观察端口是 open/open|filtered(被放行或被过滤)还是 closed(主机未监听或被拒绝)。
  • 应用层验证:
    • HTTP/HTTPS:curl -I http://<IP>:<端口>/curl -vk https://<IP>/
    • 数据库等 TCP 服务:使用对应客户端(如 mysql -h <IP> -P <端口> -u <user> -p)验证。
  • 日志核查(UFW):开启日志 sudo ufw logging on,在 /var/log/ufw.log 中查看匹配规则的数据包是否被记录。

三、按防火墙工具的最小测试用例

  • UFW
    • 放行并验证 SSH:sudo ufw allow 22/tcpsudo ufw status numbered → 从外部 nmap -sT -p 22 <IP> 应为 open
    • 放行并验证 HTTP/HTTPS:sudo ufw allow 80,443/tcpcurl -I http://<IP>/ 应返回 200/301/302 等成功状态码。
    • 来源限制测试:sudo ufw allow from <你的IP>/32 to any port 22 → 仅该来源可连 22/tcp,其他来源应被拒绝。
  • iptables
    • 放行并验证:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPTsudo iptables -L -n -v --line-numbers 查看命中计数 → 外部 nmap 验证。
    • 删除规则:sudo iptables -D INPUT <编号>(先用 --line-numbers 查编号)。
    • 持久化(Debian 常用):sudo apt install iptables-persistentsudo netfilter-persistent save,重启后规则仍存在。
  • firewalld(如系统使用)
    • 放行并验证:sudo firewall-cmd --add-port=80/tcp --permanent && sudo firewall-cmd --reloadsudo firewall-cmd --list-ports 应含 80/tcp → 外部 curl 验证。

四、常见故障点与快速排查

  • 服务未监听:用 ss -tulpen 确认服务已在目标端口监听,否则先修复服务。
  • 默认策略过严:UFW 默认入站为 deny,确保已 sudo ufw allow <端口>/<协议>;iptables 若设 INPUT DROP,需显式放行所需端口/来源。
  • 规则顺序问题:iptables 从上到下匹配,命中即停止;必要时调整顺序或用 -I(插入到链首)优先匹配。
  • 日志定位:UFW 开启日志后查 /var/log/ufw.log;iptables 可用 sudo iptables -L -v -n 观察 pkts/bytes 计数是否增加。
  • 云厂商安全组:除系统防火墙外,还需放行云平台安全组/NACL 对应端口与来源网段。

五、安全提示

  • 远程修改防火墙时,务必先放行 SSH(22/tcp) 或使用 控制台/带外管理,避免被锁死。
  • 变更前备份规则:iptables 可用 iptables-save > /etc/iptables/rules.v4;UFW 变更后 sudo ufw status verbose 复核。
  • 生产环境建议先在测试环境验证,再推广上线。

0