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