教程
🛡️

网络安全

Web 安全、渗透测试、密码学与安全合规的系统化教程。

防火墙与 WAF:边界防护的第一道和第二道闸

防火墙管"谁能访问哪个端口",WAF 管"HTTP 请求里有没有攻击"。这篇讲清两者定位差异、部署方式、核心规则(ACL、黑白名单、CC 防护、防注入)、常见误报处理,以及日常运维注意事项。

· 更新于 2026-07-19 阅读量 --

边界防护是纵深防御的第一道闸。新手最容易混淆两个设备:防火墙WAF(Web 应用防火墙)。简单区分:防火墙管”网络层谁能连哪个端口”,WAF 管”应用层 HTTP 请求里有没有攻击”。这篇把两者讲清。

本文仅作原理与运维要点科普,所有配置请在自有或已授权网络中进行。

防火墙:网络层的”门卫”

防火墙基于五元组(源 IP、目的 IP、源端口、目的端口、协议)做访问控制,工作在 OSI 三/四层。

核心能力

  • ACL(访问控制列表):定义”允许/拒绝”哪些流量。原则是默认拒绝(白名单),只放行业务必需的。
  • NAT:隐藏内网结构,公网只看到一个出口 IP。
  • VPN:建立加密隧道,远程安全接入。
  • 状态检测:跟踪连接状态,只放行”属于已建立合法连接”的回包,挡住非法入站。

部署位置:互联网出口、内网各安全域之间(如 DMZ 与核心区)。

示例 ACL 思路(白名单):
允许 办公网 → 生产网 : 22(堡垒机代理)
允许 公网 → WEB服务器 : 80,443
拒绝  公网 → 数据库 : 3306   # 数据库绝不暴露公网
允许  WEB → 数据库 : 3306(仅限 WEB 的 IP)

WAF:应用层的”安检仪”

WAF 专门守护 Web 应用,工作在七层,能读懂 HTTP。它拦的是应用层攻击:SQL 注入、XSS、文件包含、Webshell 上传、恶意爬虫、CC 攻击。

核心能力

  • 规则防护:基于攻击特征(正则/语义)识别 SQLi、XSS 等,对应 OWASP Top 10。
  • CC/限速:限制单 IP 请求频率,防刷、防 DDoS 应用层。
  • 防爬/防扫描:识别扫描器 UA、异常访问模式。
  • 虚拟补丁:在应用代码未修前,用 WAF 规则临时拦截针对某漏洞的利用(争取修复时间)。

部署方式

  • 串接反向代理:WAF 在 Web 前,所有 HTTP 必经它(最常见)。
  • 透明桥接:串在链路上,对网络透明。
  • 云 WAF:域名 CNAME 指向云厂商,流量先过云再回源。

防火墙 vs WAF:别搞混

维度防火墙WAF
工作层网络层(3/4 层)应用层(7 层)
看什么IP、端口、协议HTTP 方法、URL、参数、Body
拦什么非法端口/IP 访问SQLi、XSS、上传马、CC
看不到请求里的内容
典型误拦端口策略过严业务正常参数被当注入

一句话:防火墙决定”包能不能到”,WAF 决定”到了的请求安不安全”。两者互补,不能互相替代。

规则调优与误报处理

设备刚上时误报最多,必须调:

  • 误报(False Positive):正常业务请求被拦。处理:分析拦截日志,把业务正常特征加白名单,或细化规则(避免”一刀切”正则)。
  • 漏报(False Negative):攻击没拦住。处理:补充规则、升级规则库、结合威胁情报。
  • 学习/观察模式:WAF 上线先跑”仅告警不拦截”一段时间,收集误报再切”拦截”,避免一上来就误伤业务。

经验:WAF 默认规则常把含 select正常搜索参数误判为 SQLi。上线务必用真实业务流量做误报测试,再开拦截。

日常运维注意事项

  • 策略最小化:ACL 只放行必需,定期清理过期规则(“临时放通”最容易变成永久漏洞)。
  • 规则库及时更新:WAF/IPS 靠特征库,过期就拦不住新攻击。
  • 高可用:边界防火墙/NGFW 必须双机热备,它挂了=全网断。
  • 日志外发:防火墙/WAF 日志进 SIEM,既用于审计也用于攻击溯源。
  • 变更评审:改边界策略影响全网,必须走审批,改前备份、改后验证。

常见误区

  • 只装防火墙不装 WAF:网络层放通了 80/443,应用层攻击(SQLi/XSS)直接打到应用。
  • WAF 默认规则直接拦截:没做误报测试,误伤业务被投诉。
  • 防火墙 ACL 全通”图省事”:等于没防护,且违反等保访问控制要求。
  • 策略只加不删:临时放通的端口忘了回收,留下长期暴露面。

进阶:WAF 与 RASP 的配合

WAF 在请求入口拦,但有些攻击(如反序列化、逻辑越权)特征难在流量里识别。进阶是在应用内部署 RASP(运行时应用自保护),它在应用运行时拦”真正危险的操作”(如执行系统命令、读敏感文件),和 WAF 形成”入口+内部”双层。这部分属于应用层防护进阶。

自测题

  1. 防火墙和 WAF 在工作层和防护对象上有何本质区别?
  2. 为什么 WAF 上线要先跑”仅告警”再切”拦截”?
  3. 防火墙 ACL 为什么要用”默认拒绝”白名单?
  4. WAF 可能拦不住哪类攻击?可以怎么补?

实战要点与深度解析

防火墙/WAF 运维里最典型的”配了等于没配”,是策略只加不删、只宽不紧。比如某次排障临时放行了 any → any : 3306,事后再没人回收,数据库就此长期裸奔在公网;又比如 WAF 为了”不误报”把规则阈值调得极松,SQL 注入特征都放过了。策略是”活的东西”,必须有生命周期:新增要评审、临时放通要带到期日、定期审计清理过期项。很多单位防火墙跑了五年,策略表长得没人敢动,恰恰是最危险的状态。

再谈一个 WAF 的进阶用法:虚拟补丁(Virtual Patch)。当应用出现一个高危漏洞、但代码修复要两周才能上线,这段时间就是”裸奔期”。WAF 可以在入口层写一条针对性规则,临时拦截针对该漏洞的利用请求(如特定参数特征、特定 URL 路径),等于给应用打了”创可贴”,争取修复时间。这是 WAF 区别于普通防火墙的独特价值——它懂应用语义,能在代码修好前先挡住利用。

关于 云 WAF 与回源安全:用了云 WAF 后,攻击者可能绕过云 WAF 直接打你的源站 IP(如果源站 IP 暴露)。所以启用云 WAF 的同时,必须在源站只放行云 WAF 的回源 IP、封掉其他对源站的公网访问,否则云 WAF 形同虚设。这是上云后极高频的配置遗漏,值得单列进检查清单。

还有一个现实权衡:误报 vs 漏报的旋钮往哪拧。WAF 默认偏”宁可错杀”还是”宁可放过”,取决于业务性质。金融、政务类怕漏(一次攻击代价极大),可偏严格;普通展示站怕误伤(误拦真用户流失),可偏宽松 + 观察。但无论偏哪边,都要”可观测”——严格时监控误报、宽松时监控漏过的攻击特征,用数据持续调,而不是”设完不管”。

最后提醒:防火墙不是隔离的替代品。很多人以为”内网机器不用管,反正有边界防火墙”。但攻击者一旦进内网(钓鱼、供应链、VPN 漏洞),平坦的内网就是任意横向的乐园。所以内网也要分区(核心/办公/DMZ)、也要主机层防护(EDR)、也要运维审计(堡垒机)。边界防火墙是第一道闸,不是唯一一道闸。

进阶速记与误区辨析

防火墙与 WAF 这块也有几组容易让人配了等于没配的情况,专门辨析。

第一组,策略只加不删。为了排障临时放行了一个宽松规则,事后没人回收,结果数据库长期裸奔在公网。策略是活的东西,必须有生命周期,临时放通要带到期日,定期审计清理过期项。

第二组,边界与内网。很多人以为有了边界防火墙,内网机器就不用管。但攻击者一旦通过钓鱼或者供应链进内网,平坦的内网就是任意横向的乐园。所以内网也要分区、也要主机层防护、也要运维审计,边界是第一道闸不是唯一一道闸。

第三组,云 WAF 与源站。用了云 WAF 之后,如果源站地址暴露,攻击者可以绕过云 WAF 直接打源站。所以启用云 WAF 的同时必须只在源站放行云平台的回源地址,封掉其他对源站的公网访问,否则云 WAF 形同虚设。

第四组,误报与漏报的旋钮。这条线往哪边拧取决于业务性质,怕漏的偏严格,怕误伤的偏宽松,但无论偏哪边都要可观测,用数据持续调,而不是设完不管。

速记收尾:策略要回收、内网也要防、云 WAF 要锁源站、旋钮要可观测。四句话对应边界防护四个最容易被忽视的环节。

这一篇你该记住的

  • 防火墙管网络层(IP/端口/协议)访问控制,原则默认拒绝白名单 + 状态检测。
  • WAF 管应用层 HTTP,拦 SQLi/XSS/上传/CC,可给”虚拟补丁”争取修复时间。
  • 两者互补:防火墙决定包到不到,WAF 决定请求安不安全。
  • WAF 上线先观察模式收误报,再切拦截;规则库及时更新。
  • 边界设备高可用、日志外发、策略最小且定期清理。
  • 进阶用 RASP 补 WAF 拦不住的内部危险操作。

下一篇我们看 IDS / IPS:旁路检测与实时拦截。