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