【问题标题】:How to disable SSLv2 in favor of SSLv3 for WCF net.tcp and https services如何为 WCF net.tcp 和 https 服务禁用 SSLv2 以支持 SSLv3
【发布时间】:2012-10-14 15:10:20
【问题描述】:

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

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

为了符合 PCI 标准,我们要求连接只接受 SSLv3 而不是 SSLv2。

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

【问题讨论】:

    标签: wcf ssl wcf-security pci-dss pci-compliance


    【解决方案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 连接到服务器,您现在应该会收到一个错误

    【讨论】:

      猜你喜欢
      • 2015-01-11
      • 2015-09-15
      • 1970-01-01
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      • 2014-12-11
      • 1970-01-01
      • 2011-02-06
      相关资源
      最近更新 更多