使用流量管理工具保护 Kubernetes 的六种方法(上)
Jenn Gile
职位:NGINX产品营销经理
公司:F5
编者按——本文介绍了您可以使用 Kubernetes 流量管理工具解决的六个安全用例,该工具允许 SecOps 与 DevOps 和 NetOps 更好地协作保护云原生应用和 API。限于篇幅,我们将分为上下两篇发布。
有三个因素使云原生应用比传统应用更难以保护:
云原生应用交付导致工具泛滥以及不一致的企业级服务
云原生应用交付成本可能非常高且不可预测
SecOps 团队难以保护云原生应用,并与 DevOps 存在分歧
虽然这三点都会影响安全性,但也许是由于第三点涉及到人的因素最多,它可能是最棘手的问题。如果 SecOps 没有能力或没有足够的权限保护云原生应用,那么有些后果很明显(漏洞和违规),有些后果却很隐蔽,例如敏捷性降低、数字化转型停滞不前等。
我们来深入探讨一下这些隐性的代价。企业之所以选择 Kubernetes,是因为它有望提高敏捷性并降低成本。但是当 Kubernetes 环境发生安全事件时,多数企业又会将他们的 Kubernetes 部署挪到生产环境之外。且不说这会减缓事关企业未来发展的数字化转型的步伐,就连投入的工程设计和资金也付诸东流了。从逻辑上来说,如果您希望 Kubernetes 完成从测试到生产的旅程,那么就必须将安全性视为重要的战略组成部分,让企业中的每个人都予以高度重视。
本文介绍了您可以使用 Kubernetes 流量管理工具解决的六个安全用例的前三个,该工具允许 SecOps 与 DevOps 和 NetOps 更好地协作保护云原生应用和 API。您可以搭配使用这些技术以构建一套全面的安全战略,从而在保护应用和 API 的同时,最大限度地减少对客户的影响。
快速解决 CVE 漏洞,有效避免网络攻击
抵御 OWASP 十大安全漏洞和拒绝服务(DoS)攻击
将身份验证和授权从应用层卸载下来
设置有“防护栏”的自助服务
实施端到端加密
确保客户端使用可信的强密码
用例1
快速解决 CVE 漏洞,有效避免网络攻击
如果有一支工程团队负责工具开发(而非社区志愿者),那么您就知道有一群人会全力保障该工具的健康,并会优先考虑尽快发布补丁。
只要不依赖外部项目(就像我们在 OpenResty 案例中讨论的那样),打补丁就快速多了。
用例2
抵御 OWASP 十大安全漏洞和 DoS 攻击
某些情况下,在 Kubernetes 内部署工具是最好的选择,这样工具就可以在 Kubernetes 内外灵活运行,而不会受基础架构的限制。通过使用相同的工具支持所有部署,您可以重复使用策略,并降低 SecOps 团队的学习难度。
一款优秀的 Kubernetes 工具通常体量也小,资源消耗恰到好处,能够最大程度地减少对吞吐量、每秒请求和延迟的影响。DevOps 团队通常会拒绝使用安全工具,因为他们先入为主地认为这会降低应用速度,而选择一款小体量的高性能工具无疑会增加使用概率。
01
前门(在 F5 NGINX Plus 或 F5 BIG‑IP 等负载均衡器上)——适用于粗粒度的全局保护,因为它允许您跨多个集群应用全局策略
02
边缘(在 Ingress Controller 上,比如 F5 NGINX Ingress Controller)——适用于在一个集群上提供标准的细粒度保护
03
service(在 NGINX Plus 等轻量级负载均衡器上) ——当集群中的少量服务对独特的策略有着共同需求时,这种方法必不可少
04
pod(作为应用的一部分)——一种高度自定义的方法,适用于策略具有应用针对性的情形
如果企业更倾向于采用“深度防御”安全策略,那么我们建议在外部负载均衡器和 Ingress Controller 上部署 WAF,以有效平衡全局保护和自定义的保护。
如果不采用“深度防御”策略,那么也可以只部署在二者其一的位置上,具体取决于所有权。当传统 NetOps 团队负责管理安全性时,他们可能习惯将 WAF 部署在传统代理(外部负载平衡器)上。但是,熟悉 Kubernetes 的 DevSecOps 团队(更喜欢将安全配置放在集群配置附近)可能会选择在 Ingress Controller 层面上部署 WAF。
如果您的团队对服务或应用有着特定的要求,则可以根据需求部署额外的 WAF。但要注意:这些位置的部署成本更高一些。这种方法不仅会拖慢开发速度并增加云预算,而且还会提高与故障排除工作相关的运营成本(例如在排查意外拦截流量的 WAF 时)。
DoS 攻击防御起来更直接一些,只需将工具部署在一个位置即可 — 要么在前门,要么在 Ingress Controller。如果您在前门和边缘都部署了 WAF,那么我们建议您在前门 WAF 的前面部署 DoS 防护工具,因为它的覆盖面最广。如此一来,那些非法流量还没到达 WAF 就被滤除了,能够让您更有效地利用计算资源。
用例3
将身份验证和授权从应用层卸载下来
有关该主题的更多信息,请参阅。
使用 NGINX 提高 Kubernetes 安全性
NGINX Ingress Controller — 面向 Kubernetes 的 NGINX Plus 版 Ingress Controller,支持高级流量控制和整形、监控和可视化、身份验证和单点登录,并且能够充当 API 网关。
F5 NGINX App Protect — 建立在 F5 领先市场的安全技术之上,集成了 NGINX Ingress Controller 和 NGINX Plus,能够为现代应用和 API 提供全面的保护。采用模块化方法来实现部署方案的灵活性和资源的最佳利用:
NGINX App Protect WAF — 一种功能强大的轻量级 WAF,能够抵御 OWASP 十大安全漏洞和其他威胁,并帮助企业遵守 PCI DSS 标准。
NGINX App Protect DoS — DoS 行为检测和防护,能够横跨各种云环境和各种架构,提供一致的自适应保护。
F5 NGINX Service Mesh — 一款对开发人员友好的轻量级、立即可用的 service mesh 解决方案,将 NGINX Plus 作为企业级的 sidecar。
点击文末“阅读原文”,立即申请 NGINX Ingress Controller 30 天免费试用版(含 NGINX App Protect WAF 和 DoS),并下载始终免费的 NGINX Service Mesh。
扫描下方二维码
立即报名