代码之家  ›  专栏  ›  技术社区  ›  Radwan Nizam

如何保护Infinispan群集

  •  1
  • Radwan Nizam  · 技术社区  · 8 年前

    我正在尝试使用SimpleToken准备一个安全的Infinispan集群,如下所述 JGroup 。虽然我提供了所需的配置,但新节点可以加入群集,即使它们具有不同的“auth\u value”值。

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

    <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_class="org.jgroups.auth.SimpleToken" auth_value="cluster1"/>
    </config>
    

    对于第二个节点,我使用的是具有不同auth\u值的相同配置:

    <AUTH auth_class="org.jgroups.auth.SimpleToken" auth_value="cluster2"/>
    
    2 回复  |  直到 8 年前
        1
  •  1
  •   Radwan Nizam    8 年前

    JGroup xml文件中配置节点的顺序很重要。Base one RedHat支持团队 here

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

    1. ASYM\u ENCRYPT应在NAKACK之前立即配置,AUTH应在GMS之前立即配置。
    2. 请注意,此处显示的上下文其他协议将根据JGroups版本略有不同。

    这意味着我的JGroup文件应该如下所示:

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

    现在,当我启动具有auth\u value=“cluster2”的第二个节点时,我收到以下警告和错误:

    节点1:

    [WARN] AUTH: failed to validate AuthHeader token from xxxx, token: auth_value=cluster1
    

    节点2:

    原因:java。lang.SecurityException:身份验证失败 位于组织。J组。协议。pbcast。客户端gmsimp。isJoinResponseValid(客户端gmsiml.java:188) 在

        2
  •  0
  •   Bela Ban    8 年前

    请注意,最新版本的ASYM\u ENCRYPT不再需要身份验证;如果使用基于证书的密钥交换,如SSL\U key\u exchange。详情见[1]。

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

    [1] http://www.jgroups.org/manual4/index.html#Security