gpt4 book ai didi

sql-server - 使用 SSL 加密连接到 SQL Server

转载 作者:太空宇宙 更新时间:2023-11-03 14:08:03 26 4
gpt4 key购买 nike

我们希望对所有到 SQL Server 的流量进行加密。所以我们有 SSL 证书并将其安装到我们的 SQL Server。

我们的 .NET web 应用程序可以使用 encrypt=true 功能连接到 SQL Server,以便在 SQL Server 和 Web Server 之间加密流量。
我们还有一个 Delphi 2007 桌面应用程序,我们也希望在 SQL Server 和应用程序用户之间加密流量。

尽管应用程序用户可以通过选中“加密连接” 功能的 SQL Management Studio 连接到 SQL Server,但我们无法通过我们的 Delphi 应用程序进行连接。我们在 OLEDB 连接字符串中添加 "encrypt=true" 但没有任何改变。

我们应该怎么做才能加密所有流量?

最佳答案

SSL 连接加密可以从客户端(可以是 IIS 网站或桌面应用程序)启动,也可以在服务器端强制执行。无论哪种方式,都需要安装证书并可供用户或进程建立其他系统可以验证的连接。客户端加密是使用“encrypt=true”或在 SQL Server Management Studio 上选择复选框选项配置的。 SQL Server 的服务器端加密是通过将证书和私钥添加到运行数据库引擎的服务帐户的证书存储并使用 SQL Server 配置管理器指定用于加密的证书并将 Force Encryption 属性设置为 true 来配置的。建议使用由您的域证书颁发机构生成的证书或从公共(public) CA 购买的证书,因为自签名证书容易受到中间人攻击。

您的 Delphi 2007 应用程序的主要问题是服务器无法验证应用程序提供的证书并拒绝信任它,或者客户端上没有可用的证书可供使用。证书验证问题并不少见。当我将我的服务器配置为在所有连接上进行服务器端加密时,我还必须将相同的域 CA 证书添加到管理自己的证书验证的任何虚拟机,如 Java VM。有趣的是,当我读到 trustServerCertificate=true 时,文档指出“当加密属性设置为 true 且 trustServerCertificate 属性设置为 true 时,Microsoft JDBC Driver for SQL Server 将不会验证 SQL Server SSL 证书。”我没有使用过此属性,但它可能会起作用,而不是将证书添加到 VM。此外,如果您有复制,如果一台服务器强制加密而另一台服务器不强制加密,您将遇到挑战。

您还可以通过研究“遍历信任链”和证书的数字签名,了解有关如何验证证书的更多信息。这将帮助您理解为什么会发生这种情况。

关于sql-server - 使用 SSL 加密连接到 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37165653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com