我正在强制对 MS SQL 服务器进行加密。我的目的是拒绝任何不使用 SSL 连接的客户端连接。
以下是我的详细步骤:
- makecert -r -pe -n “CN=slc02xla.company.com” -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp “Microsoft RSA SChannel 加密提供程序” -sy 12 c:\my.cer
- 我将同一份证书导入到受信任的根证书颁发机构存储区
- 在 SQL Server 配置管理器中,展开“SQL Server 网络配置”,右键单击“协议”,然后选择“属性”。
- 在证书选项卡上,从证书下拉菜单中选择所需的证书,然后单击确定。
- 在“标志”选项卡上,选择“ForceEncryption”框中的“是”,然后单击“确定”关闭对话框。
- 重新启动 SQL Server 服务。
为什么我的客户端没有在连接字符串中指定 encrypt=true 却仍然能够连接?
答案1
10 秒内谷歌导致:
让我引用一下:
当数据库引擎的强制加密选项设置为 YES 时,无论是否选中“加密连接”选项(例如来自 SSMS),客户端和服务器之间的所有通信都是加密的。您可以使用以下 DMV 语句进行检查。
够清楚了吗?
更多详细信息请参见链接。是的,没有什么可以阻止您偶尔使用谷歌。我只是搜索了“sql server ForceEncryption”。第二次搜索就有了所需的标题。