内网服务器挂在公网总被打?华为防火墙入侵防御按签名实时阻断
公司出口摆了一台防火墙,安全策略配得再细,本质上多数时候也只是在回答"放行还是拒绝"——放过去的流量里如果藏着攻击行为,防火墙睁一只眼闭一只眼。员工上网点了个挂马的网站、对外发布的 Web 服务器被人天天扫描试探,这些流量在普通策略眼里都是"正常访问"。要在这条通道上把攻击行为实时认出来并当场掐断,靠的是入侵防御(IPS):它基于攻击特征库把报文内容和攻击签名做比对,命中就按设定的动作阻断,而不是事后翻日志。华为防火墙的 IPS 功能挂在安全策略里引用配置文件生效,官方文档给了一套完整的命令行举例——保护内网用户和保护内部 Web 服务器两条策略一次配齐,本篇把这套命令从头到尾走一遍,配置脚本一并附上。
本文的组网需求、配置思路与命令步骤,整理自华为官方发布的典型配置案例,参数可直接参考使用。
组网需求
某企业在网络边界处部署 DeviceA 作为安全网关。该组网中:
- 内网用户可以访问 Internet 的 Web 服务器。
- 内网的 Web 服务器向内网用户和 Internet 用户同时提供服务。
本例中 interface1、interface2、interface3 分别代表 GE0/0/1、GE0/0/2、GE0/0/3。
企业需要在 DeviceA 上配置入侵防御功能,具体要求两条:
- 保护内网用户:内网用户访问 Internet 的 Web 服务器时不受攻击,比如 Web 网站本身含有恶意代码,要在防火墙上拦下来。
- 保护内部网络的 Web 服务器:防范 Internet 用户和内网用户对内部 Web 服务器发起的攻击,两个方向一起管。
配置思路
本例的配置分三步走,全部落在 DeviceA 上:
- 配置接口 IP 地址和安全区域,完成网络基本参数配置——三个接口分别归入 trust(内网用户)、dmz(Web 服务器)、untrust(外网)三个区域。
- 创建安全策略 policy_sec_1,引用缺省的入侵防御配置文件 default,保护内网用户免受来自 Internet 的攻击。
- 创建安全策略 policy_sec_2,引用缺省的入侵防御配置文件 web_server,保护内网 Web 服务器免受来自内网用户和 Internet 的攻击。
核心逻辑一句话:安全策略决定"哪些流量走哪条规则",IPS 配置文件决定"这些流量按什么口径查攻击";default 和 web_server 都是系统缺省的配置文件,拿来即用,两条策略各引各的,用户和服务器互不漏防。
操作步骤
一、配置接口IP地址和安全区域,完成网络基本参数配置
<HUAWEI> system-view
[HUAWEI] sysname DeviceA
[DeviceA] interface ge 0/0/1
[DeviceA-GE0/0/1] ip address 1.1.1.1 255.255.255.0
[DeviceA-GE0/0/1] quit
[DeviceA] interface ge 0/0/2
[DeviceA-GE0/0/2] ip address 10.2.0.1 255.255.255.0
[DeviceA-GE0/0/2] quit
[DeviceA] interface ge 0/0/3
[DeviceA-GE0/0/3] ip address 10.3.0.1 255.255.255.0
[DeviceA-GE0/0/3] quit
[DeviceA] firewall zone trust
[DeviceA-zone-trust] add interface ge 0/0/3
[DeviceA-zone-trust] quit
[DeviceA] firewall zone dmz
[DeviceA-zone-dmz] add interface ge 0/0/2
[DeviceA-zone-dmz] quit
[DeviceA] firewall zone untrust
[DeviceA-zone-untrust] add interface ge 0/0/1
[DeviceA-zone-untrust] quit
三接口三区域各就各位:GE0/0/3(10.3.0.1/24)是内网用户网关,归 trust;GE0/0/2(10.2.0.1/24)接内部 Web 服务器,归 dmz;GE0/0/1(1.1.1.1/24)朝外,归 untrust。后面两条策略的区域对就是从这三个区域里取的。
二、配置Trust区域和Untrust区域之间的安全策略,引用入侵防御配置文件default
[DeviceA] security-policy
[DeviceA-policy-security] rule name policy_sec_1
[DeviceA-policy-security-rule-policy_sec_1] source-zone trust
[DeviceA-policy-security-rule-policy_sec_1] destination-zone untrust
[DeviceA-policy-security-rule-policy_sec_1] source-address 10.3.0.0 24
[DeviceA-policy-security-rule-policy_sec_1] profile ips default
[DeviceA-policy-security-rule-policy_sec_1] action permit
[DeviceA-policy-security-rule-policy_sec_1] quit
这条管"员工上网"方向:源区域 trust、目的区域 untrust,源地址限定内网用户网段 10.3.0.0/24,动作是 permit,但放行之前先过一道 profile ips default——缺省配置文件的检测口径罩在这批流量上,访问的 Web 网站带恶意代码就会被阻断。
三、配置从Trust区域到DMZ区域、从Untrust区域到DMZ区域的安全策略,引用入侵防御配置文件web_server
[DeviceA-policy-security] rule name policy_sec_2
[DeviceA-policy-security-rule-policy_sec_2] source-zone trust untrust
[DeviceA-policy-security-rule-policy_sec_2] destination-zone dmz
[DeviceA-policy-security-rule-policy_sec_2] destination-address 10.2.0.0 24
[DeviceA-policy-security-rule-policy_sec_2] profile ips web_server
[DeviceA-policy-security-rule-policy_sec_2] action permit
[DeviceA-policy-security-rule-policy_sec_2] quit
[DeviceA-policy-security] quit
这条管"访问服务器"方向:源区域一次写了 trust 和 untrust 两个值,内网用户和外网用户访问内部 Web 服务器走同一条规则,目的地址 10.2.0.0/24 对准服务器网段,检测交给面向服务器场景的缺省配置文件 web_server。
四、保存配置信息
保存配置,以便设备下次启动时自动加载上述配置:
[DeviceA] quit
<DeviceA> save
检查配置结果
配置完成后从两个口径验证:
- 发生攻击事件时,访问连接被阻断,并且在设备上可以查看到 IPS 模块的威胁日志——有没有拦到东西,威胁日志说了算。
- 执行 display ips statistics 命令可以查看入侵防御的统计信息。
统计信息用来看检测量与命中量的量级,威胁日志用来看具体拦了哪些攻击、命中了什么签名,两个对得上,防御就真的在干活。
配置脚本
DeviceA 的配置脚本:
#
sysname DeviceA
#
interface GE0/0/1
ip address 1.1.1.1 255.255.255.0
#
interface GE0/0/2
ip address 10.2.0.1 255.255.255.0
#
interface GE0/0/3
ip address 10.3.0.1 255.255.255.0
#
firewall zone trust
add interface GE0/0/3
#
firewall zone untrust
add interface GE0/0/1
#
firewall zone dmz
add interface GE0/0/2
#
security-policy
rule name policy_sec_1
source-zone trust
destination-zone untrust
source-address 10.3.0.0 24
profile ips default
action permit
rule name policy_sec_2
source-zone trust
source-zone untrust
destination-zone dmz
destination-address 10.2.0.0 24
profile ips web_server
action permit
注意事项
- 本举例出自华为 USG 系列防火墙的官方典型配置案例,落到具体设备前,请核对你的设备型号与软件版本对入侵防御功能的支持情况。
- default 与 web_server 是系统缺省的入侵防御配置文件,分别面向上网用户防护与服务器防护两类场景,直接引用即可;后续要自定义签名过滤的范围与响应动作,再在其基础上另建配置文件调整。
- 特征库决定识别能力:入侵防御靠攻击特征库认攻击,特征库要保持升级,长期不升级,新出现的攻击就认不出来。
- 策略的区域方向要与真实流量走向一致:本例两条策略分别盖住"内网上外网"与"内外网访问服务器"两个方向,漏配一个区域对,那个方向的流量就不受 IPS 检测。
- IPS 配置文件是挂在安全策略里生效的,动作 permit 与入侵防御不矛盾——先检测后放行,命中攻击签名的连接才被阻断。
配置文件不必一上来就自己造——像本例这样先把缺省模板挂上跑起来,交给诚鑫致达科技盯上一周威胁日志,有误拦再谈收紧或放宽签名过滤,同时记得让特征库保持升级,防御能力才不缩水。各厂商设备的命令与默认参数存在差异,操作前请核对你的设备型号与软件版本。
源:华为USG防火墙官方文档