【開山安全笔记】WAF略知一二
字数 2361 2025-08-19 12:42:00
Web应用防火墙(WAF)深度解析
1. 防火墙基础概念
1.1 防火墙定义
防火墙是作用于不同安全域之间,具备访问控制及安全防护功能的网络安全产品,通过预先制定的安全规则来监视和控制传入和传出的网络流量。这些安全规则包括:
- 用户定义的安全规则
- 通用规则如OWASP CRS
- 安全厂商根据威胁情报提取的自有漏洞或入侵规则
1.2 防火墙发展历程
- 1980年代:概念起源,莫里斯病毒催生需求
- 1990年代初:出现包过滤型路由器,开发出保护FTP流量的防火墙
- 1990年代末:关注Web应用程序防火墙(WAF)的开发
1.3 防火墙技术演进
- 第一代:包过滤防火墙(仅能实现简单的访问控制)
- 核心技术:访问控制列表(五元组)
- 仅根据静态规则判断是否允许数据通过
- 第二代:代理防火墙(在应用层代理内部网络和外部网络之间的通信)
- 第三代:状态监测防火墙(发展史上的里程碑)
- 第四代:统一威胁管理(UTM)
- 第五代:下一代防火墙(NG)
1.4 防火墙分类
按安全目的和实现原理分类:
- 网络型防火墙
- WEB应用防火墙(WAF)
- 硬件WAF
- 软件WAF(如ModSecurity)
- 云WAF
- 数据库防火墙
- 主机型防火墙
- 以上组合
2. Web应用防火墙(WAF)详解
2.1 WAF概念
WAF(Web Application Firewall)是专门为Web应用提供保护的一种设备,属于检测型及纠正型防御控制措施,主要功能包括:
- 监视和阻止与Web应用程序之间的应用层流量
- 执行针对HTTP/HTTPS的安全策略
- 工作在应用层,能够过滤特定Web应用程序的内容
2.2 WAF与常规防火墙的区别
| 特性 | 常规防火墙 | WAF |
|---|---|---|
| 工作层级 | 网络层 | 应用层 |
| 防护对象 | 整个网络 | Web应用程序 |
| 防护能力 | 基础网络攻击 | Web应用漏洞攻击 |
2.3 WAF核心功能
- 常见web漏洞防护(SQL注入、XSS等)
- 扫描防护
- CC攻击防护
- 反爬机制
- 日志记录
- 精准访问控制
- IP黑名单和区域封禁
3. WAF工作原理
3.1 部署方式
- 透明传输部署
- 不改动原有网络拓扑
- 不增加网络设备的接口
- WAF关机不影响服务器的访问
- 旁路部署
- 反向代理部署
- 客户端与服务器互相均不可见
- 只转发代理策略匹配的HTTP流
- 镜像部署(仅检测不防护)
- 分布式部署
3.2 检测引擎技术
- 规则过滤
- 基于预先定义的规则集过滤和阻止恶意请求
- 规则可基于请求特征、源IP地址、请求频率等
- 攻击签名检测
- 利用已知的攻击签名识别恶意流量
- 基于已知的攻击模式或恶意代码特征
- 行为分析
- 分析请求的行为模式(访问频率、连接数、用户行为等)
- 识别与正常用户行为不符的异常行为
- 机器学习算法
- 提高恶意流量识别的准确性
- 自动适应不断变化的攻击手法
- 实时更新防御策略
3.3 规则匹配机制
- 正则匹配
- 示例:匹配函数
concat()但不会匹配字符concat - 绕过方法:利用解析差异(如MySQL中
concat ()可绕过)
- 示例:匹配函数
- 语义分析
- 将输入的参数模拟为真实语句去运行,判断结果是否有问题
- 类似于webshell检测引擎
- 绕过更困难,需利用WAF引擎与后端服务器引擎解析不一致
3.4 语义分析流程
- 词法分析
- 语法分析
- 语义分析
- 威胁模型匹配
4. WAF安全模型与局限性
4.1 安全模型
- 主动安全模型(白名单)
- 根据允许的元素和操作列表过滤流量
- 任何不在列表中的内容都会被阻止
- 优势:可避免未预料到的新或未知攻击
- 被动安全模型(黑名单)
- 阻止特定的攻击来源对象
- 更易于实施
- 缺点:不能保证所有威胁都得到解决,需维护庞大的恶意签名列表
4.2 局限性
- 不能防止源于内部的攻击
- 不提供对内部的保护
- 不能防病毒
- 不能根据网络被恶意使用和攻击的情况动态调整策略
- 本身的防攻击能力不够,容易成为被攻击的首要目标
5. 与其他安全设备的对比
5.1 防火墙与路由器、交换机对比
| 特性 | 路由器/交换机 | 防火墙 |
|---|---|---|
| 本质 | 根据MAC地址表/路由表转发数据 | 在已连通网络中对传输数据进行控制 |
| 默认行为 | 所有流量都可以通过 | 所有流量都不让通过 |
| 控制层级 | 下四层 | 整个7层 |
| 访问控制 | ACL技术(双向) | 升级版ACL(可单向) |
5.2 与IDS/IPS的区别
- IDS(入侵检测系统):侧重于威胁检测和警报
- IPS(入侵防御系统):能自动采取措施防止检测到的攻击,是主动防御系统
- WAF:专门针对Web应用层的防护
5.3 RASP(运行时应用程序自我保护)
- 在应用运行时发挥作用
- 实时检测针对应用程序的攻击
- 分析应用程序的行为和上下文
- 可与WAF结合形成纵深防御机制
6. WAF高并发实现
6.1 并发控制技术
- 限制最大并发连接数
- 使用负载均衡技术分散流量
6.2 高可用架构
- 主备方式
- 一台主防火墙处理业务
- 备用防火墙在主防火墙故障时接管
- 集群方式
- 多台防火墙协同工作
- 任一防火墙故障不影响整体性能
- 分布式架构
- 防火墙功能模块化
- 各模块独立部署和互不干扰
7. 总结要点
- WAF通过多种部署方式获取攻击流量,拦截并检查所有HTTP请求
- 检测技术包括规则匹配和语义分析
- 规则匹配通常为正则匹配
- 语义分析类似于代码执行引擎
- WAF提供多种防护功能:
- Web漏洞防护
- 扫描防护
- CC攻击防护
- 反爬
- 日志记录
- 精准访问控制
- IP黑名单和区域封禁
- WAF是Web安全纵深防御体系中的重要一环,但有其局限性,需与其他安全产品配合使用