Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何配置加密的SQL Server连接以防止MITM攻击?_Sql Server_Security_Encryption_Sql Server 2016 - Fatal编程技术网

Sql server 如何配置加密的SQL Server连接以防止MITM攻击?

Sql server 如何配置加密的SQL Server连接以防止MITM攻击?,sql-server,security,encryption,sql-server-2016,Sql Server,Security,Encryption,Sql Server 2016,令我惊讶的是,在将SQL Server配置为强制连接加密时,默认情况下SQL Server不会阻止中间人攻击 在连接上强制加密非常简单。转到Sql Server配置管理器,展开Sql Server网络配置,[您的实例]的协议,右键单击TCP/IP,将强制加密更改为“是”,重新启动Sql Server,就完成了。 根据Microsoft TechNet(),这将生成一个自签名证书。很好,没问题,但是我希望我的客户会抱怨证书不可信。但是,他们没有。他们很高兴地连接到它。然后我意识到在SQL Man

令我惊讶的是,在将SQL Server配置为强制连接加密时,默认情况下SQL Server不会阻止中间人攻击

在连接上强制加密非常简单。转到Sql Server配置管理器,展开Sql Server网络配置,[您的实例]的协议,右键单击TCP/IP,将强制加密更改为“是”,重新启动Sql Server,就完成了。

根据Microsoft TechNet(),这将生成一个自签名证书。很好,没问题,但是我希望我的客户会抱怨证书不可信。但是,他们没有。他们很高兴地连接到它。然后我意识到在SQL Management Studio中默认选中了“信任服务器证书”。很好,但最令人震惊的是:即使您取消选中“信任服务器证书”,SSMS也不会抱怨、警告或拒绝连接。


因此,默认情况下,SQL Server完全容易受到MITM攻击,因为客户端不验证来自SQL Server的证书。证书不必由CA签名:证书必须配置为客户端上的受信任证书。如果不是这样,那么“信任服务器证书”复选框是什么?

请参阅。除了连接设置“信任服务器证书”之外,还有另一个设置,即客户端设置“信任服务器证书”,它是从Configuration Manager配置的。如果设置了这两个选项中的任何一个,自签名证书将成功(实际上有点复杂,因为客户端设置
No
将覆盖连接设置…请参见链接)。

SQL Server 2016版本附带TLS 1.0到TLS 1.2支持()

应禁用TLS 1.0、1.1和SSL 3.0,并且仅将TLS 1.2用于客户端-服务器通信

(通过CU累积更新,TLS 1.2支持其他版本的SQL Server)

SQL server使用名为TDS的协议作为TCP上的应用程序层。尚未报告Microsoft TDS实施的已知漏洞

由于多个标准实施组织要求在加密通信信道中使用TLS 1.2,因此Microsoft正在为广泛的SQL Server安装基础发布对TLS 1.2的支持

审查:

SQL Server是否可以防止MITM攻击(中间人)

证书颁发机构系统旨在阻止中间人攻击。在TLS中,SQL server使用与其证书相关联的私钥来建立有效连接并加密所有有线通信。 服务器对密钥保密,因此中间人不能使用SQL server real证书

使用自签名证书:

自签名证书的使用在生产环境中是不可接受的,但可以在测试环境中使用。 使用SHA256签名证书/链,SHA1已过时

您可以应用中描述的与服务器认证相关的规则

Windows管理员可以为Windows O.S启用TLS 1.2支持,以获得TLS 1.2的好处

关于你的观点:

在将SQL Server配置为强制连接加密时,默认情况下SQL Server不会阻止中间人攻击

安全性是由安全策略书面文档管理并由O.S/数据库/网络/应用程序管理员实施的策略。。。并经审计

SQL server是否符合安全标准? 答案是肯定的。最近,所有旧的SQL Server 2008/2012都通过CU获得了TLS 1.2支持

结论:

  • 组织应避免在生产环境中使用自行分配的认证,并使用CA认证
  • DBA/Windows/Network Admin可以为SQL server/Windows和网络基础结构实现TLS 1.2
  • 应用程序中的连接字符串可以支持加密

主题外。这不是一个编程问题,真的。这是更多的服务器配置。也许可以尝试DBA站点或服务器故障。Moved:当您在trust unticked(信任解除)的情况下设置一个virgin系统时会发生什么?可能它已经将服务器证书或ca证书添加到了它的信任列表中。@symcbean我也这么想-我从一个virgin系统连接到它,同样的事情发生了。