更好的SQL Server安全:扩展保护功能(上)

日期: 2010-11-17 作者:Denny Cherry翻译:沈宏 来源:TechTarget中国 英文

扩展保护是Windows操作系统和SQL Server数据库引擎的一个新功能。它用于增强集成Windows身份验证过程中的安全性,当使用域凭据来验证数据库引擎的安全性时,SQL Server使用它来加强SQL Server的安全性。   从SQL Server方面看,扩展保护是在SQL Server 2008 R2版本发布时添加的。从Windows方面看,扩展保护是在Windows 2008 R2版本发布时添加的;但是,针对Windows 2008、2003、Vista和XP的扩展保护可通过打补丁实现。

使用扩展保护特性,连接到SQL Server 2008 R2数据库引擎的客户端必须使用SQL……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

扩展保护是Windows操作系统和SQL Server数据库引擎的一个新功能。它用于增强集成Windows身份验证过程中的安全性,当使用域凭据来验证数据库引擎的安全性时,SQL Server使用它来加强SQL Server的安全性。

  从SQL Server方面看,扩展保护是在SQL Server 2008 R2版本发布时添加的。从Windows方面看,扩展保护是在Windows 2008 R2版本发布时添加的;但是,针对Windows 2008、2003、Vista和XP的扩展保护可通过打补丁实现。使用扩展保护特性,连接到SQL Server 2008 R2数据库引擎的客户端必须使用SQL Server 2008 R2的原生客户端。更早的低版本客户端不支持扩展保护。

  扩展保护系统通过阻止两种攻击类型来提供SQL Server安全性,它使用后面介绍的两种方法中的一种:服务绑定或渠道绑定。

  服务绑定用于防止引诱攻击。这是一种重定向连接的中间人攻击方式,通常是通过DNS欺骗,通过被攻破的服务器捕获客户端发送的身份验证信息。服务绑定要求客户端软件发送服务主体名称(SPN)到该客户端尝试连接的服务器以此来保护客户端。从服务器返回给客户端响应的一部分内容用于验证客户端确实连接到指定SPN的服务器,而不是中间机器。如果验证成功,则连接被允许建立,否则将被终止。

  渠道绑定可防止两个攻击载体:引诱攻击和欺骗攻击。渠道绑定使用传输层安全(TLS)加密方式来加密客户端和服务器之间的所有通讯。在TLS保护的连接成功后,客户端向服务器请求渠道绑定令牌(CBT)。客户端校验它从服务器接收到的CBT是否与客户端尝试连接的服务器相匹配。

  由于服务绑定和渠道绑定实现方式的不同,渠道绑定要求客户端和服务器提供更高的CPU负载。这增加的CPU负载是用于TLS保护,它对客户端和服务器之间的所有网络通讯进行了加密。

  扩展保护适用于Microsoft SQL Server 2008 R2引擎的所有版本。扩展保护很容易配置,因为它是通过Microsoft SQL Server 2008 R2配置管理器进行的。

  在Microsoft SQL Server 2008 R2配置管理器中,在左侧菜单中选择“SQL Server服务”选项。在右侧,双击希望配置的SQL Server 2008 R2实例。在弹出菜单中选择“高级”选项,然后选择要启用的保护级别。保护级别分为:“关”、“允许”和“必须”。选项“关”将禁用扩展保护。选项“允许”将接受来自客户端的连接,不管它们是否启用扩展保护。选项“必须”将拒绝没有启用扩展保护的连接。如果启用扩展保护,默认选项就是服务绑定。如果你想使用渠道绑定,需要像启用SQL Server实例SSL连接一样启用扩展保护。如果SQL Server的SSL加密连接未启用,你也不能使用渠道绑定。这意味着服务绑定是唯一的选择。

  扩展保护要求客户端连接的SPNs是被服务器所熟知的,你可能需要指定服务器额外的SPN以便域名服务器的别名或其他网络名称能正确的注册为SPN。这可以在配置扩展保护的界面中一并完成;在“Accepted NTLM SPNs”字段中填写用分号分隔的在网络上有效的SPN清单。例如,如果你想让SQL Server接受sql1.contoso.local和sql2.contoso.local这样的SPN,其设定值为“MSSQLSvc/sql1.contoso.local; MSSQLSvc / sql1.contoso.local”。

翻译

沈宏
沈宏

相关推荐