安装 SQL Server 的安全注意事项
安全对于每个产品和每家企业都很重要。 遵循简单的最佳做法,可以避免很多安全漏洞。 本主题讨论安装 SQL Server 前和安装 SQL Server 之后应考虑采用的一些最佳安全做法。 功能的参考主题中包括了特定功能的安全指南。
安装 SQL Server 前的工作
设置服务器环境时,请遵循以下最佳做法:
增强物理安全性
使用防火墙
隔离服务
配置安全的文件系统
禁用 NetBIOS 和服务器消息块
增强物理安全性
物理和逻辑隔离是构成 SQL Server 安全的基础。 若要增强 SQL Server 安装的物理安全性,请执行以下任务:
将服务器置于专门的房间,未经授权的人员不得入内。
将数据库的宿主计算机置于受物理保护的场所,最好是上锁的机房,房中配备水灾检测和火灾检测监视系统或灭火系统。
将数据库安装在公司 Intranet 的安全区域中,并且不得将 SQL Server 直接连接到 Internet。
定期备份所有数据,并将备份存储在远离工作现场的安全位置。
使用防火墙
防火墙对于协助确保 SQL Server 安装的安全十分重要。 若要使防火墙发挥最佳效用,请遵循以下指南:
在服务器和 Internet 之间放置防火墙。 启用防火墙。 如果防火墙处于关闭状态,请将其开启。 如果防火墙处于开启状态,请不要将其关闭。
将网络分成若干安全区域,区域之间用防火墙分隔。 先阻塞所有通信流量,然后有选择地只接受所需的通信。
在多层环境中,使用多个防火墙创建屏蔽子网。
如果在 Windows 域内部安装服务器,请将内部防火墙配置为允许使用 Windows 身份验证。
如果应用程序使用分布式事务处理,可能必须要将防火墙配置为允许 Microsoft 分布式事务处理协调器 (MS DTC) 在不同的 MS DTC 实例之间进行通信。 还需要将防火墙配置为允许在 MS DTC 和资源管理器(如 SQL Server)之间进行通信。
有关默认 Windows 防火墙设置的详细信息以及有关影响数据库引擎、Analysis Services、Reporting Services 和 Integration Services 的 TCP 端口的说明,请参阅配置 Windows 防火墙以允许 SQL Server 访问。
隔离服务
隔离服务可以降低风险,防止已受到危害的服务被用于危及其他服务。 若要隔离服务,请考虑以下原则:
- 在不同的 Windows 帐户下运行各自的 SQL Server 服务。 对每个 SQL Server 服务,尽可能使用不同的低权限 Windows 或本地用户帐户。 有关详细信息,请参阅设置 Windows 服务帐户。
配置安全的文件系统
使用正确的文件系统可提高安全性。 对于 SQL Server 安装,应执行以下几项任务:
使用 NTFS 文件系统 (NTFS)。 NTFS 是 SQL Server 安装的首选文件系统,因为它比 FAT 文件系统更加稳定和更容易恢复。 NTFS 还可以使用安全选项,例如文件和目录访问控制列表 (ACL) 和加密文件系统 (EFS) 文件加密。 在安装期间,如果检测到 NTFS,SQL Server 将对注册表项和文件设置相应的 ACL。 不应对这些权限做任何更改。 SQL Server 的未来版本可能不支持在具有 FAT 文件系统的计算机上进行安装。
注意 如果使用 EFS,则将在运行 SQL Server 的帐户的标识下加密数据库文件。 只有此帐户才可解密文件。 如果必须更改运行 SQL Server 的帐户,则应先在旧帐户下解密文件,然后在新帐户下将文件重新加密。
对关键数据文件使用独立磁盘冗余阵列 (RAID)。
禁用 NetBIOS 和服务器消息块
外围网络中的服务器应禁用所有不必要的协议,包括 NetBIOS 和服务器消息块 (SMB)。
NetBIOS 使用以下端口:
UDP/137(NetBIOS 名称服务)
UDP/138(NetBIOS 数据报服务)
TCP/139(NetBIOS 会话服务)
SMB 使用以下端口:
TCP/139
TCP/445
Web 服务器和域名系统 (DNS) 服务器不需要 NetBIOS 或 SMB。 在这些服务器上,禁用这两个协议可以减轻由用户枚举带来的威胁。
安装 SQL Server 后的工作
安装完成后,若要增强所安装的 SQL Server 软件的安全性,请遵循以下有关帐户和身份验证模式的最佳做法:
服务帐户
使用尽可能低的权限运行 SQL Server 服务。
将 SQL Server 服务与低特权 Windows 本地用户帐户或域用户帐户相关联。
有关详细信息,请参阅设置 Windows 服务帐户。
身份验证模式
连接 SQL Server 时要求 Windows 身份验证。
使用 Kerberos 身份验证。 有关详细信息,请参阅注册服务主体名称。
强密码
始终为 sa 帐户分配强密码。
始终启用密码策略检查来验证密码强度以及密码是否过期。
始终对所有 SQL Server 登录名使用强密码。 有关详细信息,请参阅 SQL Server 2008 Security Overview for Database Administrators(面向数据库管理员的 SQL Server 2008 安全概述)白皮书。
|