技术开发 频道

DBA必读:SQL Server 2008安全概述


【IT168技术文档】

  1.导言

  随着网络越来越多的连接到一起,安全就变得更为重要。必须保护你的公司的设备,特别是它的数据库,它包含了你公司的非常重要的信息。安全是一个数据库引擎的重要特性之一,它保护企业免受众多威胁。Microsoft? SQL Server? 2008的安全特性是设计用来使它更加安全并使得对于那些有责任保护数据安全的人们来说安全是触手可及和容易理解的。

  在过去的几年,人们已经对什么是基于计算机的系统的安全开发了一套非常成熟的理念。Microsoft 站在这个开发的最前沿,而SQL Server 是第一代完全贯彻了这个理念的服务器产品中的一个。它采用了最小权限的重要原则,所以你不需求为用户授予比他们执行他们的工作所需的更多的权限。它为防范提供了深入渗透工具,以便你可以实施措施来阻止最具技巧的攻击者。

  讨论了许多关于Microsoft指导公司里所有软件部署的可信赖计算计划(Trustworthy Computing initiative)。要获得更多的信息,请查看可信赖计算网站(http: //www.microsoft.com/mscorp/twc/default.mspx).

  这个计划的四个重要组成部分是:

  · 设计安全。软件需要一个安全的设计作为抵制攻击者和保护数据的基础。

  · 缺省安全。系统管理员应该不需要花费时间去做一个新的安装安全;它应该可以按缺省来完成。

  · 部署安全。软件应该帮助保持它自己的最新安全补丁包的更新和协助维护。

  · 通信。传达非常好的方法和威胁信息,以便管理员可以预先保护他们的系统。

  在SQL Server 2008中体现了这些指导原则,它提供了你需要保护你的数据库所需的所有工具。

  这篇白皮书探讨了对于系统和数据库管理员来说最重要的安全特性。它从讲述SQL Server 2008是怎样简单而安全地进行安装和配置。它探讨了验证和授权特性,这些控制对服务器的访问和决定一个用户一旦通过了验证他可以做什么。它最后讲述了一个管理员所需要了解的数据库安全特性,以便能够为数据库和访问这些数据库的应用程序提供一个安全的环境。

  2.安全配置

  一个安全的SQL Server 安装的第一个要求就是要有一个安全的环境。一个运行SQL Server 2008的服务器的外部安全要求没有什么改变。你需要保护服务器和定时地备份数据,如果它连接到网络上那么将它放到一个或多个防火墙后面,避免在一个装有其它服务器应用程序的计算机上安装SQL Server,并只使用所要求的最少的网络协议。在一个Microsoft Windows Server? 2003或Microsoft Windows Server? 2008计算机上安装SQL Server,以便它可以充分利用操作系统级别的安全保护。进一步的,在一个或多个NTFS分区上的安装是最安全的。

  确保环境是安全的之后,安全地安装SQL Server 2008是极为重要的。这个安装过程执行所有常规的安全工作,并有一个System Configuration Checker 会通知你所有可能会引起问题的漏洞。安装SQL Server 2008默认情况下不使用所有的特性。而是安装核心关键的和广泛使用的特性。其它可能在生产环境中不需要的特性会被默认的关闭。你可以使用所支持的工具将你需要的特性打开。

  这是可信赖计算安全所默认的所有要求。它意味着SQL Server 2008在你安装的时候是安全的,默认设置也是安全的。一个基本的数据库服务器所不需要的特性没有被安装,旨在降低外围应用。因为按默认的情况下不是系统中所有的特性都可用,这在系统安装图象方面推出了一个异构。因为这样限制了具有易受潜在攻击的特性的系统的数目,所以它帮助防范大范围的攻击或是蠕虫。

  2.1 Windows更新

  你在企业中部署了SQL Server 之后就很容易发现新的威胁和漏洞。Windows 更新是设计用来确保及时下载可以显著减少特殊的安全问题的应用程序补丁包。你可以使用Windows 更新来自动地应用SQL Server 2008补丁包,从而减少由已知的软件漏洞所引起的威胁。在大多数企业环境中,你应该使用Windows Server Update Service (WSUS)来管理补丁包的发送和在整个企业中进行更新。

  2.2 外围应用配置

  SQL Server 2008具有许多特性,其中许多是以关闭状态安装的。例如,CLR集成、数据库镜像、调试、Service Broker 和邮件功能都安装了,但是没有运行也不可用,除非你明确地将它们打开或是配置它们。这个设计与SQL server所默认的安全中的外围应用范例的缩减是一致的,它导致降低了攻击外围应用。如果一个特性不可用或没有开启,那么一个攻击者是不能利用它的。

  要权衡的是,要跟踪所有开启特性的Transact-SQL语句是很耗时的。甚至当你发现sp_configure system存储过程做了许多你所需要的,但仍然需要编写非原有的代码,如下所示:
sp_configure 'show advanced options', 1   reconfigure with override   sp_configure 'clr enabled', 1
0
相关文章