是的,阿里云Web应用防火墙(WAF)完全支持自定义规则,这是其核心功能之一。用户可以通过自定义规则来精确匹配特定的攻击特征或业务流量,实现更灵活的防护。
配置自定义规则主要通过 阿里云WAF控制台 进行,主要分为以下几个步骤和类型:
一、 主要配置入口
- 登录 阿里云WAF控制台。
- 在左侧导航栏,选择 防护配置 > 自定义防护。
- 在这里您可以看到几个关键的自定义规则模块:
- 自定义规则(CC安全防护):主要用于防御CC攻击,通过限制单个IP在特定时间内的请求频率。
- 自定义规则(精准访问控制):功能最强大的模块,可以根据丰富的条件组合(如URL、IP、Header、参数、地理位置等)来允许、拦截或记录特定请求。
- 白名单:放行绝对可信的流量,绕过所有防护规则检查。
- IP黑名单:直接拦截指定IP或IP段的访问。
二、 核心自定义规则类型及配置详解
1. 精准访问控制规则
这是最常用的自定义规则,采用“匹配条件 + 防护动作”的逻辑。
-
配置流程:
- a. 在“精准访问控制”页面,选择要防护的域名。
- b. 点击 创建规则。
- c. 设置规则:
- 规则名称:便于识别的名称。
- 匹配条件:支持多条件组合(“与”、“或”关系)。常见匹配字段包括:
- URI/URL:匹配特定路径,如
/admin/*。 - IP:匹配源IP或IP段。
- Header:匹配请求头,如
User-Agent包含特定扫描器特征。 - Params(Query/Body):匹配GET或POST参数。
- HTTP方法:如 PUT、DELETE。
- 地理位置:匹配国家或地区。
- URI/URL:匹配特定路径,如
- 防护动作:
- 拦截:直接阻断请求,可返回自定义拦截页面。
- 放行:允许请求通过,跳过后续WAF规则检查。
- 观察(仅记录):不拦截,仅在日志中记录匹配情况,用于规则测试。
- 人机验证:挑战疑似恶意的请求(如滑块验证)。
- 规则生效位置:可选择在WAF的“请求头”或“请求体”阶段生效。
- 优先级:规则按优先级从高到低执行,可调整。
- d. 点击 保存 或 启用。
-
典型应用场景:
- 拦截对后台管理路径
/wp-admin的非管理IP访问。 - 放行来自公司办公网IP的所有流量。
- 拦截请求体中包含特定敏感关键字(如测试命令)的请求。
- 对来自异常地区的API访问进行人机验证。
- 拦截对后台管理路径
2. 自定义CC防护规则
专门针对应用层高频请求攻击。
-
配置流程:
- a. 在“CC安全防护”页面,选择域名。
- b. 点击 创建规则。
- c. 设置规则:
- 规则名称。
- 匹配条件:通常为 URL。
- 访问频率阈值:如“单个IP在60秒内访问超过100次”。
- 防护动作:拦截 或 人机验证。
- 惩罚时长:触发规则后,对该IP执行动作的持续时间。
- d. 点击 确定。
-
典型应用场景:
- 防止对登录接口
/api/login的密码暴力破解。 - 防止对商品详情页
/product/detail?id=xxx的恶意刷单或爬虫。
- 防止对登录接口
3. 白名单/黑名单
- 白名单:配置后,匹配的请求将直接放行,不再经过任何WAF规则检查。适用于受信任的扫描器、合作伙伴IP等。
- IP黑名单:配置后,来自指定IP或IP段的请求将被直接拦截。适用于已知的攻击源。
三、 最佳实践与建议
- 先观察,后拦截:创建新规则时,建议先设置为 观察(仅记录) 模式,运行一段时间后,在 攻击分析 或 日志服务 中查看匹配的日志,确认规则准确性无误后,再改为 拦截 模式。
- 善用优先级:更具体的规则应设置更高的优先级。例如,“放行公司IP”的规则优先级应高于“拦截可疑URI”的规则。
- 条件组合要精确:避免过于宽泛的条件导致误杀正常流量。尽量使用“与”关系组合多个条件。
- 利用日志分析:配置规则后,定期在 日志服务 中查看“自定义规则拦截”日志,优化规则。
- 版本化管理:重要的业务规则变更前,可以使用控制台的 防护配置组 功能进行备份和版本化管理。
四、 高级功能:自定义规则组(企业版/旗舰版)
对于更复杂的需求,阿里云WAF企业版/旗舰版支持 自定义规则组(CRS),允许您编写更复杂的规则逻辑,并支持导入行业通用的ModSecurity规则,提供更深度的自定义防护能力。
总结
阿里云WAF的自定义规则配置非常直观和强大,核心路径为:
控制台 > 防护配置 > 自定义防护 > 选择 精准访问控制 或 CC安全防护 > 创建规则。
通过灵活组合匹配条件和防护动作,您可以构建出贴合自身业务需求的、精细化的Web应用安全防护体系。
CLOUD技术笔记