Authentication 如何保护Infinispan群集

Authentication 如何保护Infinispan群集,authentication,cluster-computing,infinispan,jgroups,Authentication,Cluster Computing,Infinispan,Jgroups,我正在尝试使用SimpleToken准备一个安全的Infinispan集群,如本文所述。虽然我提供了所需的配置,但新节点能够加入集群,即使它们具有不同的“auth_值” 以下是我对第一个节点的配置: <config xmlns="urn:org:jgroups" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:org:jgroups http://www.jgroup

我正在尝试使用SimpleToken准备一个安全的Infinispan集群,如本文所述。虽然我提供了所需的配置,但新节点能够加入集群,即使它们具有不同的“auth_值”

以下是我对第一个节点的配置:

<config xmlns="urn:org:jgroups"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/JGroups-3.6.xsd">

。。。。
....
对于第二个节点,我正在使用具有不同auth_值的相同配置:

<AUTH auth_class="org.jgroups.auth.SimpleToken" auth_value="cluster2"/>

JGroup xml文件中配置节点的顺序很重要。基地一红帽支援队

对于非对称加密(不需要共享密钥库): 1) 配置jgroups子系统:

  • ASYM_ENCRYPT应在NAKACK之前立即配置,AUTH应在GMS之前立即配置
  • 请注意,此处为上下文显示的其他协议将根据JGroups版本略有不同
  • 这意味着我的JGroup文件应该如下所示:

    <AUTH auth_class="org.jgroups.auth.SimpleToken" auth_value="cluster1"/>
    <pbcast.GMS print_local_addr="false"join_timeout="15000"/>
    
    节点2:

    原因:java.lang.SecurityException:身份验证失败 位于org.jgroups.protocols.pbcast.clientgmsiml.isJoinResponseValid(clientgmsiml.java:188)
    请注意,最新版本的ASYM_ENCRYPT不再需要身份验证;如果您使用基于证书的密钥交换,如SSL\U密钥交换。有关详细信息,请参见[1]

    前面的答案是正确的:协议的顺序非常重要

    [1]

    <AUTH auth_class="org.jgroups.auth.SimpleToken" auth_value="cluster1"/>
    <pbcast.GMS print_local_addr="false"join_timeout="15000"/>
    
    [WARN] AUTH: failed to validate AuthHeader token from xxxx, token: auth_value=cluster1