2

我正在为具有非常具体的高级别要求的客户端开发一个与 ESB 一起使用的安全组件:

  1. 集成到现有的 IWay 服务管理器版本 5.5 ESB(现有设置中没有安全系统)。
  2. 从存储在用于另一个系统(最好使用 LDAP)的现有活动目录服务器中的源数据中提供身份验证和授权级别信息。
  3. 身份验证和授权应在 ESB 中执行,因为 ESB 的接口将同时暴露给内部和外部客户端,因此无法完全控制客户端。
  4. 不能依赖客户端拥有证书来允许双边 SSL 身份验证,但是单边身份验证,客户端检查他是否访问正确的服务器是可能的,因此可以建立 HTTPS 连接。
  5. 该服务应该位于 Weblogic 上(但无论如何我都会很乐意接受建议)

更多信息:IWay ESB 是一个商业的、封闭的和相当差的解决方案,在 5.5 版中,它没有提供符合要求的开箱即用解决方案。它也是无状态的,因此除了使用 cookie 或某种类似于存储信息的方法之外,无法维护任何会话。

当前想法:实现一个添加到消息传递总线的 SSO 服务,该服务提供身份提供者、服务提供者功能,因此初始身份验证将提供一个令牌,然后可以由客户端存储并与每个后续请求一起传递经过身份验证并通过了授权级别(我认为这是一个相当标准的设计模式)。

已经对 SSO + SAML 实施进行了研究,openAM、Shibboleth、CAS 似乎都提供了一个过于完整的解决方案,该解决方案更适合门户类型架构(如 CAS)或来自初始 SAML 身份令牌从另一个接收的系统完全切断,然后带到系统中(就像谷歌对其某些服务的 SAML 实施)。

我还研究了 JBossESB、openESB 和服务混合解决方案,它们似乎使用了无法移植到 Weblogic 和 Zxid 的定制 SAML 实现,而 Zxid 的文档有限。

这是一项复杂的工作,因此我期待更多高级架构风格和库/项目建议,而不是完整的解决方案。我的印象是这应该是一个相当普遍的要求,一个 ESB 的身份验证和授权服务,它使用令牌系统来防止必须连续输入或以纯文本形式存储凭据,但我找不到太多信息,什么我失踪了吗?

如有任何进一步的问题,我将非常乐意详细说明。

4

3 回答 3

1

当用户可能/确实需要访问 ESB 上的第三方服务但不希望第三方服务了解 ESB 的安全细节和凭证信息时,使用 SAML 的解决方案似乎是一个有效的解决方案用户。通过这种方式,ESB 可以提供 SAML 令牌提供程序,用户可以在其中获取票证并将其传输到不同的服务以进行身份​​验证,然后这些服务使用令牌检查身份验证和可能的授权信息(仅限 SAML2)。除此之外,SAML 还可以像开放 ID 一样使用,用户在外部进行管理,用户可以通过外部令牌提供商获取 SAML 票证。

这对我们来说是一个有效的解决方案,因为客户希望非常了解访问 ESB 的用户,并且没有计划访问第三方服务,因为它是一个完全封闭的系统。

随后,我们使用 spring 安全库和在我们的案例中遇到的记住我功能在 ESB 内部实现了一个更自定义的 SAAS(安全即服务)机制,用于内部身份验证和授权(我知道这听起来很糟糕,但 iWay 的选项有限)要求。

我们的客户随后改变了他们的要求并要求与共享点集成。然而,这确实简化了我们系统中的安全模型,因为我们随后设计了以下内容:

iWay 的主要安全模型基于 SSL 证书,可以实现一个 SSL Provider 来管理证书,因此您应该能够为您的 SSL 证书和 iWay 提供公共证书的共享点,并保护两者之间的通道服务器,然后您可以在 iWay 中管理可以在系统级别访问 ESB 并指定共享点用户甚至指定其 IP 的用户,此信息以纯文本但通过 SSL 发送,在我们的例子中,在同一网络中的服务器之间发送.

然后,我们将其留给共享点以在更精细的级别上对用户进行身份验证,因此对应用程序的访问在共享点“门户”级别进行管理,而 ESB 唯一隐约知道的是与客户端 SOAP 一起传递的授权信息消息并定义可以访问的服务级别(此信息用于服务级别)。

此解决方案的缺点是:

对于为访问 ESB 接口而开发的每个新客户端应用程序,必须配置一个新的 ESB 用户,这样就不可能开发出可以自由使用 ESB 上的某些服务的客户端。

新客户端必须实现授权逻辑,以便服务可以发送和理解格式正确的授权字符串。

其他要点:

我知道 iWay 的较新版本提供了一个 LDAP 适配器,它应该能够与 AD 通信,因此您可以通过这种方式将您的 LDAP 服务器连接到 ESB,因此它可能被 ESB 中的另一个客户端或服务使用,但是您必须自定义共享点才能通过 iWay 业务提供商访问信息。

我也相信 iWay 6 提供了一个 SAML 令牌提供程序,您可以使用它(回到我之前所说的关于使用 SAML 的内容),但我认为这不适合共享点解决方案。

我想分享更多想法,因为我们都在做同样的事情,你能通过我博客中指定的 Twitter 帐户找到我吗?

于 2010-12-10T13:34:05.687 回答
0

我们目前正在使用 iWay Server Manager 6.0.1,并且还难以确定如何在此工具中处理 Web 服务的安全性。

我们想用它构建具有 AD 安全性的 Web 服务,就像我们使用 .NET Web 服务但还没有找到解决方案一样。即使与 iWay 的工作人员讨论这个问题,我们也没有把它弄清楚。

现在我们必须连接到 SharePoint Web 服务,问题肯定会出现。

你的情况有进步吗?我们希望从使用该工具的人那里得到一些反馈,了解他们如何使用 iWay 实际实施安全性。

于 2010-12-09T14:17:54.867 回答
0

抱歉耽搁了……这里很忙……

基本上,我们在 iWay 和 SharePoint 之间进行了许多测试,但我们无法将其设置为发送 SharePoint 所需的 NTLM 凭据。我们已经尝试在工具中设置渠道、代理和各种其他解决方案......

我们已经给他们打了电话,希望能得到一些帮助......

帕斯卡

于 2010-12-23T14:58:36.577 回答