本文介绍了Web应用防火墙(Web Application Firewall,简称WAF)服务防护配置的相关术语、配置流程、防护模块概览及典型配置案例。
防护配置流程
Web业务接入WAF防护后,您可以参照以下步骤,为Web业务配置 防护规则 。不同接入方式下的防护配置流程略有差异。
步骤 | 云产品接入 | CNAME接入 |
1. 添加 防护对象 。 | 完成云产品接入的云产品实例已被自动添加为WAF的防护对象。 如需为实例中的域名配置独立的防护规则(例如,实例中有多个域名,不同域名需要配置不同的防护规则),必须手动将域名添加为WAF的防护对象。具体操作,请参见防护对象和防护对象组。 | 无需执行。 完成CNAME接入的域名已被自动添加为WAF的防护对象。 |
2. (可选)将防护对象加入 防护对象组 。 | 如需为多个防护对象配置同样的防护规则,可以将多个对象加入到一个防护对象组(简称对象组),然后为对象组配置防护规则。对象组的防护规则对组内所有对象生效。 使用对象组时,必须先创建一个对象组并为对象组关联防护对象。具体操作,请参见新建防护对象组。 | |
3. 定义规则模板。 | 如需启用某个 防护模块 ,则防护模块下必须先有规则模板,然后您可将规则模板应用到指定的防护对象或对象组。 基础防护规则和白名单模块已内置默认规则模板,无需您手动创建规则模板;如需启用其他防护模块,则必须先手动创建规则模板。更多信息,请参见防护模块概览。 您可以定义多套规则模板,为不同防护对象应用不同的防护规则。更多信息,请参见多套规则模板应用示例。 | |
4. 管理防护规则。 | 您可以在不同防护模块下的规则模板中管理具体的防护规则,例如启用或禁用规则、新增规则等。规则模板中发生的规则变动将直接应用到该规则模板的生效对象。 不同规则模板支持的规则操作不完全相同。更多信息,请参见防护模块概览。 |
防护模块概览
下表描述了WAF支持的所有防护模块,以及不同防护模块的默认配置。
防护模块 | 说明 | 默认规则模板 | 配置建议 |
基于阿里云安全内置的 防护规则集 ,帮助Web业务防御SQL注入、XSS跨站、代码执行、WebShell上传、命令注入等常见的Web应用攻击。 | 内置一套默认规则模板(包含WAF的基础防护规则集)。规则模板默认启用,且采用拦截模式。 重要 新接入WAF防护的对象默认受到基础防护规则的防护,基础防护规则会自动拦截攻击请求。 | 建议保持默认配置。 业务接入WAF防护一段时间后,如果您发现基础防护规则集存在误拦截,可以通过设置白名单规则,屏蔽产生误拦截的基础防护规则。相关操作,请参见设置白名单规则放行特定请求。 | |
支持默认规则组和自定义规则组。您可以根据业务需要,将规则组关联到基础防护规则模板,帮助网站防御各种常见的Web应用攻击。 | 内置一套默认规则组。 | 如需启用自定义规则组,必须新建一个规则组模板,并配置相关规则。 | |
白名单模块允许您根据业务场景,自定义放行具有指定特征的请求,使请求不经过全部或特定防护模块的检测。 | 内置一套默认规则模板(未定义任何规则)。规则模板默认启用。 | 如需放行具有指定特征的业务请求流量,可以在默认规则模板下新建白名单规则。 | |
基于内置的通用CC防护算法,缓解产品规格内的高频请求(HTTP Flood)攻击。您也可以通过自定义规则中的频率限制进行更加灵活的自定义CC防护。 | 内置一套默认规则模板(未定义任何规则)。规则模板默认启用。 说明 仅包年包月高级版、包年包月企业版及包年包月旗舰版包含默认开启的默认规则模板。 | 如需启用自定义规则,必须新建一个规则模板,并配置相关规则。 | |
扫描防护模块通过识别扫描行为和扫描器特征,阻止攻击者或扫描器对网站的大规模扫描行为,帮助Web业务降低被入侵的风险并减少扫描带来的垃圾流量。 | 内置一套默认规则模板(未定义任何规则)。规则模板默认启用。 说明 仅包年包月高级版、包年包月企业版及包年包月旗舰版包含默认开启的默认规则模板。 | 如需启用自定义规则,必须新建一个规则模板,并配置相关规则。 | |
IP黑名单模块允许您根据业务场景,自定义拦截来自特定IP地址(IPv4或IPv6地址)或地址段的请求。 | 不提供默认规则模板,当前防护模块默认未启用。 | 如需启用当前防护模块,必须新建一个规则模板,并配置相关规则。 | |
自定义规则模块允许您基于自定义的HTTP请求特征或特征组合,对符合条件的请求执行拦截、验证、记录日志等处置。 您也可以选择限速模式,将访问超出一定频率的统计对象(例如IP、会话)加入黑名单,在黑名单有效期内对统计对象执行相应处置。 | |||
自定义响应模块允许您自定义客户端请求被WAF拦截时,WAF返回给客户端的拦截页面的样式和内容,包含响应码、响应头、响应体。 | |||
一键封禁来自特定区域的客户端IP。 | |||
帮助您锁定需要保护的网站页面,被锁定的页面在收到请求时,返回已设置的缓存页面。 | |||
帮助您过滤服务器返回内容(异常页面或关键字)中的敏感信息,如身份证号、银行卡号、电话号码和敏感词汇等,进行脱敏显示。 | |||
基于四/七层流量指纹识别Bot流量,一键开启防护。 | |||
基于客户端、流量、行为和情报等多维度特征识别机器(Bot)流量,放行搜索引擎等好的Bot,缓解恶意Bot带来的带宽增加、数据爬取、垃圾注册/下单/投票、接口滥刷等风险。 | |||
支持特定时间段的重大活动安全保障,为您提供更加精准和定制化的防御模式。 | 不提供默认规则模板,当前防护模块默认未启用。 | 如需启用当前防护模块,必须新建一个规则模板,并配置相关规则。 | |
支持自动梳理已接入WAF防护的业务的API资产,检测API风险(例如未授权访问、敏感数据过度暴露、内部接口泄露等),并通过报表还原API异常事件,提供详细的风险处理建议和API生命周期管理参考数据。 | 不涉及。 |
一键关闭WAF防护功能
当您需要临时关闭WAF防护时,您可以在WAF 3.0控制台的防护对象页面中,关闭WAF防护开关。如下图所示。
当开关关闭时,您接入网站的流量会临时绕行WAF防护引擎,并不再记录拦截和观察日志。在您完成应急测试等需要临时关闭WAF的操作后,推荐您尽快返回WAF 3.0控制台的防护对象页面,打开WAF防护开关,记录拦截和观察日志,减少您资产的暴露风险。若您关闭了WAF防护开关或功能,但配置了API安全防护,相关检测流程仍将继续执行。
对于开通按量计费版本的用户,即使通过开关临时关闭WAF防护,仍会正常收取功能费、基础流量费及API安全流量费(若已启用API安全)。Bot管理流量费、风险识别服务及自定义规则的流量计费将暂停。
云产品接入中,微服务引擎(MSE)与函数计算(FC)尚不支持一键关闭绕过功能。针对混合云部署,该功能需达到指定版本方可生效。详情请咨询您的商务经理,或通过工单提交咨询,我们的支持团队将为您提供精确的版本要求信息。
多套规则模板应用示例
在一个防护模块下定义多套规则模板,可以实现为不同防护对象配置不同的防护规则,满足多样化的业务防护需求。
以基础防护规则模块为例:该模块内置了一套默认规则模板(规则动作为拦截),直接应用于所有新接入WAF防护的对象。如果WAF检测到防护对象上的攻击请求,将会拦截攻击请求。
如果您希望对后续新接入WAF防护的对象采用观察模式(不拦截攻击请求,只记录请求命中了规则),只对已接入WAF防护的业务采用拦截模式,则可以按以下方式配置。
将默认规则模板的规则动作设置为观察。
新建一个基础 防护规则模板 ,将该模板的规则动作设置为拦截,并将生效对象设置为已接入WAF防护的所有防护对象。
完成以上配置后,新接入WAF防护的对象默认采用观察模式,您可以在确认WAF无误拦截后,再将防护对象关联到使用拦截模式的规则模板。