安装 SQL Server 的安全注意事项
安全很重要,这不只是对 Microsoft SQL Server 和 Microsoft 而言的,而是对每个产品和每家企业都很重要。遵循简单的最佳做法,可以避免很多安全漏洞。本主题讨论安装 SQL Server 之前和安装 SQL Server 之后应使用的一些最佳安全做法。功能的参考主题中包括了特定功能的安全指南。
安装 SQL Server 前的工作
设置服务器环境时,请遵循以下最佳做法:
- 增强物理安全性
- 使用防火墙
- 隔离服务
- 创建具有最低特权的服务帐户
- 禁用 NetBIOS 和服务器消息块
增强物理安全性
物理和逻辑隔离是构成 SQL Server 安全的基础。若要增强 SQL Server 安装的物理安全性,请执行以下任务:
- 将服务器置于专门的房间,未经授权的人员不得入内。
- 将数据库的宿主计算机置于受物理保护的场所,最好是上锁的机房,房中配备水灾检测和火灾检测监视系统或灭火系统。
- 将数据库安装在公司 Intranet 的安全区域中,任何时候都不要直接连接到 Internet。
- 定期备份所有数据,并将副本存储在远离工作现场的安全位置。
使用防火墙
防火墙是保护 SQL Server 安装所不可或缺的。若要使防火墙发挥最佳效用,请遵循以下指南:
- 在服务器和 Internet 之间放置防火墙。
- 将网络分成若干安全区域,区域之间用防火墙分隔。先阻塞所有通信流量,然后有选择地只接受所需的通信。
- 在多层环境中,使用多个防火墙创建屏蔽子网。
- 如果在 Windows 域内部安装服务器,请将内部防火墙配置为允许 Windows 身份验证。
- 在所有版本的 Windows 都是 Windows XP、Windows Server 2003 或更高版本的 Windows 域中,禁用 NTLM 身份验证。 .
- 如果应用程序使用分布式事务处理,可能必须要将防火墙配置为允许 Microsoft 分布式事务处理协调器 (MS DTC) 在不同的 MS DTC 实例之间以及在 MS DTC 和资源管理器(如 SQL Server)之间进行通信。
隔离服务
隔离服务可以降低风险,防止已受到危害的服务被用于危及其他服务。若要隔离服务,请遵循以下指南:
- 请尽可能不要在域控制器中安装 SQL Server。
- 在不同的 Windows 帐户下运行各自的 SQL Server 服务。
- 在多层环境中,在不同的计算机上运行 Web 逻辑和业务逻辑。
创建具有最低特权的服务帐户
SQL Server 安装程序可以自动配置服务帐户或具有 SQL Server 所需特定权限的帐户。修改或配置 SQL Server 2005 使用的 Windows 服务时,应仅授予它们需要的权限。有关详细信息,请参阅设置 Windows 服务帐户。
禁用 NetBIOS 和服务器消息块
边界网络中的服务器应禁用所有不必要的协议,包括 NetBIOS 和服务器消息块 (SMB)。
NetBIOS 使用以下端口:
- UDP/137(NetBIOS 名称服务)
- UDP/138(NetBIOS 数据报服务)
- TCP/139(NetBIOS 会话服务)
SMB 使用以下端口:
- TCP/139
- TCP/445
Web 服务器和域名系统 (DNS) 服务器不需要 NetBIOS 或 SMB。在这些服务器上,禁用这两个协议可以缓解用户枚举的威胁。有关如何禁用这些协议的详细信息,请参阅如何禁用基于 TCP/IP 的 NetBIOS 和如何禁用服务器消息块。
安装 SQL Server 后的工作
安装完成后,若要增强所安装的 SQL Server 软件的安全性,请遵循以下有关帐户和身份验证模式的最佳做法:
服务帐户
- 以可能的最低特权运行 SQL Server 服务。
- 将 SQL Server 服务与 Windows 帐户相关联。
身份验证模式
- 连接 SQL Server 时要求 Windows 身份验证。
强密码
- 始终给 sa 帐户分配强密码。
- 始终启用密码策略检查。
- 始终对所有 SQL Server 登录名使用强密码。