保护 SQL Server
新建日期: 2006 年 12 月 12 日
保护 SQL Server 涉及三个方面:平台与网络、主体与安全对象以及访问数据库的应用程序。 下列主题将指导您完成创建和实现有效安全计划的过程。
您可以在 SQL Server 网站上找到有关 SQL Server 安全性的详细信息,包括一个最佳实践指南和一个安全性清单。 此网站还包含最新的 Service Pack 信息和下载。
平台与网络安全性
SQL Server 的平台包括物理硬件和将客户端连接到数据库服务器的联网系统,以及用于处理数据库请求的二进制文件。
物理安全性
物理安全性的最佳实践是严格限制对物理服务器和硬件组件的接触。 例如,将数据库服务器硬件和联网设备放在限制进入的上锁房间。 此外,还可通过将备份媒体存储在安全的现场外位置,限制对其接触。
实现物理网络安全性首先要使未经授权的用户远离网络。 下表包含有关联网安全性信息的详细信息。
有关信息 | 请参阅 |
---|---|
联网与 SQL Server |
|
指定并限制用于 SQL Server 的端口 |
|
限制对 SQL Server 的网络访问 |
|
SQL Server 2005 Compact Edition 和对其他 SQL Server 版本的网络访问 |
SQL Server 2005 Compact Edition 联机丛书中的“配置和保护服务器环境的安全性” |
备份和还原策略 |
操作系统安全性
操作系统 Service Pack 和升级包含重要的安全性增强功能。 将所有修补程序和升级针对您的数据库应用程序进行测试后,将它们应用到操作系统。
防火墙也提供了实现安全性的有效方式。 从逻辑上讲,防火墙是网络通信的隔离者或限制者,可配置为执行您组织的数据安全性策略。 使用防火墙可通过提供一个检查点(可集中安全措施的位置)增强操作系统级的安全性。 下表包含有关为 SQL Server 使用防火墙的详细信息。
有关信息 | 请参阅 |
---|---|
为使用 SQL Server 配置防火墙 |
|
为使用 Integration Services 配置防火墙 |
|
为使用 Analysis Services 配置防火墙 |
|
为使用 Reporting Services 配置防火墙 |
|
打开防火墙上的特定端口以允许访问 SQL Server |
减少外围应用是一项安全措施,它涉及停止或禁用未使用的组件。 外围应用的减少使得对系统潜在攻击的途径更少,从而有助于提高安全性。 限制 SQL Server 外围应用的关键在于仅为服务和用户授予适当的权限,从而使用“最低特权”运行所需服务。 下表包含有关服务和系统访问的详细信息。
有关信息 | 请参阅 |
---|---|
SQL Server 所需的服务 |
|
限制服务器登录访问 |
|
本地管理权限 |
如果您的 SQL Server 系统使用 Internet 信息服务 (IIS),则需要采用其他步骤保护平台外围的安全。 下表包含有关 SQL Server 和 Internet 信息服务的信息。
有关信息 | 请参阅 |
---|---|
SQL Server 2005 Compact Edition 的 IIS 安全性 |
SQL Server 2005 Compact Edition 联机丛书中的“IIS 安全性” |
在 SQL Server 和 IIS 中使用 XML 服务 |
|
报表服务器和 Internet 访问 |
|
为报表服务器设置窗体安全性 |
|
Reporting Services 身份验证 |
|
SQL Server 2005 Compact Edition 和 IIS 访问 |
SQL Server 2005 Compact Edition 联机丛书中的“Internet 信息服务安全性流程图” |
SQL Server 操作系统文件安全性
SQL Server 使用操作系统文件进行操作和数据存储。 文件安全性的最佳实践要求您限制对这些文件的访问。 下表包含有关这些文件的信息。
有关信息 | 请参阅 |
---|---|
SQL Server 程序文件 |
|
数据库文件安全性 |
|
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 连接 |
|
实现安全连接 |
|
加密函数 |
|
实现加密 |
|
为数据加密设置 Analysis Services |
证书是在两个服务器之间共享的软件“密钥”,使用证书可以通过严格的身份验证实现安全通信。 您可以在 SQL Server 中创建和使用证书,以增强对象和连接的安全性。 下表包含有关为 SQL Server 使用证书的信息。
有关信息 | 请参阅 |
---|---|
为安全连接使用证书 |
|
创建供 SQL Server 使用的证书 |
|
为 SQL Server Service Broker 使用证书 |
|
为数据库镜像使用证书 |
应用程序安全性
SQL Server 安全性最佳实践包括编写安全客户端应用程序。 有关服务器访问和 SQL Server 客户端应用程序的详细信息,请参阅 SQL Server Programming Overview。
有关在网络层保护客户端应用程序安全的详细信息,请参阅客户端网络配置。
有关编写使用本机 XML 服务的应用程序的详细信息,请参阅编写客户端应用程序。
SQL Server 安全性工具、实用工具、视图和函数
SQL Server 提供了可用来配置和管理安全性的工具、实用工具、视图和函数。
SQL Server 安全性工具和实用工具
下表包含有关可用来配置和管理安全性的 SQL Server 工具与实用工具的信息。
有关信息 | 请参阅 |
---|---|
连接、配置和控制 SQL Server |
|
连接到 SQL Server 并在命令提示符下运行查询 |
|
SQL Server 的网络配置和控制 |
|
配置功能和连接选项 |
|
在命令提示符下配置功能和连接选项 |
|
操作报表服务器的对称密钥 |
SQL Server 安全性目录视图和函数
数据库引擎在若干视图和函数(已为性能和效用进行了优化)中显示安全信息。 下表包含有关安全性视图和函数的信息。
有关信息 | 请参阅 |
---|---|
SQL Server 安全性目录视图,可返回有关数据库级别和服务器级别权限、主体、角色等的信息。 此外,还有一些目录视图提供有关加密密钥、证书和凭据的信息。 |
|
SQL Server 安全函数,可返回有关当前用户、权限、架构等的信息。 |