QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

关注

评论

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

HarmonyOS应用开发实战-开箱即用的首页页面构建与ArkTS解析【HarmonyOS 5.0(Next)】

申公豹

HarmonyOS

阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot

阿里云大数据AI技术

人工智能 elasticsearch chatbot rag AI搜索

芯盾时代统一身份安全管理的闭环能力建设

芯盾时代

iam 统一身份管理平台 特权账号管理

Perfectly Clear Video:专业级视频清晰化,轻松打造视觉盛宴!

Rose

集中回答客户关注的数据云场景的四个问题

奇点云

大数据 互联网 数据云

某世界知名航司携手雅菲奥朗开启SRE和可观测性培训,加速企业数字化转型

雅菲奥朗

Observability SRE培训 SRE认证 可观测性认证 可观测性培训

鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】

申公豹

HarmonyOS

外媒编辑评选今年最佳游戏TOP10 《黑神话:悟空》第二

阿拉灯神丁

游戏

环境监测管理系统(源码+文档+部署+讲解)

深圳亥时科技

试验数据管理系统(源码+文档+部署+讲解)

深圳亥时科技

基于HarmonyOS 5.0的元服务:技术架构、应用场景与未来发展【探讨】

申公豹

HarmonyOS

从GPT到o3:Next-token Prediction 的核心奥秘(下)

JustYan

人工智能 大模型 openai GPT 生成式AI

INFINI Labs 产品更新 | Console/Gateway/Agent 等产品开源发布首个版本

极限实验室

console Gateway agent loadgen easysearch

WiFiSpoof:MAC地址随心换,网络安全再升级!

Rose

别划走!选择无代码平台的10个理由!

积木链小链

制造业 无代码

FonePaw Android Data Recovery Mac 安卓手机数据恢复软件中文版

Rose

微信多开 WechatTweak for Mac(微信多开、消息防撤回工具)安装教程

Rose

HarmonyOS 5.0 (Next)应用开发实战:使用ArkTS构建开箱即用的登录页面【HarmonyOS 5.0(Next)】

申公豹

HarmonyOS

最佳GTD时间效率工具 OmniFocus Pro 4永久激活版

Rose

NAS局域网移动端视频播放神器 nPlayer for Mac 中文激活版

Rose

【代码合并神器】Sublime Merge,让版本控制更高效!

Rose

600多个mindmanager模板素材(思维导图模板合集)

Rose

电力能源管理系统(源码+文档+部署+讲解)

深圳亥时科技

Bartender 5:Mac菜单栏整理大师,提升工作效率必备!

Rose

HarmonyOS应用开发实战:基于ArkTS的开箱即用登录页面实现【样式方式实现①】【HarmonyOS 5.0(Next)】

申公豹

HarmonyOS

探索HarmonyOS开发:用ArkTS构建个人主页和活动管理系统【HarmonyOS 5.0(Next)】

申公豹

HarmonyOS

开箱即用的个人主页页面开发实战—基于HarmonyOS 5.0 (Next)和ArkTS的实现【HarmonyOS 5.0(Next)】

申公豹

HarmonyOS

Newtonsoft.Json/Json.NET:灵活处理序列化中的意外错误

代码忍者

Mac用户必备!StarUML助你高效建模设计

Rose

LUMEVIEW会议一体机:开启智能会议新征程

cts喜友科技

视频会议

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