保护 SQL Server

新建日期: 2006 年 12 月 12 日

保护 SQL Server 涉及三个方面:平台与网络、主体与安全对象以及访问数据库的应用程序。 下列主题将指导您完成创建和实现有效安全计划的过程。

您可以在 SQL Server 网站上找到有关 SQL Server 安全性的详细信息,包括一个最佳实践指南和一个安全性清单。 此网站还包含最新的 Service Pack 信息和下载。

平台与网络安全性

SQL Server 的平台包括物理硬件和将客户端连接到数据库服务器的联网系统,以及用于处理数据库请求的二进制文件。

物理安全性

物理安全性的最佳实践是严格限制对物理服务器和硬件组件的接触。 例如,将数据库服务器硬件和联网设备放在限制进入的上锁房间。 此外,还可通过将备份媒体存储在安全的现场外位置,限制对其接触。

实现物理网络安全性首先要使未经授权的用户远离网络。 下表包含有关联网安全性信息的详细信息。

有关信息 请参阅

联网与 SQL Server

网络协议和 TDS 端点

指定并限制用于 SQL Server 的端口

配置服务器网络协议和网络库

限制对 SQL Server 的网络访问

限制网络访问

SQL Server 2005 Compact Edition 和对其他 SQL Server 版本的网络访问

SQL Server 2005 Compact Edition 联机丛书中的“配置和保护服务器环境的安全性”

备份和还原策略

备份和还原的安全注意事项.

操作系统安全性

操作系统 Service Pack 和升级包含重要的安全性增强功能。 将所有修补程序和升级针对您的数据库应用程序进行测试后,将它们应用到操作系统。

防火墙也提供了实现安全性的有效方式。 从逻辑上讲,防火墙是网络通信的隔离者或限制者,可配置为执行您组织的数据安全性策略。 使用防火墙可通过提供一个检查点(可集中安全措施的位置)增强操作系统级的安全性。 下表包含有关为 SQL Server 使用防火墙的详细信息。

有关信息 请参阅

为使用 SQL Server 配置防火墙

如何将防火墙配置为允许 SQL Server 访问

为使用 Integration Services 配置防火墙

为 Integration Services 访问配置 Windows 防火墙

为使用 Analysis Services 配置防火墙

如何为 Analysis Services 访问配置 Windows 防火墙

为使用 Reporting Services 配置防火墙

服务器部署检查表

打开防火墙上的特定端口以允许访问 SQL Server

打开防火墙的端口

减少外围应用是一项安全措施,它涉及停止或禁用未使用的组件。 外围应用的减少使得对系统潜在攻击的途径更少,从而有助于提高安全性。 限制 SQL Server 外围应用的关键在于仅为服务和用户授予适当的权限,从而使用“最低特权”运行所需服务。 下表包含有关服务和系统访问的详细信息。

有关信息 请参阅

SQL Server 所需的服务

设置 Windows 服务帐户

限制服务器登录访问

限制交互登录访问

本地管理权限

授予本地管理员权限

如果您的 SQL Server 系统使用 Internet 信息服务 (IIS),则需要采用其他步骤保护平台外围的安全。 下表包含有关 SQL Server 和 Internet 信息服务的信息。

有关信息 请参阅

SQL Server 2005 Compact Edition 的 IIS 安全性

SQL Server 2005 Compact Edition 联机丛书中的“IIS 安全性”

在 SQL Server 和 IIS 中使用 XML 服务

使用本机 XML Web 服务的最佳方法

报表服务器和 Internet 访问

配置用于 Internet 访问的报表服务器

为报表服务器设置窗体安全性

安全扩展插件示例

Reporting Services 身份验证

Authentication in Reporting Services

SQL Server 2005 Compact Edition 和 IIS 访问

SQL Server 2005 Compact Edition 联机丛书中的“Internet 信息服务安全性流程图”

SQL Server 操作系统文件安全性

SQL Server 使用操作系统文件进行操作和数据存储。 文件安全性的最佳实践要求您限制对这些文件的访问。 下表包含有关这些文件的信息。

有关信息 请参阅

SQL Server 程序文件

SQL Server 2005 的默认实例和命名实例的文件位置

数据库文件安全性

保护数据和日志文件的安全

Notification Services 文件安全性

保护文件和文件夹的安全

Analysis Services 文件安全性

保护程序文件、公共组件和数据文件的安全

SQL Server Service Pack 和升级提供了增强的安全性。 若要确定可用于 SQL Server 的最新 Service Pack,请访问 SQL Server 网站。

您可以使用以下脚本来确定系统上安装的 Service Pack:

SELECT CONVERT(char(20), SERVERPROPERTY('productlevel'));
GO

主体与数据库对象安全性

主体是获得了 SQL Server 访问权限的个体、组和进程。 安全对象是服务器、数据库和数据库包含的对象。 每个安全对象都有一组权限,可配置为进一步最小化 SQL Server 外围应用。 下表包含有关主体和安全对象的信息。

有关信息 请参阅

服务器和数据库用户、角色与进程

主体

服务器和数据库对象安全性

安全对象

SQL Server 安全性层次结构

权限层次结构

有关数据库和应用程序安全性的详细信息,请参阅数据库和数据库应用程序的安全注意事项

加密和证书

加密并不解决访问控制问题。 不过,它可以通过限制数据丢失(即使在避开访问控制的罕见情况下)增强安全性。 例如,如果数据库主机配置有误且黑客获取了敏感数据(如信用卡号),则如果已加密,被盗信息将毫无用处。 下表包含有关 SQL Server 中加密的详细信息。

有关信息 请参阅

SQL Server 中的加密层次结构

加密层次结构

加密 SQL Server 连接

加密与 SQL Server 的连接

实现安全连接

如何启用数据库引擎的加密连接(SQL Server 配置管理器)

加密函数

加密函数 (Transact-SQL)

实现加密

加密操作指南主题

为数据加密设置 Analysis Services

需要数据加密

证书是在两个服务器之间共享的软件“密钥”,使用证书可以通过严格的身份验证实现安全通信。 您可以在 SQL Server 中创建和使用证书,以增强对象和连接的安全性。 下表包含有关为 SQL Server 使用证书的信息。

有关信息 请参阅

为安全连接使用证书

配置 SSL 使用的证书

创建供 SQL Server 使用的证书

CREATE CERTIFICATE (Transact-SQL)

为 SQL Server Service Broker 使用证书

证书和 Service Broker

为数据库镜像使用证书

使用数据库镜像证书

应用程序安全性

SQL Server 安全性最佳实践包括编写安全客户端应用程序。 有关服务器访问和 SQL Server 客户端应用程序的详细信息,请参阅 SQL Server Programming Overview

有关在网络层保护客户端应用程序安全的详细信息,请参阅客户端网络配置

有关编写使用本机 XML 服务的应用程序的详细信息,请参阅编写客户端应用程序

SQL Server 安全性工具、实用工具、视图和函数

SQL Server 提供了可用来配置和管理安全性的工具、实用工具、视图和函数。

SQL Server 安全性工具和实用工具

下表包含有关可用来配置和管理安全性的 SQL Server 工具与实用工具的信息。

有关信息 请参阅

连接、配置和控制 SQL Server

SQL Server Management Studio 简介

连接到 SQL Server 并在命令提示符下运行查询

sqlcmd 实用工具

SQL Server 的网络配置和控制

SQL Server 配置管理器

配置功能和连接选项

SQL Server 外围应用配置器

在命令提示符下配置功能和连接选项

sac 实用工具

操作报表服务器的对称密钥

rskeymgmt 实用工具

SQL Server 安全性目录视图和函数

数据库引擎在若干视图和函数(已为性能和效用进行了优化)中显示安全信息。 下表包含有关安全性视图和函数的信息。

有关信息 请参阅

SQL Server 安全性目录视图,可返回有关数据库级别和服务器级别权限、主体、角色等的信息。 此外,还有一些目录视图提供有关加密密钥、证书和凭据的信息。

安全性目录视图 (Transact-SQL)

SQL Server 安全函数,可返回有关当前用户、权限、架构等的信息。

安全函数 (Transact-SQL)

请参阅

其他资源

安装 SQL Server 的安全注意事项

帮助和信息

获取 SQL Server 2005 帮助