【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

使用基于速率的 AWS WAF 规则保护网站和服务

  • 2019-11-13
  • 本文字数:1258 字

    阅读完需:约 4 分钟

使用基于速率的 AWS WAF 规则保护网站和服务

AWS WAF (Web 应用程序防火墙) 可帮助您的应用程序防御涉及恶意或错误格式请求的很多种应用程序层攻击。我在介绍此服务的第一篇文章 (New – AWS WAF) 中讲过,您可以定义与跨站点脚本、IP 地址、SQL 注入、大小或内容限制匹配的规则:



当传入请求符合规则时,将调用操作。操作可以是允许、阻止或只是对匹配项计数。现有规则模型非常强大,让您能够检测许多不同类型的攻击并予以响应。但是,对于只是包含大量来自某特定 IP 地址的有效请求的攻击,该规则模型无法作出响应。这些请求可能是 Web 层的 DDoS 攻击、暴力登录尝试,甚至是合作伙伴集成出错。


基于速率的新规则


现在我们将在 WAF 中增加基于速率的规则,这样您就能控制何时对黑名单添加或删除 IP 地址,并可以灵活处理异常和特殊情形:


将 IP 地址加入黑名单 – 您可以将发出请求的、速率超出所配置的速率阈值的 IP 地址加入黑名单。


IP 地址跟踪 – 您可以看到哪些 IP 地址当前被加入了黑名单。


删除 IP 地址 – 已加入黑名单的 IP 地址如果不再以高出所配置阈值的速率发出请求,则将自动从黑名单中删除。


IP 地址免审核 – 您可以在基于速率的规则中使用 IP 地址白名单免于将特定 IP 地址加入黑名单。例如,您可能希望允许可信赖的合作伙伴以较高的速率访问您的站点。


监控和报警 – 您可以通过针对每条规则发布的 CloudWatch 指标进行监控和发出警报。您可以结合基于速率的新规则和 WAF 条件实施精细的速率限制策略。例如,您可以使用基于速率的规则和与您的登录页面匹配的 WAF 条件。这样,您可以对登录页面设置较为严格的阈值 (以避免暴力密码攻击),而对于市场推广或系统状态页面设置较为宽松的阈值。阈值按照 5 分钟内来自单个 IP 地址的传入请求数定义。一旦超出此阈值,来自该 IP 地址的额外请求就会被阻止,直至请求速率降至阈值之下。


使用基于速率的规则 下面演示如何定义基于速率的规则来保护您网站的 /login 部分。首先在网页 URI 中定义一个与期望的字符串匹配的 WAF 条件:



然后,使用此条件来定义基于速率的规则 (该速率限制以 5 分钟时间段内的请求数表示,但一旦突破此限制,黑名单机制立即启动):



在定义好条件和规则之后,创建一个 Web ACL (ProtectLoginACL) 将这些都整合起来并与 AWS 资源 (在本例中为 CloudFront 分配) 关联:



然后将规则 (ProtectLogin) 与该 Web ACL 连接:



现在,将根据该规则和 Web ACL 保护该资源。您可以监控相关联的 CloudWatch 指标 (在本例中为 ProtectLoginProtectLoginACL)。您甚至可以创建 CloudWatch 警报,并使用这些警报在突破保护阈值时触发 Lambda 函数。此代码可以检查违反规则的 IP 地址,并作出业务驱动的复杂决策,比如添加一条白名单规则,对可信赖的合作伙伴或具有特殊付款计划的用户提供格外宽松的政策。


现已推出 基于速率的新规则现已提供,您可以立即开始使用!基于速率的规则与常规的规则同样定价;请参阅 WAF 定价页面了解更多信息。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/protect-web-sites-services-using-rate-based-rules-for-aws-waf/


2019-11-13 08:00739

评论

发布
暂无评论
发现更多内容

找工作,你被“卷”到了吗?

InfoQ写作社区官方

招聘 就业 热门活动 拉勾招聘

JAVA 最常用实用的正则表达式校验

爱好编程进阶

Java 面试 后端开发

助力 60+ 市区管理建设,TDengine 联手数字政通打造智慧城市平台

TDengine

数据库 tdengine 时序数据库

如何撰写出有效的帮助文档内容?

小炮

帮助文档

大咖实战|Kubernetes自动伸缩实现指南分享

云智慧AIOps社区

Docker 云计算 Kubernetes 容器 云原生

Java集合框架(四)

爱好编程进阶

Java 面试 后端开发

Mybatis源码解析:sql参数处理,原来可以这么简单-1

爱好编程进阶

Java 面试 后端开发

【直播回顾】OpenHarmony 3.1 Release版本南北向关键能力解读

OpenHarmony开发者

OpenHarmony 直播回放

最受欢迎的5种编程语言各有什么特点或优点?

源字节1号

软件开发 后端开发 编程语言、

client-go实战之五:DiscoveryClient

爱好编程进阶

Java 面试 后端开发

web前端培训如何使用CSS连接数据库

@零度

CSS 前端开发

OpenHarmony 3.1 Release正式发布,标准系统全方位升级!

叶落便知秋

美区块链公司Espresso Systems口碑滑坡:知识产权、团队道德皆陷丑闻

西柚子

CentOS 停止维护,一文看懂升级迁移路径

亚马逊云科技 (Amazon Web Services)

Tech 专栏

jackson学习之三:常用API操作

爱好编程进阶

Java 面试 后端开发

源码级别的广播与监听实现

阿Q说代码

spring源码 实战 监听 4月月更 广播

java培训:java流中的异常处理方法分享

@零度

JAVA开发 java流

ZEGO 最后一公里网络传输的容灾及优化方案

ZEGO即构

后台开发 容灾 最后一公里

TiUP:TiDBAer 必备利器

PingCAP

TiDB

API 分页探讨:offset 来分页真的有效率吗?

爱好编程进阶

Java 面试 后端开发

JAVA8之后的版本履历

爱好编程进阶

Java 面试 后端开发

Apache ShardingSphere 5.1.1 正式发布

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

大型IM系统有多难?万字长文,搞懂异地多活!

WorkPlus

GPU底层技术、全球市场格局分析

Finovy Cloud

人工智能 云计算 云服务器 GPU服务器 GPU算力

大数据培训经典SQL面试题解析

@零度

sql 大数据开发

我,机器学习工程师,决定跑路了

OneFlow

机器学习 深度学习 AI 程序人生 MLOps

jackson学习之九:springboot整合(配置文件)

爱好编程进阶

Java 面试 后端开发

MyCat教程【简单介绍】

爱好编程进阶

Java 面试 后端开发

视频画质增强最优解:微帧科技视频超高清引擎

微帧Visionular

计算机视觉 视频增强 电影修复

client-go实战之四:dynamicClient

爱好编程进阶

Java 面试 后端开发

Elasticsearch文档读写模型实现原理

爱好编程进阶

Java 面试 后端开发

使用基于速率的 AWS WAF 规则保护网站和服务_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章