适用于:Windows 上的 SQL Server
当服务器上装有证书时,使用 “MSSQLSERVER 的协议属性” 对话框中的 “标志” 选项卡可以查看或指定协议加密以及隐藏实例选项。 若要启用或禁用“强制加密”设置,必须重启 SQL Server。
若要加密连接,应为 SQL Server 数据库引擎提供一个证书。 如果没有安装证书,SQL Server 会在实例启动时生成自签名证书。 此自签名证书可代替可信证书颁发机构颁发的证书,但它不提供身份验证,也不具有不可否认性。
注意
传输层安全性(TLS),以前称为安全套接字层(SSL),使用自签名证书加密的连接不提供强安全性。 它们易遭受中间人攻击。 不应在生产环境或连接到 Internet 的服务器上依赖使用自签名证书的 TLS。
登录过程始终是加密的。 如果将“强制加密”设置为“是”,则将对所有客户端/服务器通信进行加密,并且必须将连接到数据库引擎的客户端配置为信任服务器证书的根颁发机构。
有关加密的详细信息,请参阅 通过导入证书来加密到 SQL Server 的连接。
群集服务器
若要在故障转移群集中使用加密,必须在故障转移群集中的所有节点上安装具有完全限定的虚拟服务器 DNS 名称的服务器证书。 例如,如果你有一个双节点群集,节点名称分别为 test1.contoso.com 和 test2.contoso.com,以及一个名为 virtsql 的虚拟服务器,则你需要在这两个节点上为 virtsql.contoso.com 安装证书。 然后,可以选中 SQL Server 配置管理器中的“强制加密”复选框,将故障转移群集配置为使用加密。
选项
强行加密
加密是通过将数据更改为不可读的形式来保密敏感信息的方法。 即使在传输过程中有人查看了传输数据包,加密也可以确保数据安全。 若要使用渠道绑定,请将 “强行加密” 设置为 “打开” ,并在 “高级” 选项卡上配置 “扩展保护” 。
有关详细信息,请参阅 通过导入证书加密到 SQL Server 的连接。
强制实施严格加密
适用于:SQL Server 2022 (16.x) 及更高版本。
SQL Server 网络配置强制所有客户端使用“严格”作为加密类型。 没有严格连接加密的任何客户端或功能都无法连接到 SQL Server。
若要启用严格加密,必须添加非自签名证书,并且应用程序必须使用支持 TDS 8.0 的驱动程序。 有关详细信息,请参阅 TDS 8.0。
隐藏实例
防止 SQL Server Browser 服务向尝试通过使用“浏览”按钮来查找实例的客户端计算机公开此数据库引擎实例。 要连接到服务器上的命名实例,客户端应用程序必须指定协议终结点信息。 例如,端口号或命名管道名(如 tcp:server,5000)。 有关详细信息,请参阅 登录 SQL Server。