加强SQL Server安全性:网络安全

日期: 2009-11-11 作者:Matthew Schroeder翻译:曾少宁 来源:TechTarget中国 英文

很多组织都存在安全漏洞,不管他们采取怎样的措施来保障他们的环境。在数据库系统中,整体系统上任何一个地方出现漏洞都能够被利用来获取重要的信息。   为了正确的保障SQL Server安全性,构成SQL Server安全性的以下几个层面都是需要重点考虑的:   1. 网络安全(防火墙、端口、加密)   2. 操作系统安全性(Windows安全性)   3. 服务器层安全性(终端点、服务器登录、端口、协议以及其它外部领域配置)   4. 数据库层安全性(授予权限给登录身份/角色、加密选项以及确定恰当的权限)   由于这些层面的任何一个位置出现安全错误都意味着整个解决方案的失败,因此,假如攻击者只需要……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

很多组织都存在安全漏洞,不管他们采取怎样的措施来保障他们的环境。在数据库系统中,整体系统上任何一个地方出现漏洞都能够被利用来获取重要的信息。

  为了正确的保障SQL Server安全性,构成SQL Server安全性的以下几个层面都是需要重点考虑的:

  1. 网络安全(防火墙、端口、加密)

  2. 操作系统安全性(Windows安全性)

  3. 服务器层安全性(终端点、服务器登录、端口、协议以及其它外部领域配置)

  4. 数据库层安全性(授予权限给登录身份/角色、加密选项以及确定恰当的权限)

  由于这些层面的任何一个位置出现安全错误都意味着整个解决方案的失败,因此,假如攻击者只需要嗅探到某些“通过网线”的数据了,或者是操作系统出现漏洞了,那么也就无法保证每个对象层面的安全性。因此,所有层面都必须确保安全。

  这个系列的第一部分阐述与SQL Server相关的网络和操作系统安全性。数据库和服务器层安全性将在第二部分进行探讨。

  网络安全性

  虽然网络安全专家主要负责网络安全,但是有部分SQL Server配置选项也与这一层有关系。

  网络安全专家主要关注哪些端口打开了以及使用了哪些协议。网络安全专家和SQL Server管理员必须探讨是否每个SQL Server必须具备不同的端口或者它们必须共享一个端口。(我强烈建议不使用标准1433端口,因为该端口有很高的受攻击系数。)

  在SQL Server Configuration Manager (图 1)中,SQL Server Network Configuration选项卡包含实例(S2K8是一个实例)所使用的协议/端口的控制。

  这是开发数据库的默认配置。对于SQL Server Enterprise Edition,唯一应该打开的协议是TCP/IP。所有其它协议都应该禁用,除非有特别的应用需求要求在客户端打开它们。

  在TCP/IP Properties选项卡中有几个重要的属性。图2显示的“Listen All”属性,决定SQL Server实例应该监听的端口号。

  如果属性设置为“Yes”并且有多个IP地址,SQL Server实例将监听所有的IP。如果只有一个IP地址,那么就置空这些设置。

  然而,如果服务器有多个IP地址,“Listen All”属性应该设置为“No”,SQL Server实例应该设置监听需要的IP。一个实例监听的IP地址越多,可能被攻击的概率越大。

  图3显示如何限制SQL Server实例到一个具体的IP地址。如果“Listen All”属性设置为“No”,那么“Enabled”属性就会应用。“Enabled”应该只有在需要的IP地址上设置为“Yes”。

  监听的具体端口号可能由TCP Dynamic Ports或每一个IP或IPAll上的TCP Port设置来设定。

  在图4中显示的是设置IPAll以及动态端口。这允许端口号在SQL Server启动时根据可用的端口进行变化。

  设置动态端口时,SQL Server Browser Service会监控使用的端口并将入口连接导向到一个特定实例的当前端口。

  图5是关闭了动态端口,并在IPAll定义了静态端口。

  注意IP端口也可以为每一个IP地址设置,并且每一个IP地址可以监听多个端口,每个端口用逗号隔开(1600,1700)。

作者

Matthew Schroeder
Matthew Schroeder

Matt在SQL Server和Oracle这两个领域具有12年的经验。他获得微软MCITP认证、是一名数据库开发人员,他还获得了计算机科学专业硕士学位是SQL Server数据库系统高级软件工程师,范围从2 GB到3+ TB、2k和40+ktrans/sec之间。目前他任职于IGT公司,同样是一名独立的咨询师、专攻覆盖自动化、电子商务、娱乐和银行业的SQL Server、Oracle以及.NET方面。Matt擅长OLTP/OLAP数据库管理系统以及用.NET语言写可升级的处理系统。

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐