【问题标题】:Should I use the NetNamedPipe binding in WCF for security reasons?出于安全原因,我应该在 WCF 中使用 NetNamedPipe 绑定吗?
【发布时间】:2010-07-07 16:27:18
【问题描述】:

WCF 文档说“网络命名管道”绑定可用于单台机器上的快速进程间通信。它不能用于跨机器通信。

我想知道使用网络命名管道绑定是否会保护我的服务免受来自网络外部的攻击。有人告诉我答案是否定的。尽管网络命名管道绑定旨在用于同一台机器上的进程间通信,但它可以被黑客入侵以允许从其他机器访问。准确吗?

WCF 专家,请插话。使用 Net Named Pipe 绑定是否可以从本质上保护我的服务免受其他机器未经授权的访问?

【问题讨论】:

    标签: wcf security soa netnamedpipebinding


    【解决方案1】:

    正确答案是肯定的:NetNamedPipeBinding 从本质上保护服务免受网络上其他机器的任何访问。 WCF 服务端堆栈创建的管道带有一个 ACL,该 ACL 拒绝对任何具有 NETWORK USERS 组成员身份的登录令牌进行所有访问。此组成员身份存在于任何网络登录令牌中。

    NetNamedPipeBinding 存在一些安全问题,尤其是在 .NET 3.5 中,但远程攻击的漏洞不是其中之一。

    有关详细信息,请参阅this post 和后续帖子。

    【讨论】:

      【解决方案2】:

      根据名称 Net Named Pipe,此绑定使用本地命名管道作为传输机制。在 Windows 机器上,命名管道被视为文件......因此可以远程访问,就像浏览具有 \\machinename 的机器一样。因此,由于远程机器可以访问传输机制,绑定本质上不能免于未经授权的访问,尽管与 TCP 或 HTTP 相比,命名管道可能有一些安全优势。

      【讨论】:

      • 它无法通过 Internet 访问,并且可以通过访问控制列表保护远程访问。鉴于系统配置正确,我几乎不认为远程访问是一个大问题。
      • 他的问题是“使用网络命名管道绑定是否从本质上保护我的服务免受其他机器未经授权的访问”。答案是否定的。如果配置得当,HTTP 和 TCP 绑定也是安全的,但这又不是问题。
      • @Rice Flour Cookies:这个答案不正确,原因在我发布的答案中解释过。
      猜你喜欢
      • 1970-01-01
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 2016-02-07
      • 2019-11-27
      相关资源
      最近更新 更多