2.8. 集群安全性
保护您的数据并防止网络入侵是部署计划最重要的方面之一。敏感的客户详细信息会泄漏开放互联网或数据漏洞,允许黑客公开机密信息对业务声誉产生影响。
考虑到这一点,您需要可靠的安全策略来验证用户并加密网络通信。但是,您的数据网格部署性能的成本是什么?在规划期间,您应如何使用这些注意事项?
身份验证
验证用户凭证的性能成本取决于机制和协议。Data Grid 通过 Hot Rod 每一次验证凭据,同时可能针对通过 HTTP 的每个请求。
| SASL 机制 | HTTP 机制 | 性能影响 |
|---|---|---|
|
|
|
|
|
|
|
对于 Hot Rod 和 HTTP 请求,
对于 Hot Rod 端点, |
|
|
| Kerberos 服务器、密钥分发中心(KDC)处理身份验证并向用户发布令牌。Data Grid 性能得益于独立系统处理用户身份验证操作的事实。但是,这些机制可能会导致网络瓶颈,具体取决于 KDC 服务本身的性能。 |
|
|
| 联合实施 OAuth 标准的身份提供程序,以向 Data Grid 用户发出临时访问令牌。用户使用身份服务进行身份验证,而不是直接向 Data Grid 进行身份验证,而是将访问令牌作为请求标头传递。与直接处理身份验证相比,Data Grid 的性能损失较低,以验证用户访问令牌。与 KDC 类似,实际性能影响取决于身份提供程序本身的服务质量。 |
|
|
| 您可以为 Data Grid 服务器提供信任存储,以便它通过比较客户端与信任存储中存在的证书来验证入站连接。 如果信任存储只包含签名证书(通常是证书颁发机构(CA)),则提供 CA 签名的证书的任何客户端都可以连接到 Data Grid。这提供了较低的安全性,并容易受到 MITM 攻击的影响,但比验证每个客户端的公共证书要快。 如果信任存储除签名证书外还包含所有客户端证书,则只有在信任存储中存在的签名证书的客户端可以连接到 Data Grid。在这种情况下,Data Grid 将来自客户端提供的证书的通用通用名称(CN)与信任存储进行比较,除了验证证书是否已签名,增加更多的开销。 |
Encryption
加密集群传输保护数据,因为它在节点间传递并保护您的数据网格部署免受 MITM 攻击。在加入集群时,节点会执行 TLS/SSL 握手,这会通过额外的往返增加性能损失并增加延迟。但是,当每个节点建立连接时,它会永久保留连接,假设连接永远不会处于闲置状态。
对于远程缓存,Data Grid 服务器也可以加密与客户端的网络通信。就客户端与远程缓存之间的 TLS/SSL 连接的影响是相同的。协商安全连接需要更长的时间,且需要一些额外的工作,但一旦连接建立对加密的延迟并不是数据网格性能的问题。
除了使用 TLSv1.3 外,除了偏移加密的性能丢失的唯一方法是配置 Data Grid 运行的 JVM。Java 17 的 TLS 性能现在与原生实施相比。
授权
基于角色的访问控制(RBAC)可让您限制对数据的操作,为您的部署提供额外的安全性。RBAC 是为用户访问跨 Data Grid 集群分布的数据进行最低特权策略的最佳方法。Data Grid 用户必须具有足够级别的授权才能从缓存中读取、创建、修改或删除数据。
添加另一层安全以保护您的数据将始终具有性能成本。授权为操作添加了一些延迟,因为 Data Grid 在允许用户操作数据前,会根据访问控制列表(ACL)验证每个延迟。但是,对授权的性能的影响要低于加密,因此成本通常会平衡。