首页/安全/安全加固速查/出方向限制(egress 白名单)
防火墙与访问控制50 条

出方向限制(egress 白名单)

默认放行的出方向是数据外带与 C2 回连通道;高安全区可改为出方向白名单(DNS/时间同步/更新源/业务依赖),对横向移动同样有效。

安全加固速查安全更新于 2026-10-13

为什么只管入方向不够

多数防火墙只做入方向限制,出方向默认全放行。这正是数据外带、挖矿矿池连接与 C2 回连最依赖的通道:主机一旦被入侵,攻击者可以自由往外连。高安全区可改为出方向白名单,只放行 DNS、时间同步、补丁源与业务依赖,并保留已建立连接的放行。它对横向移动同样有效,能显著压缩攻击者的操作空间。

基本信息

适用平台Linux(iptables/nftables)、云安全组、硬件防火墙
风险等级中
基线高安全区出口白名单
必要放行DNS、NTP、补丁与镜像源、监控上报、业务依赖
日志要求被丢弃的出向连接要有日志便于调优

典型使用场景

  • 高安全区主机:只允许访问指定业务对端,其余出向全部丢弃
  • 被入侵后的影响抑制:即使命令执行成功也连不出外网
  • 数据外带防护:发现异常外传行为时能第一时间阻断
  • 合规要求:等保三级要求区域边界做访问控制,包含出方向
  • 测试环境隔离:避免测试机误连生产或公网

出方向白名单骨架

出方向白名单骨架
iptables -N EGRESS
iptables -A OUTPUT -j EGRESS
iptables -A EGRESS -o lo -j ACCEPT
iptables -A EGRESS -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A EGRESS -p udp --dport 53 -d 10.0.0.53 -j ACCEPT
iptables -A EGRESS -p tcp --dport 443 -d 10.0.0.10 -j ACCEPT
iptables -A EGRESS -p udp --dport 123 -d 10.0.0.53 -j ACCEPT
iptables -A EGRESS -m limit --limit 10/min -j LOG --log-prefix 'EGRESS-DROP: '
iptables -A EGRESS -j DROP
iptables -S EGRESS | head -20            # 核对规则顺序,LOG 与 DROP 必须在最后

依赖清单逐类读法

依赖类型典型端口/目标漏放行的表现
域名解析UDP/TCP 53 到内网 DNS域名解析超时,业务表现为偶发失败
时间同步UDP 123 到 NTP 服务器时间漂移导致证书校验与日志时间异常
补丁与镜像源TCP 443 到内网源站更新失败,漏洞长期不修
监控与日志上报自定义端口到监控端监控断点,告警体系失效
业务依赖如 TCP 3306 到数据库应用连接失败,属于必须显式放行项
出方向收紧会同时影响时间同步、监控上报、镜像拉取与健康检查:先在测试环境把依赖清单跑全,再上生产,并保留带外管理通道。

落地要点

  • 先记录不阻断的观察期日志,把真实依赖都摸清楚再改成丢弃
  • 规则顺序:先放行已建立连接与必要服务,再统一丢弃,最后才是日志
  • 硬编码 IP 的白名单要随业务漂移定期核对,域名解析出的地址集合纳入变更管理
  • 分批灰度:先对一台同型机器启用,观察一周再推同一批次
  • 把出口白名单与安全组规则对齐,避免两层不一致带来的排障黑洞
日志前缀统一命名(如 EGRESS-DROP)便于在集中日志里统计被拦的目标与频次,是调优白名单的主要依据。

易错点

  • 直接上丢弃不做观察期:业务依赖没摸清,上线当天即有服务中断
  • 只加 DROP 不加 ESTABLISHED 放行:连回包都被丢,所有对外访问失效
  • 白名单写死公网 IP:对端换 IP 后业务中断,需纳入变更管理定期核对
  • 监控与日志上报漏放:出方向收紧后监控中断,故障发现能力一起被削弱

数据来源与参考

  • NIST SP 800-41 rev1:egress 过滤建议
  • 等保 2.0 三级:区域边界访问控制

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌