sqlserver2000:保护 SQL Server 2000 的十个步骤



这里介绍了为提高 SQLServer 安装安全性您可以实施十件事情:

\" width=\"32\" tppabs=\"http://www.microsoft.com/sql/graphics/numbers/hls-top10-1.g\"/> \" width=\"10\" tppabs=\"http://www.microsoft.com/products/shared/images/ts.g\"/> 安装最新服务包
为了提高服务器安全性最有效个思路方法就是升级到 SQL Server 2000 Service Pack4 (SP4)另外您还应该安装所有已发布安全更新




\" width=\"32\" tppabs=\"http://www.microsoft.com/sql/graphics/numbers/hls-top10-2.g\"/> \" width=\"10\" tppabs=\"http://www.microsoft.com/products/shared/images/ts.g\"/> 使用 Microsoft 基线安全性分析器(MBSA)来评估服务器安全性
MBSA 是个扫描多种 Microsoft 产品不安全配置工具包括 SQL Server 和 Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)它可以在本地运行也可以通过网络运行该工具针对下面问题对 SQL Server 安装进行检测:

  • 过多sysadmin固定服务器角色成员
  • 授予sysadmin以外其他角色创建 CmdExec 作业权利
  • 或简单密码
  • 脆弱身份验证模式
  • 授予管理员组过多权利
  • SQL Server数据目录中不正确访问控制表(ACL)
  • 安装文件中使用纯文本sa密码
  • 授予guest帐户过多权利
  • 在同时是域控制器系统中运行SQL Server
  • 所有人(Everyone)组不正确配置提供对特定注册表键访问
  • SQL Server 服务帐户不正确配置
  • 没有安装必要服务包和安全更新



\" width=\"32\" tppabs=\"http://www.microsoft.com/sql/graphics/numbers/hls-top10-3.g\"/> \" width=\"10\" tppabs=\"http://www.microsoft.com/products/shared/images/ts.g\"/> 使用 Windows 身份验证模式
在任何可能时候您都应该对指向 SQL Server 连接要求 Windows 身份验证模式它通过限制对Microsoft Windows®用户和域用户帐户连接保护 SQL Server 免受大部分 Internet 工具侵害而且服务器也将从 Windows 安全增强机制中获益例如更强身份验证协议以及强制密码复杂性和过期时间另外凭证委派(在多台服务器间桥接凭证能力)也只能在 Windows 身份验证模式中使用在客户端Windows 身份验证模式不再需要存储密码存储密码是使用标准 SQL Server 登录应用主要漏洞的

要在 SQL Server Enterprise Manager 安装 Windows 身份验证模式请按下列步骤操作:

  1. 展开服务器组
  2. 右键点击服务器然后点击属性
  3. 安全性选项卡身份验证点击仅限 Windows
详细信息请参阅 SQL Server Books _disibledevent=>MSDN中“身份验证模式”


\" width=\"32\" tppabs=\"http://www.microsoft.com/sql/graphics/numbers/hls-top10-4.g\"/> \" width=\"10\" tppabs=\"http://www.microsoft.com/products/shared/images/ts.g\"/> 隔离您服务器并定期备份
物理和逻辑上隔离组成 了SQL Server 安全性基础驻留数据库机器应该处于个从物理形式上受到保护地方最好是个上锁机房配备有洪水检测以及火灾检测/消防系统数据库应该安装在企业内部网安全区域中不要直接连接到 Internet定期备份所有数据并将副本保存在安全站点外地点


\" width=\"32\" tppabs=\"http://www.microsoft.com/sql/graphics/numbers/hls-top10-5.g\"/> \" width=\"10\" tppabs=\"http://www.microsoft.com/products/shared/images/ts.g\"/> 分配个强健sa密码
sa帐户应该总拥有个强健密码即使在配置为要求 Windows 身份验证服务器上也该如此这将保证在以后服务器被重新配置为混合模式身份验证时不会出现空白或脆弱sa

要分配sa密码请按下列步骤操作:

  1. 展开服务器组然后展开服务器
  2. 展开安全性然后点击登录
  3. 在细节窗格中右键点击SA然后点击属性
  4. 密码方框中输入新密码



\" width=\"32\" tppabs=\"http://www.microsoft.com/sql/graphics/numbers/hls-top10-6.g\"/> \" width=\"10\" tppabs=\"http://www.microsoft.com/products/shared/images/ts.g\"/>

限制 SQL Server服务权限
SQL Server 2000 和 SQL Server Agent 是作为 Windows 服务运行每个服务必须和个 Windows 帐户相关联并从这个帐户中衍生出安全性上下文SQL Server允许sa 登录用户(有时也包括其他用户)来访问操作系统特性这些操作系统是由拥有服务器进程帐户安全性上下文来创建如果服务器被攻破了那么这些操作系统可能被利用来向其他资源进行攻击只要所拥有过程(SQL Server服务帐户)可以对其进行访问因此为 SQL Server 服务仅授予必要权限是十分重要

我们推荐您采用下列设置:

  • SQL Server Engine/MSSQLServer
    如果拥有指定例子那么它们应该被命名为MSSQL$InstanceName作为具有般用户权限 Windows 域用户帐户运行不要作为本地系统、本地管理员或域管理员帐户来运行
  • SQL Server Agent Service/SQLServerAgent
    如果您环境中不需要请禁用该服务;否则请作为具有般用户权限Windows域用户帐户运行不要作为本地系统、本地管理员或域管理员帐户来运行

    重点: 如果下列条件的成立那么 SQL Server Agent 将需要本地 Windows管理员权限:



    • SQL Server Agent 使用标准 SQL Server 身份验证连接到SQL Server(不推荐)
    • SQL Server Agent 使用多服务器管理主服务器(MSX)帐户而该帐户使用标准 SQL Server 身份验证进行连接
    • SQL Server Agent 运行非sysadmin固定服务器角色成员所拥有 Microsoft ActiveX®脚本或 CmdExec 作业
如果您需要更改和 SQL Serve r服务相关联帐户请使用 SQL Server Enterprise ManagerEnterprise Manager 将为 SQL Server 所使用文件和注册表键设置合适权限不要使用 Microsoft 管理控制台"服务"(在控制面板中)来更改这些帐户这样需要手动地调制大量注册表键和NTFS文件系统权限以及Micorsoft Windows用户权限

帐户信息更改将在下次服务启动时生效如果您需要更改和 SQL Server 以及 SQL Server Agent 相关联帐户那么您必须使用 Enterprise Manager 分别对两个服务进行更改


\" width=\"32\" tppabs=\"http://www.microsoft.com/sql/graphics/numbers/hls-top10-7.g\"/> \" width=\"10\" tppabs=\"http://www.microsoft.com/products/shared/images/ts.g\"/> 在防火墙上禁用 SQL Server 端口
SQL Server 默认安装将监视 TCP 端口 1433 以及UDP端口 1434配置您防火墙来过滤掉到达这些端口数据包而且还应该在防火墙上阻止和指定例子相关联其他端口


\" width=\"32\" tppabs=\"http://www.microsoft.com/sql/graphics/numbers/hls-top10-8.g\"/> \" width=\"10\" tppabs=\"http://www.microsoft.com/products/shared/images/ts.g\"/> 使用最安全文件系统
NTFS 是最适合安装 SQL Server 文件系统它比 FAT 文件系统更稳定且更容易恢复而且它还包括些安全选项例如文件和目录 ACL 以及文件加密(EFS)在安装过程中如果侦测到 NTFSSQL Server 将在注册表键和文件上设置合适 ACL不应该去更改这些权限

通过 EFS数据库文件将在运行 SQL Server 帐户身份下进行加密只有这个帐户才能解密这些文件如果您需要更改运行 SQL Server 帐户那么您必须首先在旧帐户下解密这些文件然后在新帐户下重新进行加密


\" width=\"32\" tppabs=\"http://www.microsoft.com/sql/graphics/numbers/hls-top10-9.g\"/> \" width=\"10\" tppabs=\"http://www.microsoft.com/products/shared/images/ts.g\"/> 删除或保护旧安装文件
SQL Server 安装文件可能包含由纯文本或简单加密凭证和其他在安装过程中记录敏感配置信息这些日志文件保存位置取决于所安装SQL Server版本在 SQL Server 2000 中下列文件可能受到影响:默认安装时<systemdrive>:\\Program Files\\Microsoft SQL Server\\MSSQL\\Install文件夹中以及指定例子<systemdrive>:\\Program Files\\Microsoft SQL Server\\ MSSQL$<Instance Name>\\Install文件夹中sqlstp.log, sqlsp.log和up.iss

如果当前系统是从 SQL Server 7.0 安装升级而来那么还应该检查下列文件:%Windir% 文件夹中up.iss以及Windows Temp文件夹中sqlsp.log




\" width=\"32\" tppabs=\"http://www.microsoft.com/sql/graphics/numbers/hls-top10-10.g\"/> \" width=\"10\" tppabs=\"http://www.microsoft.com/products/shared/images/ts.g\"/> 审核指向 SQL Server 连接
SQL Server 可以记录事件信息用于系统管理员审查至少您应该记录失败 SQL Server 连接尝试并定期地查看这个日志在可能情况下不要将这些日志和数据文件保存在同个硬盘上

要在 SQL Server Enterprise Manager 中审核失败连接请按下列步骤操作:

  1. 展开服务器组
  2. 右键点击服务器然后点击属性
  3. 安全性选项卡审核等级点击失败


要使这个设置生效您必须停止并重新启动服务器



Tags:  sqlserver2000sp4 sqlserver2000安装 mssqlserver2000 sqlserver2000

延伸阅读

最新评论

发表评论