TLS_RSA_WITH_AES_128_GCM_SHA256
密码和SQL Server之间是否存在任何关系?
禁用TLS_RSA_WITH_AES_128_GCM_SHA256
时,ASP.NET应用程序无法连接到SQL Server。虽然SQL Server仍在运行,但SQL Server Management Studio也无法连接到数据库。 SSMS中显示以下错误。
已成功与服务器建立连接,但在登录过程中发生错误。 (提供者:SSL提供者,错误:0 - 管道的另一端没有进程。)(。Net SqlClient数据提供者)
答案 0 :(得分:0)
阅读TLS 1.2 support for Microsoft SQL Server,确定您使用的SQL Server版本,下载并应用链接文章中的相关组件,再试一次:
使用下表确定当前版本的SQL Server是否已支持TLS 1.2,或者是否必须下载更新以启用TLS 1.2支持。使用表中的下载链接获取适用于您的环境的服务器更新。
答案 1 :(得分:0)
由于TLS 1.0被淘汰,我们开始在服务器上实现额外的安全性。主要是,明确禁用TLS 1.0客户端和服务器(和SSL 1/2/3),并明确启用TLS 1.2和1.1。此外,我们限制通过TLS 1.2 / 1.1连接时可用的密码。
我们按照文章Remus发布的信件(https://support.microsoft.com/en-us/help/3135244/tls-1-2-support-for-microsoft-sql-server),并使用了额外的资源来确保我们没有遗漏任何东西(这是一个很好的:https://blogs.sentryone.com/aaronbertrand / TLS-1-2 - 载体 - 读取 - 第一/)。我们还强制.NET Framework通过在我们的服务器(https://technet.microsoft.com/en-us/library/security/2960358.aspx)上添加SchUseStrongCrypto注册表项来使用TLS 1.2-> 1.1-> 1.0搜索顺序。
尽管如此,在尝试从Windows Server 2012 R2环境进行连接时,我们无法在Windows Server 2016环境中连接到SQL 2014或SQL 2016实例。我们在Windows 2012 R2中安装了无法连接到其数据库的SharePoint,并且我们无法在同一服务器上使用SSMS连接到实例。通过SSMS从Windows 10或其他Server 2016安装进行连接工作。这是我们得到的错误:
sql server错误号:10054严重性:20状态:0
将请求发送到服务器时发生传输级错误。 (提供者:TCP提供者,错误:0 - 远程主机强行关闭现有连接。)
一旦我们允许在两台服务器上使用TLS_RSA密码,我们就可以连接(无论我们使用哪种密码,我们使用了此列表中的第一个密码):
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
我无法找到任何明确说明与SQL Server通信所需的密码的资源,我假设上面的列表并不全面。我想要某种确定的资源,但是想发布这个以防万一它可以帮助别人。