有没有办法在 Windows 2008R2 上更改 MSSQL Express 2012 中的 SSL 协议支持?我想将协议从 SSL3 更改为 TLS (1.0,1.1,1.2),经过几个小时的寻找,我找不到有关该主题的信息。
答案1
通常,SQL Server 使用 Windows SChannel 服务进行传输加密。因此,您应该能够通过操作 中的 SCHANNEL 相关注册表项来限制协议和密码套件HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
。有关详细信息,请参阅KB245030和Technet 文档中有关服务器平台的相关部分。
但显然,SQL Server 本身(至少在 2008R2 中)是将其协商的协议限制为不安全的变体 SSLv3 和 TLS1.0尽管听起来很糟糕,但这可能是由于兼容性原因而发生的(客户端库必须能够应对服务器提供的协议和加密等级)。
这可能在 SQL Server 2012 中发生了变化,因此可能值得尝试禁用 SSL3 和 TLS1.0,尽管链接的 DBA.SE 问题中有一个不支持的评论指出
截至目前,SQL Server 2014 版及之前的版本仅支持 TLS 1.0。
答案2
2012 和 2014 版本现已更新,支持 TLS 1.2。可从此处获取: https://support.microsoft.com/en-us/kb/3052404
答案3
您的问题的答案是“不,不是直接的”。您只能进行影响服务器“整体”的 Schannel 更改。因此,如果您在整个服务器上禁用 SSL 3.0,SQL Server 2012 也将停止使用它。这将使 SQL Server 只能使用 TLS 1.0。您还必须安装热修复程序才能使 SQL Server 支持 TLS 1.0 以外的版本。请参阅此知识库->https://support.microsoft.com/en-us/kb/3052468