世界各地的组织都在急于对其应用程序进行现代化改造,以便在云中 Kubernetes 编排的容器中运行。在此现代化过程中,这些公司必须计划保护其应用程序连接。当应用程序被重新平台化并重新构建为分布式微服务时,会出现新的连接模式,这些模式通常会促使构建一个或多个服务网格。
强大的服务网格可以处理南北连接(从边缘进入基于 Kubernetes 的应用程序)和东西连接(同一集群上的服务之间或不同集群之间)。但是,这些流量模式中的每一个都需要全面的安全性.
实现服务网格安全性的最佳方法是采用零信任模型,这意味着每个连接,无论其来源如何,都必须经过验证和保护。为了帮助您评估服务网格技术并实施零信任安全,我们提供了 13 个必备功能,以确保您的应用程序连接安全。这是清单:
- 传输层安全性(TLS 和 mTLS)提供端到端加密,以保护任何端点对之间的动态数据。它可能是最基本的组件,但令人惊讶的是,并非所有服务网格都完全支持双向 TLS。
- 内置 Web 应用程序防火墙 (WAF)可屏蔽入站流量以发现威胁并阻止攻击侵入您的周边。对于任何向 Internet 公开以接收传入用户和应用程序连接请求的边缘网关来说,这都是必不可少的。
- 数据丢失防护 (DLP)监控数据泄露或泄露,以防止数据丢失和数据泄露。如果您的应用程序以某种方式受到损害,您不希望数据泄露您的边界。
- Kubernetes的机密管理集成,后者管理密码、安全令牌和加密密钥等敏感凭证。您会担心这些信息仍然被硬编码到应用程序中或以纯文本形式存储的频率。
- 证书管理从集中式平台控制和执行 SSL 证书以验证连接。证书轮换可能是一个痛苦的管理步骤,应该优雅地加以考虑。这应该可以扩展以支持外部权限,这意味着它将与您已经使用的企业身份和访问管理解决方案一起使用。
- 授权,例如使用开放策略代理 (OPA),它将服务 API 策略定义为代码。授权是身份验证的另一面,一旦您验证了他们的身份,谁就可以访问哪些资源。
- 联合信任域可以安全地跨环境对用户和应用程序进行身份验证,从而在任何地方始终如一地扩展身份验证策略。如果没有这个,您将花费大量精力来尝试保持各种角色的更新和同步——并且可能会犯一些错误。
- 联合的基于角色的访问控制 (RBAC) 和委派向用户授予与其职责相符的权限,并且再次在任何地方始终如一地应用此权限。这些控制可以应用于管理服务网格的运营商的不同级别,也可以应用于构建在网格中运行的应用程序的开发人员。
- 多租户和隔离使服务网格中的用户和应用程序可以安全地共享资源。拥有 RBAC 后,您可以安全地定义谁可以接触什么,并为不同的角色有效地创建隔离的工作空间。Istio 的授权策略也可用于防止不需要的流量到达您的应用程序。
- 漏洞扫描和出版物发现、解决和警告系统中的任何弱点。安全性与其最薄弱的环节一样好,因此检查防御中的任何漏洞很重要。
- 多集群访问可观察性为整个系统的所有活动提供完整的日志聚合和可审计性。这对于事件后的实时监控和取证都很有用。对于分布式应用程序,有必要获得全局视图。许多人使用 Prometheus 和 Grafana 等开源工具来实现可观察性。
- 联邦信息处理标准 (FIP) 140-2意味着您的服务网格技术已经过验证,符合美国政府规定的特定严格安全标准。有许多政府法规和行业最佳实践,但 FIPS 是确定安全基准的一种常用方法。
- 集群中继的安全拉取模型在整个系统中安全地共享配置。这是非常微妙的,但是您要确保任何配置更改都在请求时分发到边缘,并且仅在请求时分发。
虽然严格来说不是服务网格的安全特性,但一个额外的考虑因素是企业支持的可用性和用于响应的定义服务级别协议 (SLA)。