SQL Server 2008的安全配置


  本文标签:安全配置 安全安装 SQL Server 2008

  要安全地安装 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 并不能启用所有特性  。而是只安装核心组件以及常用特性  。生产环境中可能用不到的其他特性默认是关闭的  。可以使用该产品支持的工具启用所需特性  。

  这些都是 Trustworthy Computing 技术中 secure by default 特性的一部分  。这表示在安装时,SQL Server 2008 可利用默认的安全设置集实现开箱即用的安全性  。基本数据库服务器不需要的特性并未被安装,目的是为了减少外围应用  。由于默认情形下并未在所有系统中启用所有特性,因此在安装系统镜像时引入了异质性  。这一点限制了启用易受潜在攻击的特性的系统数量,因此有助于防御大规模攻击或蠕虫病毒  。

  Windows Update

  在企业中部署SQL Server 之后,就能发现新的威胁和漏洞  。Windows Update 旨在确保及时下载并应用能够显著减少特定安全问题的补丁  。可以利用 Windows Update 自动应用 SQL Server 2008 补丁,并减少由于已知的软件漏洞所导致的威胁  。在大多数企业环境中,应使用 Windows Server Update Service(WSUS)管理补丁在组织内部的分发和更新  。

  外围应用配置

  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

  由于配置选项过多,编写此类代码很耗时间,尤其是在组织中部署了多个SQL Server 实例时更是如此  。SQL Server 2008 带有基于策略的管理技术,名为Declarative Management Framework (声明管理框架,DMF)  。DMF 提供了大量的配置 facet,其中的每一个都定义了一组相关的配置设置或属性  。可以利用这些 facet 创建一些为配置选项指定所需设置的“条件”,并将这些条件作为“策略”应用给企业中的 SQL Server 实例  。
SQL Server 2008 自带的一个 facet 就是 Surface Area,可以利用该 facet 定义用以控制各种SQL Server 2008 特性状态的策略  。通过创建为服务器定义所需外围应用设置的策略,可以方便地在组织中所有的 SQL Server 上配置最小的外围应用,并减小恶意攻击的可能性  。