服务总线的安全风险是什么,您如何减轻这些风险?

信息安全 网络 应用安全 云计算 威胁缓解 wcf
2021-08-22 22:29:02

服务总线是可以安装在 Windows 上或租用在 Azure 上的软件,它允许某人以 XML over HTTPS 有效负载的形式通过 Internet 中继 SOAP/WCF 信息。

我看到的一个风险是,它实际上允许只有出站 HTTP/S 访问权限的用户通过外部代理接受“入站”WCF 调用。

尽管这有助于使应用程序“正常工作”,但从安全角度来看,我认为这是一件坏事。我的理解是,此解决方案通过轮询外部 Microsoft 主机以获取传入数据来运行。

考虑到这项技术可能存在合法的商业原因,您将如何保护您的网络免受未经批准或恶意使用此中继的影响?

2个回答

我对服务总线的理解是它可以在 800 范围内的特定端口上工作——我认为。如果您禁用通过这些端口的出站连接,那么您将无法通过服务总线获取消息。此外,每条服务总线都有自己独特的特定于相关服务的端点,因此您可以锁定对已知端点的访问。

当您通过“Azure AppFabric 服务总线”公开 Web 服务时,您有多种方法来保护该端点:

首先,您可以配置服务总线本身 [1],以便只有经过身份验证的调用者才能将消息发送到您的端点。在这种情况下,您让 Microsoft 为您实施授权策略。

其次,您可以以端到端的方式保护您的服务,即除了 Microsoft 为您完成的基本较低级别(传输)实施之外,您还可以在上面滚动您自己的安全模型,例如基于消息的安全(WS-Security)在 SOAP 的情况下。

结合使用时,Microsoft 强制仅经过身份验证的调用者向您的服务发送消息,并且在您的服务内部运行您自己的安全模型。

关于机密性(加密),这里还有多个层:传输层保护您的客户端和 Microsoft 之间以及 Microsoft 和您的服务之间的消息。消息层在您的客户端和您的服务之间提供端到端的安全性,因此 Microsoft 只能看到加密的 SOAP 正文。

[1] 保护和验证 AppFabric 服务总线连接 http://msdn.microsoft.com/en-us/library/dd582773.aspx

[2] 保护 .NET 服务总线 http://msdn.microsoft.com/en-us/magazine/dd942847.aspx