第207篇:防火墙入侵防御(IPS)基础

关键词:IPS、入侵防御、特征库、入侵防御策略、攻击签名、虚拟补丁、透明IPS、性能影响

一、引言

随着网络安全威胁的日益复杂化,传统的基于端口和协议的访问控制已不足以应对零日漏洞利用、Web 应用攻击、蠕虫传播等高级威胁。入侵防御系统(Intrusion Prevention System, IPS)作为防火墙的高级安全功能,通过深度检测报文内容中的攻击特征,在网络边界实时阻断恶意流量。

IPS 功能使防火墙从"看门人"升级为"安检员"——不仅检查你是否有通行证(安全策略),还要检查你携带的物品是否危险(报文内容)。理解 IPS 的工作原理、配置方式和性能影响,是构建纵深防御体系的关键环节。

二、核心概念

2.1 IPS 的工作原理

IPS 采用基于特征库(Signature Database)的检测机制,对通过防火墙的数据包进行深度内容检查。整个过程包括四个阶段:

  1. 协议解析:对 HTTP、SMTP、FTP 等应用层协议进行深度解析,还原应用层载荷
  2. 特征匹配:将报文内容与特征库中的攻击签名逐条比对
  3. 异常检测:识别协议异常行为,如超长 URI、非法 TCP 标志组合
  4. 处置动作:匹配到攻击特征后执行阻断、告警或放行

2.2 IPS 攻击分类

华为防火墙 IPS 特征库覆盖的主要攻击类型:

攻击类别 典型攻击 危害级别 检测方式
系统攻击 Buffer Overflow、远程代码执行 严重 特征匹配
Web 攻击 SQL 注入、XSS、命令注入 严重 正则匹配
蠕虫传播 Conficker、Stuxnet 等 严重 特征匹配
信息泄露 目录遍历、敏感信息暴露 中等 模式匹配
网络扫描 Nmap 扫描、端口扫描 低 行为分析
DoS 攻击 SYN Flood、UDP Flood 严重 统计阈值

2.3 IPS 与 IDS 的区别

对比项 IDS(入侵检测) IPS(入侵防御)
部署方式 旁路镜像 内联串接
检测方式 被动监听 主动检测
处置能力 仅告警 阻断+告警
延迟影响 无 微秒级延迟
漏报率 较低 较低
误报率 较高 需持续调优

防火墙内置的 IPS 功能采用内联部署模式,所有流量必须经过 IPS 检测引擎才能转发,因此可以实现实时阻断恶意流量。

三、技术细节

3.1 IPS 检测流水线

IPS 检测流水线 - 图示

3.2 IPS 特征库管理

IPS 的防护能力完全依赖于特征库的完整性和时效性。华为防火墙 IPS 特征库包含:

特征库类型 内容 更新频率
主特征库 所有已知攻击签名 每周更新
增量特征库 新增漏洞签名 每日更新
病毒特征库 恶意代码特征 每日更新
URL 特征库 恶意网站地址 实时更新

特征库的更新机制: - 防火墙自动连接华为 Cloud 更新服务器下载最新版本 - 支持手动上传特征库文件进行离线更新 - 特征库版本信息可通过命令行查看

3.3 IPS 性能影响

IPS 深度检测不可避免地会带来性能开销:

检测深度 吞吐量影响 延迟增加
L3/L4 检测 约 10% < 50μs
应用层检测 约 30% 50-200μs
全内容检测 约 50% 200-500μs

为降低性能影响,华为防火墙采用硬件加速的 IPS 引擎(SecEngine),将特征匹配卸载到专用 ASIC 芯片上执行。

四、实战配置/案例分析

4.1 IPS 基础配置

# ============================================
# 步骤1:更新IPS特征库
# ============================================
# 查看当前特征库版本
display ips profile
display ips signature

# 通过Cloud更新(需联网)
ips signature update server cloud
# 或手动上传特征库文件
update ips signature file flash:/ips_signature_20240901.pkg

# ============================================
# 步骤2:创建IPS防御策略
# ============================================
ips-policy
 # 创建IPS策略
 policy name IPS_Strict
  # 开启所有严重级别攻击的阻断
  attack-severity critical action reset
  attack-severity high action reset
  attack-severity medium action alarm
  attack-severity low action alarm
  # 开启Web攻击防护
  web-attack sql-injection enable action reset
  web-attack xss enable action reset
  web-attack command-injection enable action reset
  # 开启蠕虫防护
  worm enable action reset
  # 开启虚拟补丁(针对已知漏洞)
  vulnerability enable action reset
 quit

 # 创建宽松策略(用于低安全要求区域)
 policy name IPS_Loose
  attack-severity critical action reset
  attack-severity high action alarm
  attack-severity medium action pass
  attack-severity low action pass
 quit

4.2 IPS 与安全策略联动

# ============================================
# 在安全策略中引用IPS策略
# ============================================
security-policy
 rule name Untrust_to_DMZ
  source-zone untrust
  destination-zone dmz
  destination-address web-srv
  action permit
  service http https
  # 关联IPS严格策略
  ips-policy IPS_Strict
  log-action enable
 quit

 rule name Untrust_to_Trust
  source-zone untrust
  destination-zone trust
  action permit
  # 关联IPS严格策略,所有入站流量深度检测
  ips-policy IPS_Strict
  log-action enable
 quit

 rule name Trust_to_Untrust
  source-zone trust
  destination-zone untrust
  action permit
  # 出站流量使用宽松IPS策略
  ips-policy IPS_Loose
 quit

4.3 故障案例:IPS 误报阻断正常业务

故障现象:企业上线新的 ERP 系统后,用户反馈部分页面无法打开,浏览器显示"连接被重置"。

排查过程:

  1. 查看 IPS 告警日志:
display ips log
# 发现大量 SQL 注入攻击告警
# 签名ID:2001-2030
# 源IP:10.1.50.100(ERP服务器)
# 目的IP:10.1.200.10(数据库服务器)
  1. 分析告警详情:
display ips log signature-id 2001-2030
# 告警内容显示:检测到SQL注入特征 "UNION SELECT"
# 但实际流量是ERP系统正常的数据库查询语句
  1. 根因分析:ERP 系统的 ORM 框架生成的 SQL 查询中包含 "UNION SELECT" 语法,被 IPS 的 SQL 注入特征规则误判为攻击。这是典型的 IPS 误报案例。

  2. 修复措施:

# 方法1:将误报签名加入白名单
ips-policy
 policy name IPS_Strict
  signature-id 2001 action pass
  signature-id 2002 action pass
  signature-id 2003 action pass
  signature-id 2004 action pass
  signature-id 2005 action pass
 quit

# 方法2:配置IPS排除规则(更精确)
ips-policy
 policy name IPS_Strict
  exclude source-ip 10.1.50.100 destination-ip 10.1.200.10 signature-id 2001-2030
 quit
  1. 经验总结:IPS 误报是生产环境常见问题,处理方法:
  2. 先分析告警详情确认是否为真实攻击
  3. 确认误报后将对应签名加入白名单
  4. 定期回顾白名单,防止过期规则降低防护能力
  5. 新业务上线前进行 IPS 策略兼容性测试

五、IPS进阶与扩展指南

5.1 IPS特征库签名结构详解

字段 说明 示例
签名ID 唯一标识 2001
签名名称 攻击描述 SQL Injection via UNION SELECT
攻击类型 分类 Web Attack > SQL Injection
严重级别 影响程度 High
描述 详细攻击说明 检测HTTP请求中的UNION SELECT语句
协议 适用协议 HTTP
方向 检测方向 Client-to-Server
匹配模式 正则/字符串/字节 正则表达式
参考信息 CVE/RFC编号 CVE-2023-XXXX

5.2 IPS处置策略分级矩阵

严重级别 入站(Untrust→Trust) 出站(Trust→Untrust) DMZ访问 说明
Critical 阻断(reset) 告警(alarm) 阻断(reset) 已知漏洞利用
High 阻断(reset) 告警(alarm) 阻断(reset) 高危攻击特征
Medium 告警(alarm) 告警(alarm) 告警(alarm) 可疑行为
Low 告警(alarm) 放行(pass) 放行(pass) 信息收集类

5.3 IPS检测引擎架构

IPS检测引擎架构 - 图示

5.4 IPS 误报调优方法

方法 适用场景 操作 风险
签名白名单 确定误报的签名 将该签名改为pass 降低防护能力
排除规则 特定IP对之间的误报 配置源/目的IP排除 范围需精确
降低严重级别 不确定是否误报 将阻断改为告警观察 暂时不防护
签名关闭 长期误报且无法排除 关闭该签名 永久降低防护
精细化策略 不同区域不同策略 DMZ严格/内网宽松 增加管理复杂度
# IPS误报调优完整示例
ips-policy
 policy name IPS_Strict
  # 方法1:签名白名单
  signature-id 2001 action pass
  signature-id 2002 action pass

  # 方法2:排除规则(精确控制)
  exclude source-ip 10.1.50.100 destination-ip 10.1.200.10 signature-id 2001-2030

  # 方法3:临时降级观察
  signature-id 3050 action alarm

  # 方法4:按区域差异化策略
  # DMZ区域使用严格策略
  # 内网使用宽松策略
 quit
quit

# 定期审计白名单(月度脚本)
# 导出IPS白名单签名列表,逐个确认是否仍需白名单
display ips-policy name IPS_Strict | include pass

5.5 虚拟补丁(Virtual Patch)详解

虚拟补丁特性 说明
定义 在网络边界部署的漏洞防护措施,无需在目标系统上安装补丁
原理 IPS识别漏洞利用特征,在攻击到达目标前拦截
适用场景 无法及时打补丁的系统、遗留系统、第三方应用
局限性 仅防护已知漏洞、无法防护0-day变种、增加网络延迟
与真实补丁关系 临时替代方案,最终仍需安装真实补丁
# 虚拟补丁配置示例(针对Log4j CVE-2021-44228)
ips-policy
 policy name IPS_Virtual_Patch
  # Log4j JNDI注入防护
  vulnerability CVE-2021-44228 enable action reset
  # Spring4Shell防护
  vulnerability CVE-2022-22965 enable action reset
  # Apache Struts防护
  vulnerability CVE-2023-50164 enable action reset
  # FastAPI防护
  vulnerability CVE-2024-24762 enable action reset
 quit
quit

5.6 IPS性能优化方案

优化项 方法 效果
选择性检测 仅对高危区域启用IPS 减少30-50%检测量
协议过滤 仅检测HTTP/SMTP等应用协议 减少50%检测量
硬件加速 启用SecEngine硬件加速 吞吐量提升3-5倍
签名精简 关闭不适用的签名 降低匹配延迟
会话复用 同一会话复用检测结果 减少重复检测

六、总结

知识点 核心要点
IPS 原理 基于特征库深度检测报文内容
攻击分类 系统攻击、Web攻击、蠕虫、信息泄露、扫描、DoS
IPS vs IDS IPS内联阻断,IDS旁路告警
特征库 主库/增量库/病毒库/URL库,需定期更新
配置方式 IPS策略定义处置动作,安全策略引用IPS策略
处置动作 阻断(reset)、告警(alarm)、放行(pass)
性能影响 深度检测降低吞吐量,SecEngine硬件加速缓解
误报处理 白名单签名或配置排除规则

思考

  1. IPS 特征库更新后,新特征立即生效还是需要重启 IPS 引擎?频繁更新特征库对防火墙性能有什么影响?
  2. 当 IPS 策略配置为"阻断"模式时,如果防火墙的 IPS 引擎因过载而停止检测,流量是被放行还是被丢弃?为什么?
  3. 虚拟补丁(Virtual Patch)是如何在不修改目标系统代码的情况下实现漏洞防护的?它与操作系统级别的安全补丁有什么区别?

下篇预告:第208篇:防火墙反病毒与 URL 过滤