【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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:001983
用户头像

发布了 370 篇内容, 共 171.5 次阅读, 收获喜欢 940 次。

关注

评论

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

华为云专家出品《深入理解边缘计算》电子书上线

华为云PaaS服务小智

边缘计算 华为云 华为开发者联盟

预约直播 | 展心展力MetaApp:基于DeepRec的稀疏模型训练实践

阿里云大数据AI技术

人工智能 模型训练

活动预告|周五晚,一起来看图数据库如何为构建行业大模型降本增效

悦数图数据库

图数据库 AIGC AI大语言模型

如何用低代码开发平台快速实现单据打印功能?

力软低代码开发平台

BI商业智能工具改变企业发展态势

对不起该用户已成仙‖

免费开源项目管理工具有哪些

PingCode

项目管理 项目管理软件

是时候了!MySQL 5.7 的下一站,不如试试 TiDB?

编程猫

QCN6274 QCN9274 What is the difference?|WIFI7 Solution|Wallys

wallyslilly

qcn9274 qcn6274

9 个值得推荐的 VUE3 UI 框架

互联网工科生

Vue UI VUE 3.0 源码

面试了一个前阿里P7,Java八股文与架构核心知识简直背得炉火纯青

程序员小毕

程序员 后端 高并发 架构师 java面试

高可用只读,让RDS for MySQL更稳定

华为云开发者联盟

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

构建数字工厂丨数据分析与图表视图模型的配置用法

华为云开发者联盟

后端 物联网 华为云 华为云开发者联盟 企业号 6 月 PK 榜

教你如何用Vue3搭配Spring Framework

华为云开发者联盟

前端 开发 华为云 华为云开发者联盟 企业号 6

HTML5 游戏开发实战 | 贪吃蛇

TiAmo

html html5 6 月 优质更文活动

用这个开源项目,网络小白也能搞定容器网络问题排查

阿里巴巴云原生

阿里云 容器 云原生 KubeSkoop

全球化数字经济时代,国产替代成为重中之重!

用友BIP

国产替代

广州丨阿里云 Serverless 技术实战营邀你来玩!

阿里巴巴云原生

阿里云 Serverless 云原生

JAVA 概述

这我可不懂

Java 开发语言

拥抱jsx,开启vue3用法的另一种选择

快乐非自愿限量之名

Vue JSX

Postman Test 校验入门指南:轻松进行接口测试并验证响应

Liam

Java 程序员 Postman 开发工具 API

6 大场景落地全面预算管理闭环

用友BIP

全面预算

PoseiSwap IDO、IEO 结束,即将登录 BNB Chain

威廉META

[NLP] langchain-ChatGLM 本地知识库

alexgaoyh

知识库 私有化部署 langchain ChatGLM-6B

PoseiSwap IDO、IEO 结束,即将登录 BNB Chain

鳄鱼视界

探秘华为云盘古大模型:AI for industries的身体力行

华为云开发者联盟

人工智能 华为云 盘古大模型 华为云开发者联盟 企业号 6 月 PK 榜

产品能力|AIRIOT数据采集与控制引擎在物联网项目中的硬核应用

AIRIOT

物联网

低代码——前端开发人员的利器

伤感汤姆布利柏

升级数智底座助力快速构建创新应用

用友BIP

低代码 数智底座 Pass平台

走进用友BIP数智人力,揭开中国企业智慧管理的神秘面纱

用友BIP

数智人力

AI开源:国际化开发潮流与低代码平台的崛起,探析其积极影响

EquatorCoco

人工智能 AI 低代码 AI开源

2023年,低代码秀起了肌肉

树上有只程序猿

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