保护 SQL Server

可将保护 SQL Server 视为一系列步骤,它涉及到四方面:平台、身份验证、对象(包括数据)及访问系统的应用程序。下列主题将指导您完成创建和实现有效安全计划的过程。

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

平台与网络安全性

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

物理安全性

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

实现物理网络安全首先要防止未经授权的用户访问网络。下表包含有关联网安全信息的详细信息。

有关信息

请参阅

联网与 SQL Server

网络协议和 TDS 端点

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

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

限制对 SQL Server 的网络访问

限制网络访问

SQL Server Compact 3.5 SP2 和对其他 SQL Server 版本的网络访问

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

备份和还原策略

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

操作系统安全性

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

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

有关信息

请参阅

为使用 SQL Server 配置防火墙

如何为数据库引擎访问配置 Windows 防火墙

为使用 Integration Services 配置防火墙

为 Integration Services 访问配置 Windows 防火墙

为使用 Analysis Services 配置防火墙

为 Analysis Services 访问配置 Windows 防火墙

为使用 Reporting Services 配置防火墙

服务器部署检查表

打开防火墙上的特定端口以便启用对 SQL Server 的访问

Opening Ports in the Firewall

通过使用渠道绑定和服务绑定,配置对身份验证的扩展保护的支持

使用扩展保护连接到数据库引擎

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

有关信息

请参阅

SQL Server 所需的服务

设置 Windows 服务帐户

限制服务器登录访问

限制交互登录访问

本地管理权限

授予本地管理权限

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

有关信息

请参阅

SQL Server Compact 3.5 SP2 的 IIS 安全性

SQL Server Compact 3.5 SP2 联机丛书中的“IIS 安全性”

在 SQL Server 和 IIS 中使用 Web 服务

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

报表服务器和 Internet 访问

规划 Extranet 或 Internet 部署

Reporting Services 身份验证

Reporting Services 中的身份验证

SQL Server Compact 3.5 SP2 和 IIS 访问

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

SQL Server 操作系统文件安全性

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

有关信息

请参阅

SQL Server 程序文件

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

数据库文件安全性

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

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 客户端应用程序的详细信息,请参阅 开发人员指南(数据库引擎)

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

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

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

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

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

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

有关信息

请参阅

连接、配置和控制 SQL Server

使用 SQL Server Management Studio

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

sqlcmd 实用工具

SQL Server 的网络配置和控制

SQL Server 配置管理器

使用基于策略的管理启用和禁用功能

使用基于策略的管理来管理服务器

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

rskeymgmt 实用工具

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

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

有关信息

请参阅

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

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

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

安全函数 (Transact-SQL)

SQL Server 安全性动态管理视图。

与安全性相关的动态管理视图和函数 (Transact-SQL)