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