集合体安全性

您可以使用 Liberty 中的集合体安全性的原则来处理活动数据和空闲数据。

集合体安全性的两个主要领域是:
  • 管理域安全性配置

    处理动态数据、认证和授权

  • 集合体存储库数据安全性

    处理静态数据、认证和授权

管理域安全性配置
集合体的管理域安全性配置由两个部分组成:
  • 用户域

    此域依赖于用来定义管理员角色的基于 Java™ 角色的安全性。此类型的安全性可以映射到所配置用户注册表中的用户。

  • 服务器域

    此域依赖于基于 SSL 证书的认证。

用户必须是管理员角色才能访问集合体控制器的 MBean。必须向用户授予管理员角色,用户才能通过集合体执行所有管理操作。有关完整详细信息,请参阅配置与 Liberty 的安全 JMX 连接

服务器间通信在服务器域中进行,并且不会使用任何用户身份或密码在集合体成员之间通信。集合体的每个成员在集合体中均具有唯一身份,此身份由成员的主机名、用户目录和服务器名称组成。集合体中的每个成员均定义其服务器域配置,该配置包含 serverIdentity.jkscollectiveTrust.jks 文件。这些文件含有在集合体中建立安全通信所需的 SSL 证书。HTTPS 密钥配置必须具有缺省情况下建立的特定信任设置。

要定制服务器域 SSL 配置,您可以将额外的可信证书条目添加到 collectiveTrust.jks 密钥库。复制控制器时会复制所有信任;因此,必须将 SSL 定制内容应用到初始控制器。只有在未使用缺省 HTTPS 证书时,才必须将信任添加到 collectiveTrust.jks 密钥库。如果修改了 HTTPS SSL 配置,那么应用下列证书规则:
  • HTTPS 信任必须由集合体中的所有控制器和成员建立。如果修改了 HTTPS SSL 证书,那么必须将集合体控制器中的下列根签署者添加到 HTTPS SSL 信任库:
    • 必须将 rootKeys.jks 密钥库中的 controllerRoot 签署者添加到所有集合体成员 HTTPS SSL 信任库。
    • 必须将 rootKeys.jks 密钥库中的 controllerRoot 签署者和 memberRoot 签署者添加到所有集合体控制器的 HTTPS SSL 信任库。
  • 每个成员都可以建立与集合体控制器的出站连接。集合体控制器的 collectiveTrust.jks 密钥库必须包含证书链,此证书链信任每个成员的 HTTPS SSL 证书。强烈建议所有 HTTPS 证书都由根签署者进行签名,然后可将这些证书添加到 collectiveTrust.jks 密钥库。使用没有公共根签署者的各 SSL 证书足以建立信任,但不会扩展。
  • 每个控制器都可以建立与集合体成员的出站连接。集合体成员的 collectiveTrust.jks 密钥库必须包含证书链,此证书链信任每个控制器的 HTTPS SSL 证书。强烈建议所有 HTTPS 证书都由根签署者进行签名,然后可将这些证书添加到 collectiveTrust.jks 密钥库。使用没有公共根签署者的各 SSL 证书足以建立信任,但不会扩展。
服务器到服务器通信要求支持 SSL 认证。如果定制 HTTPS SSL 配置,那么 SSL 配置必须指定 clientAuthenticationSupported="true"。例如:
<!-- clientAuthenticationSupported set to enable bidirectional trust -->
    <ssl id="defaultSSLConfig"
         keyStoreRef="defaultKeyStore"
         trustStoreRef="defaultTrustStore"
         clientAuthenticationSupported="true" />

在集合体控制器上设置 clientAuthentication="true" 并不明智,并且将阻止一些常见的和期望的行为。例如,此设置会阻止管理中心和集合体命令行实用程序中使用用户名和密码进行的认证。

可能最好在集合体成员上设置 clientAuthentication="true",以阻止用户名和密码登录。此设置不会中断集合体操作,因此所有来自控制器的操作都将使用证书进行认证。

可以通过使用 CollectiveRegistration MBean 阻止成员将信息发布到集合体控制器。disavow 和 avow 方法分别用于阻止认证和启用认证。

集合体存储库数据安全性

集合体存储库数据安全策略涵盖了静态数据的策略,特别是用来访问集合体存储库的内容的策略。

集合体数据的当前安全策略为如下所示:
  • 系统保留了三个节点名:sys.host.auth.infosys.jmx.auth.infosys.nologin。这些节点位于主机或服务器的存储库名称空间中。用户创建的节点必须避免使用 sys. 前缀。
  • 通过 MBean 无法访问 sys.host.auth.infosys.jmx.auth.info 节点,这样可防止泄露系统凭证。访问存储在这些节点中的数据将导致响应为空。
  • 集合体成员会受限制,只能修改它自己在存储库中的信息。除了以上说明的情况之外,经过认证的管理用户可以不受限制地访问存储库中的信息。已认证的管理用户是授予管理角色的所有用户。

因为集合体存储库最终位于磁盘上,所以文件系统许可权设置对于环境来说必须是安全的。对于集合体控制器的配置,建议的做法是用户可以进行读写,组只能读取,而任何其他对象都无法访问该配置(即,chmod 0640)。请按照组织可能已建立的任何安全准则来执行操作。


用于指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: Monday, 5 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=cwlp_collective_sec
文件名:cwlp_collective_sec.html