搜索

24.2.7. 保护集群

download PDF

要安全运行集群,需要解决几个问题:

24.2.7.1. 配置身份验证

JGroups 身份验证由 AUTH 协议执行。目的是确保只有经过身份验证的节点才能加入群集。

在适用的服务器配置文件中,使用适当的属性设置添加 AUTH 协议。AUTH 协议应该在 pbcast.GMS 协议之前配置。

以下示例演示了如何将 AUTH 与不同类型的授权令牌搭配使用。

带有简单令牌的AUTH
...
<protocol type="pbcast.STABLE"/>
<auth-protocol type="AUTH">
  <plain-token>
    <shared-secret-reference clear-text="my_password"/>
  </plain-token>
</auth-protocol>
<protocol type="pbcast.GMS"/>
...
带有 Digest Algorithm 令牌的 AUTH

此格式可与任何摘要算法一起使用,如 MD5 或 SHA-2。JBoss EAP 7.3 的默认摘要算法是 SHA-256,JVM 支持最强大的摘要算法。很多 JVM 还将实施 SHA-512。

...
<protocol type="pbcast.STABLE"/>
<auth-protocol type="AUTH">
  <digest-token algorithm="SHA-512">
    <shared-secret-reference clear-text="my_password"/>
  </digest-token>
</auth-protocol>
<protocol type="pbcast.GMS"/>
...
带有 X509 令牌的 AUTH

本例在 elytron 子系统中创建新的密钥存储,并在 JGroups AUTH 配置中引用它。

  1. 创建密钥存储:

    $ keytool -genkeypair -alias jgroups_key -keypass my_password -storepass my_password -storetype jks -keystore jgroups.keystore -keyalg RSA
  2. 使用管理 CLI 将密钥存储添加到 elytron 子系统:

    /subsystem=elytron/key-store=jgroups-token-store:add(type=jks,path=/path/to/jgroups.keystore,credential-reference={clear-text=my_password}, required=true)
  3. 在 JGroups 堆栈定义中,将 AUTH 配置为使用密钥存储:

    ...
    <protocol type="pbcast.STABLE"/>
    <auth-protocol type="AUTH">
      <cipher-token algorithm="RSA" key-alias="jgroups_key" key-store="jgroups-token-store">
        <shared-secret-reference clear-text="my_password"/>
        <key-credential-reference clear-text="my_password"/>
      </cipher-token>
    </auth-protocol>
    <protocol type="pbcast.GMS"/>
    ...
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.