保护MSSQL Server 2000的十个步骤


  这里介绍了为 普及 SQL Server 安装的安全性,您 可以 施行的十件 事件:

  安装最新的服务包 。
  为了 普及服务器安全性,最有效的一个 步骤便是 晋级到 SQL Server 2000 Service Pack 4 (SP4) 。另外,您还应该安装全部已公布的安全更新 。

   使用 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 服务帐户的不正确配置 。
  没有安装必要的服务包和安全更新 。

   使用 Windows 身份验证模式 。
  在任何可能的时候,您都应该对指向 SQL Server 的衔接要求 Windows 身份验证模式 。它通过 制约对Microsoft Windows®消费者和域消费者帐户的衔接, 掩护 SQL Server 免受大 部分 Internet 的工具的侵害, 。并且,您的服务器也将从 Windows 安全 加强机制中获益,例如更强的身份验证 协定以及强制的密码复杂性和过期 工夫 。另外,凭证委派(在多台服务器间桥接凭证的 威力)也不得不在 Windows 身份验证模式中 使用 。在客户端,Windows 身份验证模式不再需求存储密码 。存储密码是 使用 标准 SQL Server 登录的 利用程序的主要 漏洞之一 。

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

  铺开服务器组 。
  右键点击服务器, 而后点击属性 。
  在安全性选项卡的身份验证中,点击仅限 Windows 。
   详尽信息,请参阅 SQL Server Books Online 或 MSDN中的“身份验证模式” 。
  隔离您的服务器,并定期备份 。
  物理和逻辑上的隔离构成 了SQL Server 安全性的 根底 。驻留数据库的机器应该处于一个从物理 模式上受到 掩护的地方,最好是一个上锁的机房,装备有洪水检测以及火灾检测/消防系统 。数据库应该安装在企业内部网的安全区域中,不要直接衔接到 Internet 。定期备份全部数据,并将副本 保留在安全的站点外地点 。
   调配一个 矫健的sa密码 。
  sa帐户应该总 占有一个 矫健的密码, 即便在配置为要求 Windows 身份验证的服务器上也该如此 。这将 保障在以后服务器被再一次配置为混合模式身份验证时,不会浮现空白或 懦弱的sa 。

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

  铺开服务器组, 而后铺开服务器 。
  铺开安全性, 而后点击登录 。
  在细节窗格中,右键点击SA, 而后点击属性 。
  在密码方框中,输入新的密码 。

   制约 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 Manager 。Enterprise Manager 将为 SQL Server 所 使用的文件和注册表键设置 合适的权限 。不要 使用 Microsoft 治理操纵台的"服务"(在操纵面板中)来更改这些帐户,由于这样需求手动地调制大量的注册表键和NTFS文件系统权限以及Micorsoft Windows消费者权限 。

  帐户信息的更改将在下一次服务启动时生效 。假如您需求更改与 SQL Server 以及 SQL Server Agent 有关联的帐户,那么您必须 使用 Enterprise Manager 分别对两个服务进行更改 。
  在防火墙上禁用 SQL Server 端口 。
  SQL Server 的默许安装将 监督 TCP 端口 1433 以及UDP端口 1434 。配置您的防火墙来过滤掉 到达这些端口的数据包 。并且,还应该在防火墙上阻挠与指定实例 有关联的 其余端口 。
   使用最安全的文件系统 。
  NTFS 是最 合适安装 SQL Server 的文件系统 。它比 FAT 文件系统更 巩固且更方便 复原 。并且它还包括一些安全选项,例如文件和目录 ACL 以及文件加密(EFS) 。在安装过程中,假如侦测到 NTFS,SQL Server 将在注册表键和文件上设置 合适的 ACL 。不应该去更改这些权限 。

  通过 EFS,数据库文件将在运行 SQL Server 的帐户身份下进行加密 。惟独这个帐户 威力解密这些文件 。假如您需求更改运行 SQL Server 的帐户,那么您必须首先在旧帐户下解密这些文件, 而后在新帐户下再一次进行加密 。
  删除或 掩护旧的安装文件 。
  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和setup.iss

  假如目前的系统是从 SQL Server 7.0 安装 晋级而来的,那么还应该 审查下列文件:%Windir% 文件夹中的setup.iss以及Windows Temp文件夹中的sqlsp.log 。

  审核指向 SQL Server 的衔接 。
  SQL Server 可以记录事件信息,用于系统治理员的审查 。至少您应该记录失败的 SQL Server 衔接尝试,并定期地查看这个日志 。在可能的状况下,不要将这些日志和数据文件 保留在同一个硬盘上 。

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

  铺开服务器组 。
  右键点击服务器, 而后点击属性 。
  在安全性选项卡的审核等级中,点击失败 。
  要使这个设置生效,您必须 停留并再一次启动服务器 。