搜索

11.2. 配置 JGroups 加密

download PDF

用于 OpenShift 的数据网格使用 JGroups 技术保护集群服务器间的流量,并带有以下选项:

身份验证

使用需要节点在加入集群时使用密码进行身份验证的Groups AUTH 协议。

您可以使用 JGROUPS_CLUSTER_PASSWORD 环境变量配置身份验证。此环境变量设置在加入集群时要使用的节点密码。整个集群中的密码必须相同。

对称加密

使用 JGroups SYM_ENCRYPT 协议保护来自 JGroups 密钥存储的流量(.jceks)。这是默认的加密协议。

JGroups AUTH 协议具有对称加密的可选功能。

JGroups 密钥存储包含集群中各个节点用于安全通信的凭据。

非对称加密

使用 JGroups ASYM_ENCRYPT 协议保护带有公钥/私钥加密的流量。

利用非对称加密,需要 JGroups AUTH 协议。

协调器节点会生成 secret 密钥。当节点加入集群时,它会从协调器请求 secret 密钥并提供其公钥。协调器使用公钥加密 secret 密钥并将其返回到节点。然后,节点会解密并安装 secret,以便它可以安全地与集群中的其他节点通信。

11.2.1. 设置对称加密

要使用对称加密,请执行以下操作:

  1. 创建一个Groups 密钥存储(.jceks),其中包含用于加密流量的凭据。

    您可以使用 Java keytool 生成 JGroups 密钥存储。

  2. 将 JGroups 密钥存储作为机密部署到 OpenShift。

    1. 登录您的 OpenShift 集群。
    2. 为 JGroups 密钥存储创建机密。例如,若要从名为 jgroups.jceks 的密钥存储创建名为 jgroups-secret 的 secret,请执行以下操作:

      $ oc create secret generic jgroups-secret \
        --from-file=jgroups.jceks
    3. 将 secret 链接到 default 服务帐户。

      $ oc secrets link default jgroups-secret
    4. 将 secret 挂载到容器。

      $ oc set volumes dc/datagrid \
        --add -t secret \
        --secret-name='jgroups-secret' \
        --mount-path='/keystores/jgroups'
  3. 将集群中每个节点的 JGROUPS_ENCRYPT_PROTOCOL 环境变量设置为 SYM_ENCRYPT
  4. 配置集群中的每个节点,使其使用具有以下环境变量的 JGroups 密钥存储:

    JGROUPS_ENCRYPT_KEYSTORE
    Specifes the JGroups 密钥存储用于加密集群流量。
    JGROUPS_ENCRYPT_KEYSTORE_DIR
    指定 JGroups 密钥存储所在的目录。
    JGROUPS_ENCRYPT_SECRET
    匹配密钥存储的 OpenShift 机密。
    JGROUPS_ENCRYPT_NAME
    匹配密钥存储的用户名。
    JGROUPS_ENCRYPT_PASSWORD
    匹配密钥存储密码。
  5. 如果需要,在使用 JGROUPS_CLUSTER_PASSWORD 环境变量加入集群时,为节点设置密码。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.