第 6 章 加密集群传输
保护集群传输,以便节点与加密消息通信。您还可以配置 Data Grid 集群来执行证书身份验证,以便只有具有有效身份的节点才能加入。
6.1. 使用 TLS 身份保护集群传输
为 Data Grid 服务器安全域添加 SSL/TLS 身份,并使用它们来保护集群传输。Data Grid Server 集群中的节点随后交换 SSL/TLS 证书以加密 JGroups 消息,包括 RELAY 消息(如果您配置跨站点复制)。
先决条件
- 安装 Data Grid Server 集群。
流程
创建一个 TLS 密钥存储,其中包含单个证书来标识 Data Grid 服务器。
如果 PEM 文件包含 PKCS"" 或 PKCS""8 格式的私钥,则可使用证书,并且具有空密码:
password=""
。注意如果密钥存储中的证书没有由公共证书颁发机构(CA)签名,那么您还必须创建一个包含签名证书或公钥的信任存储。
-
将密钥存储添加到
$RHDG_HOME/server/conf
目录中。 将密钥存储添加到 Data Grid Server 配置中的新安全域。
重要您应该创建专用的密钥存储和安全域,以便 Data Grid 服务器端点不使用与集群传输相同的安全域。
<server xmlns="urn:infinispan:server:15.0"> <security> <security-realms> <security-realm name="cluster-transport"> <server-identities> <ssl> <!-- Adds a keystore that contains a certificate that provides SSL/TLS identity to encrypt cluster transport. --> <keystore path="server.pfx" relative-to="infinispan.server.config.path" password="secret" alias="server"/> </ssl> </server-identities> </security-realm> </security-realms> </security> </server>
使用
server:security-realm
属性指定安全域的名称,将集群传输配置为使用安全域。<infinispan> <cache-container> <transport server:security-realm="cluster-transport"/> </cache-container> </infinispan>
验证
当您启动 Data Grid Server 时,以下日志消息表示集群使用安全域进行集群传输:
[org.infinispan.SERVER] ISPN080060: SSL Transport using realm <security_realm_name>