安慰队列的Kerberos身份验证

时间:2017-01-31 14:47:21

标签: authentication kerberos solace

您好我正在尝试使用Kerberos建立与安慰队列的安全连接。我使用Solace JMS API开发了一个客户端应用程序。据我所知,我们需要实现以下安全连接步骤:

1)将密钥表添加到Solace Keytab目录

2)使用SolAdmin在Solace上执行某些配置命令

3)导入Kerberos库并在客户端应用程序上设置某些属性。

以下是我对该主题的怀疑

1)我想知道这些是我们为安全连接需要遵循的步骤吗?

2)密钥表在建立安全连接中起什么作用?

3)如何使用kerberos为安全连接设置用户名和密码,还是默认提供?

4)除了导入kerberos库和设置一些属性之外,还有什么应该作为客户端应用程序的一部分来完成吗?

1 个答案:

答案 0 :(得分:3)

使用Keytab是因为Solace设备作为“APP”无法使用用户/通过身份验证,因此所有身份验证都在密钥表中。

Kerberos和Solace之间的逻辑交互如下:

  • 当使用Kerberos身份验证方案进行客户端身份验证时,客户端必须首先使用Kerberos身份验证服务器(AS)进行身份验证,该服务器为客户端授予指定Kerberos用户主体的故障单授予故障单(TGT)。 TGT通常作为单点登录过程的一部分获得,例如登录到Windows域。使用有效的TGT,客户端可以尝试使用客户端本地票证缓存中的服务票证登录路由器,或者从票证授予服务(TGS)获取。 AS和TGS(密钥分发中心(KDC)的组件)托管在外部服务器上,而不是Solace路由器上。
  • 此身份验证方案允许客户端使用GSSAPI(通用安全服务API)中的Kerberos机制来验证其与Solace路由器的连接。要通过Solace路由器进行身份验证,客户端必须提供从KDC票证授予服务(TGS)获得的服务票证。 KDC服务托管在外部服务器上。然后,客户端将此带时间戳的“Kerberos”票证提供给Solace路由器。如果成功验证了故障单,则授予客户端与Message VPN的连接。
  • 对于此身份验证方案,客户端分配的客户端用户名(用于后续客户端授权)是提供给路由器的故障单中的用户主体名称。

要使用Kerberos对连接到Solace路由器的客户端进行身份验证,需要进行以下配置:

客户端配置

  1. 对于使用Solace消息传递API的客户端,必须使用相应的Java发行版,或者必须为所使用的Solace消息传递API安装相应的Kerberos库,并且客户端会话必须使用Kerberos身份验证方案。
  2. Solace路由器配置

     1. SolOS 7.0 or greater must be used.
     2. A Kerberos Keytab must be loaded on the router. 
     3. Kerberos authentication must be configured and enabled for any Message VPNs that Kerberos-authenticated clients will connect to.
     4. Optionally, a Kerberos Service Principal Name (SPN) can be assigned to the IP address for the message backbone VRF that will be
    used for Kerberos authenticated clients.