【问题标题】:SQL Server 2012 ForceEncryption without SSL certificate?没有 SSL 证书的 SQL Server 2012 ForceEncryption?
【发布时间】:2016-06-21 01:14:54
【问题描述】:

使用大约 2 年前一些顾问提供的信息,我们设置了一个 SQL Server 2012 机器以始终具有加密连接(至少我们是这么认为的)。一周前 SSL 证书过期了,一切都继续正常工作,这令人费解。

我们通过执行以下操作强制加密:

获取 SSL 证书并通过 MMC 将其安装在 SQL Server 上。 Explicit instructions 这一步在这里。

  1. 打开 SQL Server 配置管理器并展开左侧窗格中的 SQL Server 网络配置节点。
  2. 右键单击 MSSQLServer 的协议并选择属性。
  3. 转到“证书”选项卡并从下拉列表中选择已安装的 SSL 证书。
  4. 转到“标志”选项卡并将强制加密设置为“是”。

现在,由于 SSL 证书已过期,当我访问上面的第 3 步时,下拉菜单中不再选择任何证书。但是,我将WireShark 放在数据库服务器上并使用SSMS 请求一些数据。 TDS(表格数据流)数据包仍然加密?当我将 WireShark 放在不同的数据库服务器上时,我将 ForceEncryption 设置为 NO,这些 TDS 数据包未按预期加密。

所以我的问题是:

  1. 如果证书过期,TDS 数据包如何仍然加密?
  2. 即使证书有效,为什么我不必选择选项 > 加密连接来连接到我的加密数据库服务器?我认为设置 ForceEncryption=Yes 需要所有客户端连接在其连接字符串(或 SSMS 复选框)中指定 Encrypt?
  3. 如果 Web API 是访问我的数据库的唯一方法,并且它们通过 SSL 访问,那么是否还需要加密 SQL 协议?

【问题讨论】:

标签: sql-server ssl encryption https wireshark


【解决方案1】:

1)如果证书过期,TDS 数据包如何加密?

您不需要有效的证书来加密,您仍然可以使用过期的证书进行加密。

2)即使证书有效,为什么我不必选择选项 > 加密连接来连接到我的加密数据库服务器?我认为设置 ForceEncryption=Yes 需要所有客户端连接在其连接字符串(或 SSMS 复选框)中指定 Encrypt?

不要在客户端和服务器上启用强制协议加密选项, 如果您在 SQL Server 上启用了强制加密,则无需在任何客户端执行此操作

3)如果 Web API 是访问我的数据库的唯一方法,并且它们通过 SSL 访问,是否甚至需要加密 SQL 协议?

要启用 SSL,您需要在 SQL 服务器上安装证书,以便使用 SSL 访问 DB。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 2019-07-31
    相关资源
    最近更新 更多