AWS WAF中如何放行某个触发了托管规则的接口

问题

某个接口触发了AWS自带的托管规则(例如:SizeRestrictions_Body),现在需要放行这个接口。

解决思路

由于AWS自带的托管规则,会对接口流量打标签,所以,我们先将触发的托管规则Count,然后,在已有规则顺序最后面添加2条自定义规则:

  • 放行规则:一条自定义规则是针对某个接口,并且拥有对应规则标签的接口,进行放行,这个规则顺序相比下一条托底规则优先级高一点(规则名例如:SizeRestrictions_Body_Allow);
  • 托底规则:第二条自定义规则,则是对某个Count规则的托底规则,直接对所有带有对应规则标签的流量进行拦截,这个规则优先级比上一条自定义放行规则低一些(规则名例如:SizeRestrictions_Body_Block)。

解决

正则表达式模式接口集合

先创建一个接口白名单RE表达式规则集合,如下图:

这里面主要是放行的接口,如下图:

这里放行接口,主要是判断是以什么开头的URL,内容类似如下:

bash 复制代码
^/api/upload1
^/api/upload2
^/api/upload3

修改指定规则为Count模式

添加自定义放行规则

这里主要就是两个匹配条件,第一个检查接口流量是否带有awswaf:managed:aws:core-rule-set:SizeRestrictions_Body,另外一个检查条件是否为正则表达式集合里面的放行接口。如果这个两个条件满足就放行当前接口流量。

添加自定义托底规则

这个托底规则设置的匹配条件,相对来说就简单多了,只要发现有对应规则标签的流量就拦截了。

设置自定义规则优先级顺序

  • 放行规则
  • 托底规则
    一般这两个规则设置在已有规则最末尾就行了。注意放行规则一定是在托底规则前面。

总结

AWS WAF针对某个托管规则某个接口放行,基本上就是1个托管规则对应2个自定义规则(放行规则与托底规则)。

相关推荐
威联通网络存储3 天前
基于TS-h3087XU-RP的大型成套空分设备DCS历史趋势数据治理
aws
A小辣椒18 天前
AWS Clould Support Engineer就职面试题
aws
悠悠1213822 天前
AWS DevOps Agent 体验一周后,我决定把 oncall 手机调成静音了
云计算·aws·devops
yyuuuzz22 天前
独立站运营的几个技术层面常见问题
大数据·运维·服务器·网络·数据库·aws
yyuuuzz22 天前
游戏云服务器推荐的技术选择思路
大数据·运维·服务器·游戏·云计算·aws
kernelcraft24 天前
Boto3:Python 操作 AWS 的官方 SDK
开发语言·python·其他·aws
普通网友1 个月前
Serverless 框架:多云函数部署(AWS + 阿里云 + 腾讯云)
阿里云·serverless·aws
TG_yunshuguoji1 个月前
亚马逊云代理商:如何用 CloudWatch+Lambda 打造自动化告警系统
大数据·运维·自动化·云计算·aws
yyuuuzz1 个月前
独立站搭建的几个核心技术问题
运维·服务器·网络·数据库·aws