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个自定义规则(放行规则与托底规则)。

相关推荐
悠悠121382 天前
AWS DevOps Agent 体验一周后,我决定把 oncall 手机调成静音了
云计算·aws·devops
yyuuuzz2 天前
独立站运营的几个技术层面常见问题
大数据·运维·服务器·网络·数据库·aws
yyuuuzz2 天前
游戏云服务器推荐的技术选择思路
大数据·运维·服务器·游戏·云计算·aws
kernelcraft4 天前
Boto3:Python 操作 AWS 的官方 SDK
开发语言·python·其他·aws
普通网友11 天前
Serverless 框架:多云函数部署(AWS + 阿里云 + 腾讯云)
阿里云·serverless·aws
TG_yunshuguoji11 天前
亚马逊云代理商:如何用 CloudWatch+Lambda 打造自动化告警系统
大数据·运维·自动化·云计算·aws
yyuuuzz11 天前
独立站搭建的几个核心技术问题
运维·服务器·网络·数据库·aws
yyuuuzz11 天前
aws亚马逊云服务的基础认知与常见场景
大数据·运维·服务器·网络·云计算·aws
普通网友11 天前
AWS VPC Transit Gateway 部署:实现多 VPC(开发 / 测试 / 生产)间流量集中管控
云计算·gateway·aws