防火墙深入总结
字数 1240 2025-08-25 22:58:41

防火墙深入总结与配置指南

前言

防火墙是网络安全的重要组成部分,本文将从Windows和Linux两个平台深入总结防火墙的配置、管理与绕过技术,涵盖端口探测、规则配置、流量转发等关键知识点。

Windows防火墙配置与管理

基本命令

  1. 查看防火墙状态

    netsh advfirewall show allprofiles
    
  2. 开启/关闭防火墙

    netsh firewall set opmode mode=disable       # 关闭防火墙
    netsh advfirewall set publicprofile state on # 开启防火墙
    
  3. 日志管理

    netsh firewall show logging                  # 查看防火墙日志目录
    netsh advfirewall set currentprofile logging filename "C:\windows\temp\test.log" # 自定义日志位置
    

规则管理

  1. 查看所有规则

    netsh advfirewall firewall show rule name=all
    
  2. 添加规则

    netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
    
  3. 删除规则

    netsh advfirewall firewall delete rule name="rule name"
    

端口转发技术

  1. 添加转发规则

    netsh interface portproxy add v4tov4 listenport=8888 connectaddress=本机ip connectport=3389
    
  2. 查看转发规则

    netsh interface portproxy show all
    
  3. 删除转发规则

    netsh interface portproxy delete v4tov4 listenport=8888 protocol=tcp
    

Linux防火墙(iptables)配置

基本参数

参数 作用
-P 设置默认策略
-F 清空规则链
-L 查看规则链
-A 在规则链末尾加入新规则
-I num 在规则链头部加入新规则
-D num 删除某一条规则
-s 匹配来源地址IP/MASK
-d 匹配目标地址
-i 匹配流入数据的网卡
-o 匹配流出数据的网卡
-p 匹配协议(tcp,udp,icmp)

常用ACTION

  • DROP:丢弃
  • REJECT:明示拒绝
  • ACCEPT:接受
  • REDIRECT:重定向
  • RETURN:返回

常用链

  • PREROUTING: 路由判断前的规则(DNAT/REDIRECT)
  • INPUT: 处理入站数据包
  • OUTPUT: 处理出站数据包
  • FORWARD: 处理转发数据包
  • POSTROUTING: 路由判断后的规则(SNAT/MASQUERADE)

实用命令

  1. 列出所有规则并编号

    iptables -L -n --line-number
    
  2. 允许SSH访问

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  3. 禁止DNS查询

    iptables -A OUTPUT -p udp --dport 53 -j DROP
    
  4. 禁用多个出站端口

    iptables -A OUTPUT -p tcp --dport 1:65535 -j DROP
    
  5. 配置不连续端口

    iptables -A INPUT -p tcp -m multiport --dport 21:25,135:139 -j DROP
    
  6. 屏蔽单个IP

    iptables -I INPUT -s 192.168.60.1 -j DROP
    
  7. 删除规则

    iptables -D OUTPUT 1
    
  8. 保存规则

    service iptables save
    或
    iptables-save > /etc/iptables.rules
    

ICMP控制

  1. 禁止ping

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    
  2. 允许ping

    echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    

防火墙探测与绕过技术

Windows平台

  1. 探测出站规则未禁用的端口

    powershell -c "1..65535 | % {echo ((new-object Net.Sockets.TcpClient).Connect('allports.exposed',$_)) $_ } 2>$null"
    
  2. ICMP协议绕过

    • 当仅禁用特定端口出站但未禁用ICMP协议时,可通过ICMP隧道进行通信
    • 如果ICMP也被禁用,则需关闭防火墙或寻找其他方法

Linux平台探测技术

  1. 配置服务器端

    iptables -A INPUT -p tcp --dport 1:65535 -j ACCEPT
    iptables -A PREROUTING -t nat -p tcp -m multiport --dport 1:21,23:65535 -j REDIRECT --to-port 8888
    nc -lvp 8888
    
  2. 探测开放端口

    for i in {50..80}; do timeout 1 bash -c "echo > /dev/tcp/192.168.60.129/$i" && echo "$i open" || echo "$i closed"; done
    
  3. 清空规则

    iptables -t nat -F          # 清空nat表的所有链
    iptables -t nat -F PREROUTING # 清空PREROUTING表
    

总结

  1. Windows防火墙

    • 使用netsh命令管理防火墙规则
    • 可通过端口转发绕过限制
    • ICMP协议可能成为绕过点
  2. Linux防火墙

    • iptables功能强大但配置复杂
    • 支持端口范围、协议类型等多种匹配方式
    • 规则需保存才能持久化
  3. 探测技术

    • 可通过批量端口扫描发现可用出站端口
    • ICMP协议常被忽视但很有用
    • 服务器端重定向技术可用于探测
  4. 安全建议

    • 配置防火墙时应全面考虑各种协议
    • 定期检查防火墙规则
    • 重要服务应使用非标准端口
    • 记录并分析防火墙日志

掌握这些防火墙配置和绕过技术,对于网络安全攻防两端都具有重要意义。管理员可以更好地保护系统安全,而安全研究人员则可以更有效地测试系统防护能力。

防火墙深入总结与配置指南 前言 防火墙是网络安全的重要组成部分,本文将从Windows和Linux两个平台深入总结防火墙的配置、管理与绕过技术,涵盖端口探测、规则配置、流量转发等关键知识点。 Windows防火墙配置与管理 基本命令 查看防火墙状态 : 开启/关闭防火墙 : 日志管理 : 规则管理 查看所有规则 : 添加规则 : 删除规则 : 端口转发技术 添加转发规则 : 查看转发规则 : 删除转发规则 : Linux防火墙(iptables)配置 基本参数 | 参数 | 作用 | |------|------| | -P | 设置默认策略 | | -F | 清空规则链 | | -L | 查看规则链 | | -A | 在规则链末尾加入新规则 | | -I num | 在规则链头部加入新规则 | | -D num | 删除某一条规则 | | -s | 匹配来源地址IP/MASK | | -d | 匹配目标地址 | | -i | 匹配流入数据的网卡 | | -o | 匹配流出数据的网卡 | | -p | 匹配协议(tcp,udp,icmp) | 常用ACTION DROP:丢弃 REJECT:明示拒绝 ACCEPT:接受 REDIRECT:重定向 RETURN:返回 常用链 PREROUTING: 路由判断前的规则(DNAT/REDIRECT) INPUT: 处理入站数据包 OUTPUT: 处理出站数据包 FORWARD: 处理转发数据包 POSTROUTING: 路由判断后的规则(SNAT/MASQUERADE) 实用命令 列出所有规则并编号 : 允许SSH访问 : 禁止DNS查询 : 禁用多个出站端口 : 配置不连续端口 : 屏蔽单个IP : 删除规则 : 保存规则 : ICMP控制 禁止ping : 允许ping : 防火墙探测与绕过技术 Windows平台 探测出站规则未禁用的端口 : ICMP协议绕过 : 当仅禁用特定端口出站但未禁用ICMP协议时,可通过ICMP隧道进行通信 如果ICMP也被禁用,则需关闭防火墙或寻找其他方法 Linux平台探测技术 配置服务器端 : 探测开放端口 : 清空规则 : 总结 Windows防火墙 : 使用netsh命令管理防火墙规则 可通过端口转发绕过限制 ICMP协议可能成为绕过点 Linux防火墙 : iptables功能强大但配置复杂 支持端口范围、协议类型等多种匹配方式 规则需保存才能持久化 探测技术 : 可通过批量端口扫描发现可用出站端口 ICMP协议常被忽视但很有用 服务器端重定向技术可用于探测 安全建议 : 配置防火墙时应全面考虑各种协议 定期检查防火墙规则 重要服务应使用非标准端口 记录并分析防火墙日志 掌握这些防火墙配置和绕过技术,对于网络安全攻防两端都具有重要意义。管理员可以更好地保护系统安全,而安全研究人员则可以更有效地测试系统防护能力。