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