执行一个安全的SQL Server安装
 

收集和分发数据是网络管理的职责之一,而且必须确保这些数据的准确性和安全性。不管它们是什么操作系统,数据库服务器需要特殊的管理以保证操作上的安全性。良好的安全性开始于安装。现在让我们看一看如何才能在开始的时候就获得SQL Server的安全性。

安装

在开始安装之前,先定位到终端路由器或者防火墙,将UDP和TCP端口1433和1434指明为SQL Server的IP地址,这将有助于在安装的时候防止SQL injection弱点。

请不要在一个域控制器(domain controller)上安装SQL Server,一个程序的弱点可以导致危及整个域。在安装程序的转移数据之前,你最好在一个具有完全补丁修补之后的操作系统上安装SQL Server。

SQL Server服务应该运行于独立的当地帐号之下。这样,即使如果有人破坏程序,其它的服务器也可以不受影响。

如果服务器想要为一个基于Windows的网络服务,与服务器的所有连接都需要Windows认证。这将使得用户不再有必要记住其它连接的密码,从而减轻了用户的负担。

服务帐号

在通常情况下,服务帐号十分注意分配给它们的权限。SQL Server使用两种帐号:SQL Server Engine和SQL Server Agent。这两种帐号都作为一个具有常规帐号权限的域用户而运行。

如果你使用SQL Server认证,而不是使用Windows认证,或者如果你的服务器运行的是ActiveX脚本或CmdExec作业(比如,操作系统命令或者.bat,.cmd,.com,或.exe的可执行程序),SQL Server Agent帐号将需要当地Windows管理员权限。

注意:如果你需要改变与SQL Server服务有关的帐号,可以使用SQL Server企业管理者(SQL Server Enterprise Manager)。企业管理者将对SQL Server使用的文件和注册表键设置合适的权限。不要使用控制面板上MMC的Services applet来更改这些帐号。

安装之后

通过运行微软Killpwd.exe程序,可以清除在安装过程中保存在不同安装文件中的纯文本sysadmin密码。

当从新服务器中清除安装文件之后,运行Microsoft Baseline Security Analyzer (MBSA)。这一工具能够扫描和测试安装中产生的问题,这些问题包括:

  • 过多的sysadmin成员都想作为服务器角色。

  • 分配建立CmdExec作业的权限。

  • 空白的或者琐屑的密码。

  • 脆弱的认证方式。

  • 分配给管理者组的过多的权限。

  • 运行于域控制器的系统的SQL Server。

  • 每一组的不合适的配置。

  • SQL Server服务帐号的不合适的配置。

  • 丢失的服务补丁和安全更新。

    最后,请记住检查失败连接的原因。这是安装中最容易忽略的选项。你可以通过SQL Server企业管理者来实现失败连接的检查。

    请遵循以下的步骤:

    1.       右击服务器,选择属性(Properties)。

    2.       在安全(Security)标签,在Audit Level之下选择Failure。

    3.       停止和重新启动服务器,以获得检查的开始。

    最后注意几点

    这也只是执行一个安全的SQL Server安装的开始。如果你的服务器将从一个公共的Web服务器中集中数据,你应该对设置到Web服务器IP地址的SQL端口进行限制。这些都对数据库服务器非常有好处,但它们都以一个安全的安装为开始。

    本文作者: Mike Mullins作为数据库管理者和助理网络管理者的身份参加了美国特勤局(Secret Service),他是一个美国国防部国防资讯系统局(Defense Information Systems Agency)的网络安全管理者。
  •