Windows2003服务器入侵前兆检测技巧

入侵检测系统(IDS)是防火墙的合理补充 , 它帮助安全系统发现可能的入侵前兆 , 并对付网络攻击 。入侵检测系统能在不影响网络性能的情况下对网络进行监测 , 提供对内部攻击、外部攻击和误操作的实时保护 , 能够扩展系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应) , 提高了信息安全基础结构的完整性 。但是 , 入侵检测系统并不是万能的 , 高昂的价格也让人退却 , 而且 , 单个服务器或者小型网络配置入侵检测系统或者防火墙等投入也太大了 。

一、对于WWW服务入侵的前兆检测

对于网络上开放的服务器来说 , WWW服务是最常见的服务之一 。基于80端口的入侵也因此是最普遍的 。很多sceipt;kids就对修改WEB页面非常热衷 。WWW服务面对的用户多 , 流量相对来说都很高 , 同时WWW服务的漏洞和相应的入侵方法和技巧也非常多 , 并且也相对容易 , 很多“安全”使用的漏洞扫描器就能够扫描80端口的各种漏洞 , 比如wwwscan;、X-scanner等 , 甚至也有只针对80端口的漏洞扫描器 。Windows系统上提供WWW服务的IIS也一直漏洞不断 , 成为系统管理员头疼的一部分 。

虽然80端口入侵和扫描很多 , 但是80端口的日志记录也非常容易 。IIS提供记录功能很强大的日志记录功能 。在“Internet;服务管理器”中站点属性可以启用日志记录 。默认情况下日志都存放在%WinDir%System32LogFiles , 按照每天保存在exyymmdd.log文件中 。这些都可以进行相应配置 , 包括日志记录的内容 。

在配置IIS的时候应该让IIS日志尽量记录得尽量详细 , 可以帮助进行入侵判断和分析 。现在我们要利用这些日志来发现入侵前兆 , 或者来发现服务器是否被扫描 。打开日志文件 , 我们能够得到类似这样的扫描记录(以Unicode漏洞举例):

2002-03-10;05:42:27;192.168.1.2;-;192.168.1.1;80;HEAD;/script/..蜡../..蜡../..;

蜡../winnt/system32/cmd.exe;/c dir;404;-;

2002-03-10;05:42:28;192.168.1.2;-;192.168.1.1;80;

GET;/script/..?../..?../..?../winnt/system32/cmd.exe;/c dir;404;-

需要注意类似这样的内容:

/script/..?../..?../..?../winnt/system32/cmd.exe;/c dir;404

如果是正常用户 , 那么他是不会发出这样的请求的 , 这些是利用IIS的Unicode漏洞扫描的结果 。后面的404表示并没有这样的漏洞 。如果出现的是200 , 那么说明存在Unicode漏洞 , 也说明它已经被别人扫描到了或者已经被人利用了 。不管是404或者200 , 这些内容出现在日志中 , 都表示有人在扫描(或者利用)服务器的漏洞 , 这就是入侵前兆 。日志也记录下扫描者的来源:192.168.1.2这个IP地址 。

再比如这个日志:

2002-03-10;06:17:50;192.168.1.2;-;192.168.1.1;80;HEAD;/;-;400;-

这是一个使用HEAD请求来扫描WWW服务器软件类型的记录 , 攻击者能够通过了解WWW使用的软件来选择扫描工具扫描的范围 。

IIS通常都能够记录下所有的请求 , 这里面包含很多正常用户的请求记录 , 这也让IIS的日志文件变得非常庞大 , 上十兆或者更大 , 人工浏览分析就变得不可取 。这时可以使用一些日志分析软件 , 帮助日志分析 。或者使用下面这个简单的命令来检查是否有Unicode漏洞的扫描事件存在:

find;/I;"winnt/system32/cmd.exe";C:logex020310.log

“find”这个命令就是在文件中搜索字符串的 。我们可以根据扫描工具或者漏洞情况建立一个敏感字符串列表 , 比如“HEAD”、“cmd.exe”(Unicode漏洞)、“.ida”“.idq”(IDA/IDQ远程溢出漏洞)、“.printer”(Printer远程溢出漏洞)等等 。

二、对于FTP等服务入侵的前兆检测

根据前面对于WWW服务入侵前兆的检测 , 我们可以照样来检测FTP或者其他服务(POP、SMTP等) 。以FTP服务来举例 , 对于FTP服务 , 通常最初的扫描或者入侵必然是进行帐号的猜解 。对于IIS提供的FTP服务 , 也跟WWW服务一样提供了详尽的日志记录(如果使用其他的FTP服务软件 , 它们也应该有相应的日志记录) 。

推荐阅读