5、使用协议加密
sql server 2000使用的tabular data stream协议来进行网络数据交换,如果不加密的话,所有的网络传输都是明文的,包括密码、数据库内容等等,这是一个很大的安全威胁。能被人在网络中截获到他们需要的东西,包括数据库帐号和密码。所以,在条件容许情况下,最好使用ssl来加密协议,当然,你需要一个证书来支持。
6、不要让人随便探测到你的tcp/ip端口
默认情况下,sql server使用1433端口监听,很多人都说sql server配置的时候要把这个端口改变,这样别人就不能很容易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的udp探测可以很容易知道sql server使用的什么tcp/ip端口了(请参考《深入探索sql server网络连接的安全问题》)。
不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择tcp/ip协议的属性。选择隐藏 sql server 实例。如果隐藏了 sql server 实例,则将禁止对试图枚举网络上现有的 sql server 实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测你的tcp/ip端口了(除非用port scan)。
7、修改tcp/ip使用的端口
请在上一步配置的基础上,更改原默认的1433端口。在实例属性中选择网络配置中的tcp/ip协议的属性,将tcp/ip使用的默认端口变为其他端口。如图:
8、拒绝来自1434端口的探测
由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到dos攻击让数据库服务器的cpu负荷增大,所以对windows 2000操作系统来说,在ipsec过滤拒绝掉1434端口的udp通讯,可以尽可能地隐藏你的sql server。
9、对网络连接进行ip限制
sql server 2000数据库系统本身没有提供网络连接的安全解决办法,但是windows 2000提供了这样的安全机制。使用操作系统自己的ipsec可以实现ip数据包的安全性。请对ip连接进行限制,只保证自己的ip能够访问,也拒绝其他ip进行的端口连接,把来自网络上的安全威胁进行有效的控制。
关于ipsec的使用请参看:http://www.microsoft.com/china/technet/security/ipsecloc.asp
上面主要介绍的一些sql server的安全配置,经过以上的配置,可以让sql server本身具备足够的安全防范能力。当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。
(本文转载自 中华安全网 safechina)
