SQL Server OLEDB提供程序可以使用连接string中的选项对SQL Server使用SSLencryption连接 :
对数据使用encryption
指定数据在通过networking发送之前是否应encryption。
有效值是“真”和“假”。 默认值是“false”。
正如微软所指出的那样, 这有许多问题 :
幸运的是, 微软build议可以使用IPSec作为替代scheme:
SQL Server数据可以在传输过程中使用IPSec进行encryption。 IPSec由客户端和服务器操作系统提供,不需要SQL Serverconfiguration。 有关IPSec的信息,请参阅Windows或联网文档。
因为即使客户端和服务器都在同一个局域网上:
我们不希望任何人使用WireShark,集线器,电脑模式,或交换机,可以监控stream量,看到stream量。
问题是: 你怎么做?
在客户端机器上,我们要configuration一个需要IPSec连接到SQL Server的策略(例如端口1433)。 从高级安全Windows防火墙 :
创build一个新的出站防火墙规则
对于IP端口:
用于目标TCP端口1433
允许连接,如果它是安全的
完
缺点是客户端现在无法连接到服务器:
如果连接安全规则就绪,则不能使用“如果安全则允许此连接”。 这需要在两个系统上定义,并且具有匹配的设置,就像设置一个标准的ipsec VPN隧道一样。
以下是如何创build一个。
我可以看到这个选项的唯一方法是在您的SQL服务器上安装一个IPSec VPN服务器,让您的客户端先创build隧道,然后stream量才能stream动。 这是一个混乱的解决scheme,但是当它说客户端和服务器操作系统提供了IPSec时,文档就是指的。
您需要有一个由VPN系统发布IP的辅助networking设置,并将您的SQL服务器重新绑定到该IP范围,这样,只有连接到VPN的用户才能连接SQL服务器。