2

作为 PCI 合规性测试的一部分,我们发现使用传输级安全和证书保护的 WCF net.tcp 端点允许 SSLv2 连接。我们的服务是自托管的,因此我们不使用 IIS 来托管它们,因此我认为基于 IIS 的解决方案不会起作用。

在浏览了很多 MSDN 页面之后,我们还没有找到一种方法来告诉 WCF 连接使用什么版本的 SSL。

我们要求连接仅接受 SSLv3 而不是 SSLv2 以符合 PCI 标准。

有谁知道如何在 WCF 连接(主机和客户端)上设置强制 SSL 版本,或者是否有关于如何为整个 Windows 机器执行此操作的边界方法?

4

1 回答 1

1

不确定是否不应该更好地询问服务器故障。

它是一个 .NET 应用程序吗?您可能想看看 ServicePointManager.SecurityProtocol。

此外,您可以尝试以下方法,例如 Windows Server 2008。它应该是系统范围的,而不是特定于 IIS 的。通过导航到服务器上的开始 > 运行 > cmd 打开命令提示符,然后执行以下语句:

REG ADD "HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\SSL 2.0\Server" /v Enabled /t REG_DWORD /d 0 /f 

REG ADD "HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\SSL 2.0\Client" /v Enabled /t REG_DWORD /d 0 /f 

REG ADD "HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\SSL 3.0\Server" /v Enabled /t REG_DWORD /d 1 /f 

REG ADD "HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\SSL 3.0\Client" /v Enabled /t REG_DWORD /d 1 /f 

REG ADD "HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 1 /f 

REG ADD "HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\TLS 1.0\Client" /v Enabled /t REG_DWORD /d 1 /f

之后,如果您尝试使用 SSLv2 连接到服务器,您现在应该会收到错误消息

于 2012-10-24T15:06:40.113 回答