接入Web 应用防火墙 WAF(Web Application Firewall)3.0后,您可以通过设置引擎配置和规则库管理,帮助Web业务防御SQL注入、XSS跨站、代码执行、WebShell上传、命令注入等常见的Web应用攻击。本文介绍如何设置基础防护规则。
北京时间2024年11月7日基础防护规则功能升级,参见【公告】WAF 3.0基础防护规则功能升级。本文介绍的是新版本的基础防护,如果您使用的是旧版本的基础防护功能请参照基础防护规则和规则组。
模块功能概述
基础防护规则中每个模板使用独立的检测引擎。根据业务经验,把众多系统防护规则划分成各个检测模块,每个检测模块各自负责识别不同类型的攻击。规则模板、检测引擎、检测模块、规则之间的关系图如下。
公有云防护场景 | 混合云防护场景 |
功能特性
支持多种解码
基础防护规则支持多种不同格式的解码,包括:
支持JSON、XML、Multipart等数据格式的解析,用以提升检测的准确率。
支持识别使用特殊编码(如Unicode和HTML实体)绕过安全检查的方法,以提升攻击的检出率。
支持智能加白引擎
为了有效降低误拦截风险,WAF将根据历史业务流量进行AI学习,发现URL粒度不适用的规则,并自动添加白名单。
支持混合云场景下的自定义防护规则
自定义防护规则仅对混合云接入的防护对象生效。如需添加自定义防护规则,并在规则模板中使用,请参见规则库管理。
前提条件
已开通WAF 3.0服务。如果您针对混合云对象开启自定义规则防护,需要开启包年包月企业版或旗舰版,具体操作,请参见开通包年包月WAF 3.0、开通按量付费WAF 3.0。
已将Web业务添加为WAF 3.0的防护对象。具体操作,请参见配置防护对象和防护对象组。
创建规则模板
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。在左侧导航栏,选择,在基础防护规则区域,单击新建模板。
在新建模板 - 基础防护规则面板,请按照以下步骤完成模板配置,配置完成后,单击确定。
步骤一:配置模板信息
配置项
配置字段
说明
模板信息
模板名称
支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
是否设置为默认模板
默认模板无需设置生效对象,默认应用于所有未关联到自定义规则模板的防护对象和对象组(包括后续新增、从自定义规则模板中移除的防护对象和对象组)。一个防护模块只允许设置一个默认模板并只能在新建模板的时设置。
步骤二:引擎设置
配置项
配置字段
说明
引擎设置
检测引擎自动更新
默认为开启状态,开启后未来阿里云安全团队默认规则中新增或移除的规则(如0day应急规则或不再适用的规则)将对当前检测引擎中的规则自动同步。
引擎配置
系统防护规则:基于阿里云安全内置的检测模块,包含超严格、严格、中等、宽松四种等级规则,其中超严格等级和严格等级的规则状态默认关闭,中等等级和宽松等级的规则状态默认开启。
说明所支持的检测模块可以参考检测模块说明。
防护规则支持如下配置:
规则动作:选择当请求命中该规则时,要执行的防护动作。
拦截:表示拦截命中规则的请求,并向发起请求的客户端返回拦截响应页面。
说明WAF默认使用统一的拦截响应页面,您可以通过自定义响应功能,自定义拦截响应页面。更多信息,请参见设置自定义响应规则配置拦截响应页面。
观察:表示不拦截命中规则的请求,只通过日志记录请求命中了规则。您可以通过WAF日志,查询命中当前规则的请求,分析规则的防护效果(例如,是否有误拦截等)。
重要只有开通日志服务,您才可以使用日志查询功能。更多信息,请参见开启或关闭日志服务。
观察模式方便您试运行首次配置的规则,待确认规则没有产生误拦截后,再将规则设置为拦截模式。
说明您可以通过安全报表,查询拦截类、观察类防护规则的命中详情。更多信息,请参见安全报表。
规则状态:可选择开启或关闭。若关闭,请求将不会再命中该规则。
自适应引擎
智能加白引擎:默认为关闭状态。
自动添加的白名单规则会在白名单规则列表的AutoTemplate模板中显示。更多信息,请参见查看白名单。
说明仅按量付费版、包年包月企业版或旗舰版支持该功能。
步骤三:确认生效范围
从已添加的防护对象及对象组中,选择要应用该模板的防护对象和防护对象组。
一个防护对象或对象组只能关联一个基础防护规则模板。关于添加防护对象和对象组的具体操作,请参见配置防护对象和防护对象组。
查看规则模板
在后续使用过程中,您可以单击规则模板名称左侧的图标,查看规则模板包含的引擎信息。您可以单击引擎配置,进入引擎配置页面查看详细规则的规则动作与规则状态等信息。
编辑规则模板
开启与关闭规则模板
成功创建规则模板后,您可以通过模板开关,开启或关闭模板。
更改规则模板
可以单击目标模板操作列的编辑。完成调整后,点击下方确认,保存此次变更。
在混合云防护场景下,引擎配置面板的自定义防护规则支持如下配置:
规则动作:当请求命中该规则时,要执行的防护动作。可选观察或者拦截。
规则状态:默认关闭,可选择开启或关闭。若开启,则该设置将对规则模板生效。
删除规则模板
您可以删除不需要的规则模板,删除之前请确认该模板没有关联的防护对象。请单击目标模板操作列中的删除按钮,并在弹出提示中点击确定。
一旦模板被删除,系统将自动使用默认模板来保护之前由该模板防护的对象。
删除默认模板,如果默认模板中还存在防护对象,这些防护对象将不再受到基础防护规则保护。
查看命中记录
您可以在安全报表页面的基础防护规则页签,查询具体防护规则的命中记录。更多信息,请参见基础防护规则。Web基础防护页面不支持通过规则ID搜索具体的基础防护规则。如需查询具体的规则信息可参考规则库管理。
如果您认为某个规则误拦截了正常业务流量,可通过白名单模块设置针对该规则的白名单规则。关于配置白名单规则的具体操作,请参见设置白名单规则放行特定请求。
相关文档及说明
检测模块说明
检测模块中的规则能够识别和拦截针对Web应用的各种攻击。
相关文档
如果您想了解WAF 3.0的防护对象、防护模块及防护流程等信息,请参见防护配置概述。
如果您想使用API创建防护模板,请参见CreateDefenseTemplate - 创建防护模板。
如果您想使用OpenAPI创建一个基础防护规则,并配置规则内容,请参见CreateDefenseRule - 创建防护规则。