【開山安全笔记】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 防火墙技术演进

  1. 第一代:包过滤防火墙(仅能实现简单的访问控制)
    • 核心技术:访问控制列表(五元组)
    • 仅根据静态规则判断是否允许数据通过
  2. 第二代:代理防火墙(在应用层代理内部网络和外部网络之间的通信)
  3. 第三代:状态监测防火墙(发展史上的里程碑)
  4. 第四代:统一威胁管理(UTM)
  5. 第五代:下一代防火墙(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 部署方式

  1. 透明传输部署
    • 不改动原有网络拓扑
    • 不增加网络设备的接口
    • WAF关机不影响服务器的访问
  2. 旁路部署
  3. 反向代理部署
    • 客户端与服务器互相均不可见
    • 只转发代理策略匹配的HTTP流
  4. 镜像部署(仅检测不防护)
  5. 分布式部署

3.2 检测引擎技术

  1. 规则过滤
    • 基于预先定义的规则集过滤和阻止恶意请求
    • 规则可基于请求特征、源IP地址、请求频率等
  2. 攻击签名检测
    • 利用已知的攻击签名识别恶意流量
    • 基于已知的攻击模式或恶意代码特征
  3. 行为分析
    • 分析请求的行为模式(访问频率、连接数、用户行为等)
    • 识别与正常用户行为不符的异常行为
  4. 机器学习算法
    • 提高恶意流量识别的准确性
    • 自动适应不断变化的攻击手法
    • 实时更新防御策略

3.3 规则匹配机制

  1. 正则匹配
    • 示例:匹配函数concat()但不会匹配字符concat
    • 绕过方法:利用解析差异(如MySQL中concat ()可绕过)
  2. 语义分析
    • 将输入的参数模拟为真实语句去运行,判断结果是否有问题
    • 类似于webshell检测引擎
    • 绕过更困难,需利用WAF引擎与后端服务器引擎解析不一致

3.4 语义分析流程

  1. 词法分析
  2. 语法分析
  3. 语义分析
  4. 威胁模型匹配

4. WAF安全模型与局限性

4.1 安全模型

  1. 主动安全模型(白名单)
    • 根据允许的元素和操作列表过滤流量
    • 任何不在列表中的内容都会被阻止
    • 优势:可避免未预料到的新或未知攻击
  2. 被动安全模型(黑名单)
    • 阻止特定的攻击来源对象
    • 更易于实施
    • 缺点:不能保证所有威胁都得到解决,需维护庞大的恶意签名列表

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 高可用架构

  1. 主备方式
    • 一台主防火墙处理业务
    • 备用防火墙在主防火墙故障时接管
  2. 集群方式
    • 多台防火墙协同工作
    • 任一防火墙故障不影响整体性能
  3. 分布式架构
    • 防火墙功能模块化
    • 各模块独立部署和互不干扰

7. 总结要点

  1. WAF通过多种部署方式获取攻击流量,拦截并检查所有HTTP请求
  2. 检测技术包括规则匹配和语义分析
    • 规则匹配通常为正则匹配
    • 语义分析类似于代码执行引擎
  3. WAF提供多种防护功能:
    • Web漏洞防护
    • 扫描防护
    • CC攻击防护
    • 反爬
    • 日志记录
    • 精准访问控制
    • IP黑名单和区域封禁
  4. WAF是Web安全纵深防御体系中的重要一环,但有其局限性,需与其他安全产品配合使用
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安全纵深防御体系中的重要一环,但有其局限性,需与其他安全产品配合使用