第 6 章 加密集群传输
保护集群传输,以便节点与加密消息通信。您还可以配置 Data Grid 集群来执行证书验证,以便只有具有有效身份的节点可以加入。
6.1. 使用 TLS 身份保护集群传输
将 SSL/TLS 身份添加到 Data Grid 服务器安全域,并使用它们来保护集群传输。然后,Data Grid Server 集群中的节点交换 SSL/TLS 证书来加密 JGroups 消息,包括 RELAY 消息(如果配置了跨站点复制)。
先决条件
- 安装 Data Grid Server 集群。
流程
创建一个 TLS 密钥存储,其中包含用于识别数据网格服务器的单一证书。
如果它包含 PKCS#1 或 PKCS#8 格式的私钥,以及证书,以及一个空密码:
password=""
,您可以使用 PEM 文件。注意如果密钥存储中的证书不是由公共证书颁发机构(CA)签名,则还必须创建包含签名证书或公钥的信任存储。
-
将密钥存储添加到
$RHDG_HOME/server/conf
目录中。 将密钥存储添加到 Data Grid Server 配置中的新安全域。
重要您应该创建专用的密钥存储和安全域,以便 Data Grid Server 端点不像集群传输一样使用相同的安全域。
<server xmlns="urn:infinispan:server:13.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>