03-WAF配置
本章节下载: 03-WAF配置 (270.22 KB)
WAF(Web application firewall,Web应用防火墙)是一种通过执行一系列针对HTTP/HTTPS请求的防护策略,对Web应用层攻击进行阻断的安全防护功能。WAF对来自Web应用程序客户端的请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对内网的Web服务器进行有效防护。
设备基于WAF策略对攻击报文进行处理。WAF策略中定义了匹配报文的WAF特征和处理报文的WAF动作。
WAF特征用来描述网络中的Web应用层攻击行为的特征,设备通过将报文与WAF特征进行比较来检测和防御攻击。WAF特征包含多种属性,例如攻击分类、动作、保护对象、严重级别和方向。这些属性可作为过滤条件来筛选WAF特征。
目前,设备仅支持预定义WAF特征。预定义特征由系统中的WAF特征库自动生成,设备不支持对预定义WAF特征的内容进行修改和删除。
WAF动作是指设备对匹配上WAF特征的报文做出的处理。WAF处理动作包括如下几种类型:
· 重置:通过发送TCP的reset报文断开TCP连接。
· 重定向:把符合特征的报文重定向到指定的Web页面上。
· 源阻断:阻断符合特征的报文,并会将该报文的源IP地址加入IP黑名单。如果设备上同时开启了IP黑名单过滤功能(由blacklist global enable开启),则一定时间内(由block-period命令指定)来自此IP地址的所有报文将被直接丢弃;否则,此IP黑名单不生效。有关IP黑名单过滤功能的详细介绍请参见“安全配置指导”中的“攻击检测与防范”,有关block-period命令的详细介绍请参见“DPI深度安全”中的“应用层检测引擎”。
· 丢弃:丢弃符合特征的报文。
· 放行:允许符合特征的报文通过。
· 捕获:捕获符合特征的报文。
· 生成日志:对符合特征的报文生成日志信息。
WAF处理流程如图1-1所示:
图1-1 WAF数据处理流程图
WAF功能是通过在DPI应用profile中引用WAF策略,并在虚服务器中引用DPI应用profile来实现的,WAF的具体实现流程如下:
(1) 设备识别应用层报文协议并提取报文特征。
(2) 设备将提取的报文特征与WAF特征进行匹配,并进行如下处理:
¡ 如果报文未与任何WAF特征匹配成功,则设备对报文执行允许动作。
¡ 如果报文只与一个WAF特征匹配成功,则根据此特征中指定的动作进行处理。
¡ 如果报文同时与多个WAF特征匹配成功,则根据这些动作中优先级最高的动作进行处理。动作优先级从高到低的顺序为:重置 > 重定向 > 丢弃 > 允许。但是,对于源阻断、生成日志和捕获三个动作只要匹配成功的特征中存在就会执行。
WAF特征库是用来对经过设备的应用层流量进行Web攻击检测和防御的资源库。随着网络攻击不断的变化和发展,需要及时升级设备中的WAF特征库,同时设备也支持WAF特征库回滚功能。
WAF特征库的升级包括如下几种方式:
· 定期自动在线升级:设备根据管理员设置的时间定期自动更新本地的WAF特征库。
· 立即自动在线升级:管理员手工触发设备立即更新本地的WAF特征库。
· 手动离线升级:当设备无法自动获取WAF特征库时,需要管理员先手动获取最新的WAF特征库,再更新设备本地的WAF特征库。
如果管理员发现设备当前WAF特征库对报文进行检测和防御Web攻击时,误报率较高或出现异常情况,则可以将其进行回滚到出厂版本和上一版本。
WAF功能需要购买并正确安装License才能使用。License过期后,WAF功能可以采用设备中已有的WAF特征库正常工作,但无法升级到官方网站在过期时间后发布的新版本的特征库。关于License的详细介绍请参见“基础配置指导”中的“License管理”。
WAF配置任务如下:
(1) 创建WAF策略
(2) 配置筛选WAF特征的属性
(3) 配置WAF动作
(4) 配置WAF引用的应用层检测引擎动作参数profile
(6) (可选)激活WAF策略配置
(8) 配置WAF特征库升级和回滚
缺省情况下,WAF策略将使用当前设备上所有处于生效状态的WAF特征与报文进行匹配,并对匹配成功的报文执行WAF特征属性中的动作。管理员可根据实际需求,在新建的WAF策略中,将WAF特征的属性作为过滤条件,筛选出需要与报文进行匹配的WAF特征,并配置WAF特征动作。
(1) 进入系统视图。
system-view
(2) 创建WAF策略,并进入WAF策略视图。
waf policy policy-name
缺省情况下,存在一个缺省WAF策略,名称为default,且不能被修改或删除。
在WAF策略中,可以定义不同类型的属性作为WAF特征的过滤条件。如果某个属性中配置了多个参数,则WAF特征至少需要匹配上其中一个参数,才表示匹配上该属性。
(1) 进入系统视图。
system-view
(2) 进入WAF策略视图。
waf policy policy-name
(3) 配置筛选WAF特征的属性。
¡ 配置筛选WAF特征的保护对象属性。
protected-target { target [ sub-target subtarget ]| all }
缺省情况下,WAF策略匹配所有保护对象的特征。
¡ 配置筛选WAF特征的攻击分类属性。
attack-category { category [ sub-category subcategory ] | all }
缺省情况下,WAF策略匹配所有攻击分类的特征。
¡ 配置筛选WAF特征的动作属性。
action { block-source | drop | permit | reset } *
缺省情况下,WAF策略匹配所有动作的特征。
¡ 配置筛选WAF特征的方向属性。
object-dir { client | server } *
缺省情况下,WAF策略匹配所有方向的特征。
¡ 配置筛选WAF特征的严重级别属性。
severity-level { critical | high | low | medium } *
缺省情况下,WAF策略匹配所有严重级别的特征。
缺省情况下,新建WAF策略执行特征属性中的动作。管理员也可以根据实际网络需求,为WAF策略中所有特征配置统一的动作,或者为指定的特征配置动作。
设备对以上动作执行的优先级为:WAF策略中为指定特征配置的动作 > WAF策略为所有特征配置的统一动作 > WAF特征自身属性的动作。
若动作配置为logging,生成的日志信息不会输出到控制台和监视终端。此时如需获取该日志,可通过执行display logbuffer命令进行查看。有关display logbuffer命令的详细介绍,请参见“网络管理和监控命令参考”中的“信息中心”。
(1) 进入系统视图。
system-view
(2) 进入WAF策略视图。
waf policy policy-name
(3) 配置WAF策略中所有特征的统一动作。
signature override all { { block-source | drop | permit | redirect | reset } | capture | logging } *
缺省情况下,WAF策略执行特征属性中的动作。
(4) (可选)修改WAF策略中指定特征的动作和生效状态。
signature override pre-defined signature-id { disable | enable } [ { block-source | drop | permit | redirect | reset } | capture | logging ] *
缺省情况下,预定义WAF特征使用系统预定义的状态和动作。
每类WAF动作的具体执行参数由应用层检测引擎动作参数profile来定义,该profile的具体配置请参见“DPI深度安全配置指导”中的“应用层检测引擎”。
如果WAF引用的应用层检测引擎动作参数profile不存在或没有引用,则使用系统各类动作参数的缺省值。
(1) 进入系统视图。
system-view
(2) 配置WAF引用的应用层检测引擎动作参数profile。
waf { block-source | capture | logging | redirect } parameter-profile parameter-name
缺省情况下,WAF未引用应用层检测引擎动作参数profile。
DPI应用profile是一个安全业务的配置模板,为实现WAF功能,必须在DPI应用profile中引用指定的WAF策略。
一个DPI应用profile中只能引用一个WAF策略,如果重复配置,则新的配置会覆盖已有配置。
(1) 进入系统视图。
system-view
(2) 进入DPI应用profile视图。
app-profile profile-name
关于该命令的详细介绍请参见“DPI深度安全命令参考”中的“应用层检测引擎”。
(3) 在DPI应用profile中引用WAF策略。
waf apply policy policy-name mode { protect | alert }
缺省情况下,DPI应用profile中未引用WAF策略。
缺省情况下,当WAF策略发生变更时(即被创建、修改和删除),系统将会检测在20秒的间隔时间内是否再次发生了配置变更,并根据判断结果执行如下操作:
· 如果间隔时间内未发生任何配置变更,则系统将在下一个间隔时间结束时执行一次激活操作,使这些策略的配置生效。
· 如果间隔时间内再次发生了配置变更,则系统将继续按照间隔时间周期性地检测是否发生配置变更。
如果用户希望对变更的配置立即进行激活,可执行inspect activate命令手工激活,使配置立即生效。
配置此功能会暂时中断所有DPI业务的处理,为避免重复配置此功能对DPI业务造成影响,请完成部署DPI各业务模块的策略后统一配置此功能。
有关此功能的详细介绍请参见“DPI深度安全配置指导”中的“应用层检测引擎”。
(1) 进入系统视图。
system-view
(2) 激活WAF策略配置。
inspect activate
缺省情况下,WAF策略被创建、修改和删除后,系统会自动激活配置使其生效。
(1) 进入系统视图。
system-view
(2) 进入IP、TCP、UDP、Link-IP或HTTP类型的虚服务器视图。
virtual-server virtual-server-name
(3) 指定虚服务器引用的DPI应用profile。
dpi-app-profile dpi-app-profile-name
缺省情况下,虚服务器未引用任何DPI应用profile。
有关虚服务器的详细介绍请参见“负载均衡配置指导”中的“负载均衡”。
· 请勿删除设备存储介质根目录下的/dpi/文件夹,否则设备升级或回滚特征库会失败。
· 当系统内存使用状态处于告警门限状态时,请勿进行特征库升级或回滚,否则易造成设备特征库升级或回滚失败,进而影响WAF业务的正常运行。有关内存告警门限状态的详细介绍请参见“基础配置指导”中的“设备管理”。
· 自动在线升级(包括定期自动在线升级和立即自动在线升级)WAF特征库时,需要确保设备能通过静态或动态域名解析方式获得官方网站的IP地址,并与之路由可达,否则设备升级WAF特征库会失败。有关域名解析功能的配置请参见“三层技术-IP业务配置指导”中的“域名解析”。
· 同一时刻只能对一个特征库进行升级,如果当前已有其他特征库正在升级,请稍后再试。
如果设备可以访问官方网站上的特征库服务专区,可以采用定期自动在线升级方式来对设备上的WAF特征库进行升级。
(1) 进入系统视图。
system-view
(2) 开启定期自动在线升级WAF特征库功能,并进入自动在线升级配置视图。
waf signature auto-update
缺省情况下,定期自动在线升级WAF特征库功能处于关闭状态。
(3) 配置定期自动在线升级WAF特征库的时间。
update schedule { daily | weekly { fri | mon | sat | sun | thu | tue | wed } } start-time time tingle minutes
缺省情况下,设备在每天01:00:00至03:00:00之间自动升级WAF特征库。
(4) (可选)开启WAF特征文件自动覆盖功能。
override-current
缺省情况下,设备定期自动在线升级WAF特征库时会将当前的特征库文件备份为上一版本。
当管理员发现官方网站上的特征库服务专区中的WAF特征库有更新时,可以选择立即自动在线升级方式来及时升级WAF特征库版本。
(1) 进入系统视图。
system-view
(2) 立即自动在线升级WAF特征库。
waf signature auto-update-now
如果设备不能访问官方网站上的特征库服务专区,管理员可以采用如下几种方式手动离线升级WAF特征库版本。
· 本地升级:使用本地保存的特征库文件升级系统上的WAF特征库版本。
· FTP/TFTP升级:通过FTP或TFTP方式下载远程服务器上保存的特征库文件,并升级系统上的WAF特征库版本。
使用本地升级方式离线升级特征库版本时,特征库文件只能存储在当前主用设备上,否则设备升级特征库会失败。
(1) 进入系统视图。
system-view
(2) 手动离线升级WAF特征库。
waf signature update [ override-current ] file-path
WAF特征库版本每次回滚前,设备都会备份当前版本。多次回滚上一版本的操作将会在当前版本和上一版本之间反复切换。例如当前WAF特征库版本是V2,上一版本是V1,第一次执行回滚到上一版本的操作后,特征库替换成V1版本,再执行回滚上一版本的操作则特征库重新变为V2版本。
(1) 进入系统视图。
system-view
(2) 回滚WAF特征库。
waf signature rollback { factory | last }
完成上述配置后,在任意视图下执行display命令可以显示配置后WAF的运行情况,通过查看显示信息验证配置的效果。
表1-1 WAF显示和维护
操作 |
命令 |
显示WAF策略信息 |
display waf policy policy-name |
显示WAF特征库版本信息 |
display waf signature library |
显示WAF特征属性列表 |
display waf signature [ pre-defined ] [ direction { any | to-client | to-server } ] [ category category-name | fidelity { high | low | medium } | severity { critical | high | low | medium } ] * |
显示WAF预定义特征的详细信息 |
display waf signature pre-defined signature-id |
三台物理服务器Server A、Server B和Server C均可提供HTTP服务。现有如下需求:
· 通过配置服务器负载均衡,使这三台服务器联合提供HTTP服务。
· 通过配置WAF功能,对内部网络进行Web攻击防御。
图1-2 在虚服务器中引用缺省WAF策略配置组网图
(1) 配置接口IP地址和路由保证网络可达,具体配置步骤略。
(2) 配置服务器负载均衡,配置步骤略(详细配置步骤请参见“负载均衡配置指导”中的“服务器负载均衡”。)
(3) 配置DPI应用profile
# 创建名为sec的DPI应用profile,并进入DPI应用profile视图。
[Device] app-profile sec
# 在DPI应用profile sec中应用缺省WAF策略default,并指定该WAF策略的模式为protect。
[Device-app-profile-sec] waf apply policy default mode protect
[Device-app-profile-sec] quit
# 激活DPI各业务模块的策略和规则配置。
[Device] inspect activate
(4) 在虚服务器中引用DPI应用profile
# 进入HTTP类型的虚服务器vs视图,指定虚服务器引用的DPI应用profile为sec。
[Device] virtual-server vs type http
[Device-vs-http-vs] dpi-app-profile sec
[Device-vs-http-vs] quit
以上配置生效后,有如下效果:
· 三台服务器将联合提供HTTP服务。
· 设备使用缺省WAF策略对已知攻击类型的网络攻击进行防御。比如GNU_Bash_Remote_Code_Execution_Vulnerability(CVE-2014-6271)类型的攻击报文经过Device设备时,Device会匹配该报文,并对报文按照匹配成功的WAF特征的动作(reset和logging)进行处理。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!