写点什么

Netflix:微服务架构中的应用程序 DDoS 防护

  • 2017-08-03
  • 本文字数:1188 字

    阅读完需:约 4 分钟

日前,Netflix 发布了一篇博文,阐述了在微服务架构中缓解应用程序 DDoS 攻击的策略。该博文概要阐述了如何识别触发这种攻击的请求,如何使用开源的 Repulsive Grizzly Cloud Kraken 框架进行测试,最后,还提供了保护系统的一些最佳实践。

Netflix 应用程序安全专家 Scott Behrens 与产品和应用程序安全主管 Bryan Payne 首先指出,微服务架构特别容易受到应用程序 DDoS 攻击,这是因为频繁的 API 调用会导致服务周围产生多个网络跳跃( network hops),很容易导致系统攻击自身:

“微服务架构中的单一请求可能会生成数以万计的复杂中间层和后端服务调用。”

这些应用程序 DDoS 攻击带来的第一个挑战是识别。有些看起来像是用户合法的 API 调用,当这种调用即将引发大量内部资源消耗时,如何及时检测出来?

他们列出的首要策略之一就是确定 API 调用需要多长时间。这里我们不会监控前端的请求时间,这有可能会带来误报,监控后端服务的请求时间更为有利。然后对这些请求进行逆向工程,以确定哪种原始 API 调用可能会触发它。

当开发人员找寻出这些 API 调用时,它是一个查看请求本身的过程,并找出可以使其更为耗时的方法。比如,我们可以扩大搜索请求中的范围参数,以获得更大的结果集。在确定是否找到了正确的请求时,可以使用错误指示器(indicator),比如速率限制和异常,或简单地增加延迟。

一旦开发人员确定了这些请求,我们建议使用 Repulsive Grizzly (一个应用层 DDoS 测试框架)来运行它们。它并非一个识别工具,它会针对被测系统触发这些请求,从而提供了一种简化测试过程的方法。

他们还引入了 Cloudly Kraken,这是一个开源的 AWS 测试工具,有助于在全球范围内协调测试运行。这是通过管理一组可扩展的跨区域 AWS 实例完成的,每个实例都运行 Repulsive Grizzly 测试套件。它还提供时间同步功能,确保测试并行运行。

一旦请求被识别并通过测试验证,我们会建议采取以下缓解策略:

  • 生成这样的一种架构,最大限度减小微服务之间的依赖关系。如果一个服务失败,理想状况下,它应该实现故障隔离,而不会影响其他服务。
  • 了解服务队列和服务请求。例如,限制批量大小或请求的对象。
  • 提供从后端服务到 Web 应用程序防火墙的反馈环路。这为它提供了在 API 调用时下游资源利用率的额外信息,在很多 Web 应用程序防火墙的部署中,它只会监控边缘(edge)服务器,无法得到请求对 API 网关的影响。
  • 监视缓存未命中,多数情况下可能是因为高速缓存未正确配置。
  • 利用客户端的各种弹性模式,如断路器和超时设定。

完整的博文可以点此处在线阅读,在文章中作者通过案例研究深入分析了该主题。

查看英文原文: Netflix: Application DDoS Protection in Microservice Architectures


感谢张卫滨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-08-03 19:002185
用户头像

发布了 375 篇内容, 共 192.6 次阅读, 收获喜欢 947 次。

关注

评论

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

如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题?

java易二三

程序员 面试 计算机

工程项目管理软件有哪些?

优秀

项目管理软件 工程管理

建设数字工厂:MRP物料需求计划的逻辑原理与配置方法

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

生态伙伴 | 华秋硬创联合长虹创投,共同打造更优生态系统

华秋电子

一文带你入门网络协议

高端章鱼哥

数据 网络协议 网络 协议

使用 IDEA 远程 Debug 调试,太实用了!

java易二三

学习 编程 程序员 IDEA 计算机

捷报:斩获32项认证,6大奖项!

天翼云开发者社区

云计算

ShareSDK 国内平台登陆返回参数

MobTech袤博科技

前端 APP开发 分享工具

三分钟白话RocketMQ系列—— 核心概念

互联网工科生

分布式 RocketMQ 消息中间件

明道云与美洽产品生态合作介绍

明道云

MySQL事务隔离机制与实现原理详解(MySQL专栏启动)

java易二三

MySQL 数据库 程序员 计算机

如何在远距离传输大型文件时避免网络延迟和数据丢失

镭速

远距离传输大型文件 传输效率

用友《大型企业税务数智化转型方法论》:推动企业数智化转型

用友BIP

税务管理

一文读懂原生应用与混合应用

没有用户名丶

PoseiSwap:通过 RWA 的全新叙事,反哺 Nautilus Chain 生态

西柚子

需求太多处理不过来?MoSCoW模型帮你

敏捷开发

项目管理 需求处理 MoSCoW模型 排序优先级

企业游学进华秋,助力电子产业创新与发展

华秋电子

LED显示屏在高温的状态下工作影响有多大

Dylan

企业 常识 LED显示屏 户外LED显示屏 led显示屏厂家

IIOT -IPQ9574+IPQ8074-High Performance Router Motherboard-Support Wi-Fi 6 and Powerful Quad-Core Processor

wifi6-yiyi

wifi6 WiFi7

聆心智能Open Day发布CharacterGLM,共创超拟人大模型全“心”未来

硬科技星球

IPD(集成产品开发)与传统项目管理的区别

禅道项目管理

项目管理 IPD

Flink SQL 优化实战 - 维表 JOIN 优化

腾讯云大数据

流计算 Oceanus

晋级榜单揭晓!华秋第九届硬创大赛-华南分赛区路演成功举办

华秋电子

聆心智能“超拟人”模型升级,助力AI实现“走心”突破

硬科技星球

PoseiSwap:通过 RWA 的全新叙事,反哺 Nautilus Chain 生态

BlockChain先知

码力全开!请查收HDC.Together 2023亮点日程

HarmonyOS开发者

HarmonyOS

新华水力:实现税务集中管理的新路径

用友BIP

税务管理

RT-DETR:可以满足实时性要求的DETR模型

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

治水?智水!天翼云用科技解码智慧水务新发展!

天翼云开发者社区

云计算 大数据

数据库行业需要什么样的人才?高校老师这样说

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

Netflix:微服务架构中的应用程序 DDoS 防护_架构_Andrew Morgan_InfoQ精选文章