收集和分发数据是网络管理的职责之一,而且必须确保这些数据的准确性和安全性。不管它们是什么操作系统,数据库服务器需要特殊的管理以保证操作上的安全性。
良好的安全性开始于安装。现在让我们看一看如何才能在开始的时候就获得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)的网络安全管理者。
新闻热点
疑难解答