为WSO2AM的MB配置TLS

时间:2018-10-12 05:37:52

标签: wso2 wso2-am

使用具有单独网关实例(外部和内部)的wso2am 2.2.0。似乎网关正在通过jms队列(端口5672)发布流量/限制信息。

是否可以为网关和流量管理器之间的jms流量配置TLS?

原因-网关之一将驻留在dmz中,并且要求在dmz中进行端到端加密。 Thrift通信也不使用TLS,但至少要通过TLS进行身份验证。虽然我很害怕(管理员用户的)JMS凭证被发送为纯文本

1 个答案:

答案 0 :(得分:0)

默认情况下,来自流量管理器的

TLSssl连接是打开的。代理使用的ssl端口是8672。在文件TRAFFIC_MANAGER_HOME / repository / conf / broker.xml中的传输部分下进行配置,如下所示。

        <sslConnection enabled="true" port="8672">
            <keyStore>
                 <location>repository/resources/security/wso2carbon.jks</location>
                 <password>wso2carbon</password>
                 <certType>SunX509</certType>
            </keyStore>
            <trustStore>
                <location>repository/resources/security/client-truststore.jks</location>
                <password>wso2carbon</password>
                <certType>SunX509</certType>
            </trustStore>
        </sslConnection>

您可以通过如下所示验证流量管理器节点的启动日志来验证ssl端口是否也被打开。

[2018-10-12 16:00:00,155]  INFO - AndesContextInformationManager Queue Sync [create]: deadletterchannel
[Broker] BRK-1002 : Starting : Listening on TCP port 5672
[2018-10-12 16:00:00,157]  INFO - listening [Broker] BRK-1002 : Starting : Listening on TCP port 5672
[2018-10-12 16:00:00,158]  WARN - InboundDBSyncRequestEvent Recovering node. Adding binding [Binding]E=amq.dlc/Q=deadletterchannel/RK=deadletterchannel/D=true/EX=false
[2018-10-12 16:00:00,159]  INFO - AndesContextInformationManager Binding Sync [create]: [Binding]E=amq.dlc/Q=deadletterchannel/RK=deadletterchannel/D=true/EX=false
[Broker] BRK-1002 : Starting : Listening on TCP/SSL port 8672
[2018-10-12 16:00:00,161]  INFO - listening [Broker] BRK-1002 : Starting : Listening on TCP/SSL port 8672
[Broker] BRK-1004 : Qpid Broker Ready

在确认这一点之后,您必须在网关节点中放置正确的主机,端口值,以将JMS连接到流量管理器节点。可以使用网关节点中的jndi.properties文件配置该文件,该文件位于API_GATEWAY_HOME / repository / conf /下。在这里,您必须使用ssl配置来更改代理URL。由ssl配置的代理URL的示例如下所示

connectionfactory.TopicConnectionFactory = amqp://<USERNAME>:<PASSWORD>@clientid/carbon?brokerlist='tcp://<Traffice-Manager-IP>:8672?ssl='true'&ssl_cert_alias='<CERTIFICATE_ALIAS_IN_TRUSTSTORE>'&trust_store=' <PATH_TO_TRUST_STORE>'&trust_store_password='<TRUSTSTORE_PASSWORD>'& key_store='<PATH_TO_KEY_STORE>'&key_store_password='<KEYSTORE_PASSWOR D>'';