系统日志源自航海日志:当人们出海远行的时候,总是要做好航海日志,以便为以后的工作做出依据。日志文件作为微软Windows系列操作系统中的一个比较特殊的文件,在安全方面具有无可替代的价值。日志每天为我们忠实的记录着系统所发生一切,利用系统日志文件,可以使系统管理员快速对潜在的系统入侵作出记录和预测,但遗憾的是目前绝大多数的人都忽略了它的存在。反而是因为黑客们光临才会使我们想起这个重要的系统日志文件。
7.1 日志文件的特殊性
要了解日志文件,首先就要从它的特殊性讲起,说它特殊是因为这个文件由系统管理,加
以保护,一般情况下普通用户不能随意更改。我们不能用针对普通TXT文件的编辑方法来编辑它。例如WPS系列、Word系列、写字板、Edit等等,都奈何它不得。我们甚至不能对它进
行“重命名”或“删除”、“移动”操作,否则系统就会很不客气告诉你:访问被拒绝。当然,在纯DOS的状态下,可以对它进行一些常规操作(例如Win98状态下),但是你很快就会发现,你的修改根本就无济于事,当重新启动Windows 98时,系统将会自动检查这个特殊的文本文件,若不存在就会自动产生一个;若存在的话,将向该文本追加日志记录。
7.1.1 黑客为什么会对日志文件感兴趣
黑客们在获得服务器的系统管理员权限之后就可以随意破坏系统上的文件了,包括日志文件。
但是这一切都将被系统日志所记录下来,所以黑客们想要隐藏自己的入侵踪迹,就必须日
志进行修改。最简单的方法就是删除系统日志文件,但这样做一般都是初级黑客所为,正
的高级黑客们总是用修改日志的方法来防止系统管理员追踪到自己,网络上有很多专门进行此类功能的程序,例如Zap、Wipe等。
7.1 日志文件的特殊性
要了解日志文件,首先就要从它的特殊性讲起,说它特殊是因为这个文件由系统管理,并加以保护,一般情况下普通用户不能随意更改。我们不能用针对普通TXT文件的编辑方法来编辑它。例如WPS系列、Word系列、写字板、Edit等等,都奈何它不得。我们甚至不能对它进行“重命名”或“删除”、“移动”操作,否则系统就会很不客气告诉你:访问被拒绝。当然,在纯DOS的状态下,可以对它进行一些常规操作(例如Win98状态下),但是你很快就会发现,你的修改根本就无济于事,当重新启动Windows 98时,系统将会自动检查这个特殊的文本文件,若不存在就会自动产生一个;若存在的话,将向该文本追加日志记录。
7.1.1 黑客为什么会对日志文件感兴趣
黑客们在获得服务器的系统管理员权限之后就可以随意破坏系统上的文件了,包括日志文件。但是这一切都将被系统日志所记录下来,所以黑客们想要隐藏自己的入侵踪迹,就必须对日志进行修改。最简单的方法就是删除系统日志文件,但这样做一般都是初级黑客所为,真正的高级黑客们总是用修改日志的方法来防止系统管理员追踪到自己,网络上有很多专门进行此类功能的程序,例如Zap、Wipe等。
7.1.2 Windows系列日志系统简介
2.Windows NT下的日志系统
Windows NT是目前受到攻击较多的操作系统,在Windows NT中,日志文件几乎对系统中
的每一项事务都要做一定程度上的审计。Windows NT的日志文件一般分为三类:
系统日志 :跟踪各种各样的系统事件,记录由 Windows NT 的系统组件产生的事件。例如,在启动过程加载驱动程序错误或其它系统组件的失败记录在系统日志中。
应用程序日志:记录由应用程序或系统程序产生的事件,比如应用程序产生的装载dll(动态链接库)失败的信息将出现在日志中。
安全日志 :记录登录上网、下网、改变访问权限以及系统启动和关闭等事件以及与创建、打开或删除文件等资源使用相关联的事件。利用系统的“事件管理器”可以指定在安全日志中记录需要记录的事件,安全日志的默认状态是关闭的。
Windows NT的日志系统通常放在下面的位置,根据操作系统的不同略有变化。
C:systemrootsystem32configsysevent.evt
C:systemrootsystem32configsecevent.evt
C:systemrootsystem32configappevent.evt
Windows NT使用了一种特殊的格式存放它的日志文件,这种格式的文件可以被事件查看器
读取,事件查看器可以在“控制面板”中找到,系统管理员可以使用事件查看器选择要查
看的日志条目,查看条件包括类别、用户和消息类型。
3.Windows 2000的日志系统
与Windows NT一样,Windows 2000中也一样使用“事件查看器”来管理日志系统,也同
样需要用系统管理员身份进入系统后方可进行操作。
在Windows 2000中,日志文件的类型比较多,通常有应用程序日志,安全日志、系统日志、DNS服务器日志、FTP日志、WWW日志等等,可能会根据服务器所开启的服务不同而略有变化。启动Windows 2000时,事件日志服务会自动启动,所有用户都可以查看“应用程序日志”,但是只有系统管理员才能访问“安全日志”和“系统日志”。系统默认的情况下会关闭“安全日志”,但我们可以使用“组策略”来启用“安全日志开始记录。安全日志一旦开启,就会无限制的记录下去,直到装满时停止运行。
Windows 2000日志文件默认位置:
应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%sys tem32config
,默认文件大小512KB,但有经验的系统管理员往往都会改变这个默认大小。
安全日志文件:c:sys temrootsys tem32configSecEvent.EVT
系统日志文件:c:sys temrootsys tem32configSysEvent.EVT
应用程序日志文件:c:sys temrootsys tem32configAppEvent.EVT
Internet信息服务FTP日志默认位置:c:systemrootsys tem32logfilesmsftpsvc1。
Internet信息服务WWW日志默认位置:c:systemrootsys tem32logfilesw3svc1。
Scheduler服务器日志默认位置:c:systemrootschedlgu.txt 。该日志记录了访问者的IP
,访问的时间及请求访问的内容。
因Windows2000延续了NT的日志文件,并在其基础上又增加了FTP和WWW日志,故本节对FTP
日志和WWW日志作一个简单的讲述。FTP日志以文本形式的文件详细地记录了以FTP方式上传
文件的文件、来源、文件名等等。不过由于该日志太明显,所以高级黑客们根本不会用这
种方法来传文件,取而代之的是使用RCP。
FTP日志文件和WWW日志文件产生的日志一般在c:sys temrootsystem32LogFilesW3SVC1目
录下,默认是每天一个日志文件, FTP和WWW日志可以删除,但是FTP日志所记录的一切
还是会在系统日志和安全日志里记录下来,如果用户需要尝试删除这些文件,通过一些并
不算太复杂的方法,例如首先停止某些服务,然后就可以将该日志文件删除。具体方法本
节略。
Windows 2000中提供了一个叫做安全日志分析器(CyberSafe Log Analyst,CLA)的工具,有很强的日志管理功能,它可以使用户不必在让人眼花缭乱的日志中慢慢寻找某条记录,而是通过分类的方式将各事件整理好,让用户能迅速找到所需要的条目。它的另一个突出特点是能够对整个网络环境中多个系统各种活动同时进行分析,避免了一个个单独去分析的麻烦。
4.Windows XP日志文件
说Windows XP的日志文件,就要先说说Internet连接防火墙(ICF)的日志,ICF的日志可以
分为两类:
一类是ICF审核通过的IP数据包,而一类是ICF抛弃的IP数据包。日志一般存于Windows目录
之下,文件名是pfirewall.log。
其文件格式符合W3C扩展日志文件格式(W3C Extended Log File Format),分为两部分,分别是文件头(Head Information)和文件主体(Body Information)。文件头主要是关于Pfirewall.log这个文件的说明,需要注意的主要是文件主体部分。文件主体部分记录有每一个成功通过ICF审核或者被ICF所抛弃的IP数据包的信息,包括源地址、目的地址、端口、时间、协议以及其他一些信息。理解这些信息需要较多的TCP/IP协议的知识。ICF生成安全日志时使用的格式是W3C扩展日志文件格式,这与在常用日志分析工具中使用的格式类似。
当我们在WindowsXP的“控制面板”中,打开事件查看器。
就可以看到WindowsXP中同样也有着系统日志、安全日志和应用日志三种常见的日志文件,当你单击其中任一文件时,就可以看见日志文件中的一些记录, 在高级设备中,我们还可以进行一些日志的文件存放地址、大小限制及一些相关操作, 若要启用对不成功的连接尝试的记录,请选中“记录丢弃的数据包”复选框,否则禁用。另外,我们还可以用金山网镖等工具软件将“安全日志”导出和被删除。
5.日志分析
当日志每天都忠实的为用户记录着系统所发生的一切的时候,用户同样也需要经常规范管理日志,但是庞大的日志记录却又令用户茫然失措,此时,我们就会需要使用工具对日志进行分析、汇总,日志分析可以帮助用户从日志记录中获取有用的信息,以便用户可以针对不同的情况采取必要的措施。
7.2 系统日志的删除
因操作系统的不同,所以日志的删除方法也略有变化,本文从Windows 98和Windows 2000两种有明显区别的操作系统来讲述日志的删除。
7.2.1 Windows 98下的日志删除
在纯DOS下启动计算机,用一些常用的修改或删除命令就可以消除Windows 98日志记录。当重新启动Windows98后,系统会检查日志文件的存在,如果发现日志文件不存在,系统将自动重建一个,但原有的日志文件将全部被消除。
7.2.2 Windows 2000的日志删除
Windows 2000的日志可就比Windows 98复杂得多了,我们知道,日志是由系统来管理、保护的,一般情况下是禁止删除或修改,而且它还与注册表密切相关。在Windows 2000中删除日志首先要取得系统管理员权限,因为安全日志和系统日志必须由系统管理员方可查看,然后才可以删除它们。
我们将针对应用程序日志,安全日志、系统日志、DNS服务器日志、FTP日志、WWW日志的删除做一个简单的讲解。要删除日志文件,就必须停止系统对日志文件的保护功能。我们可以使用命令语句来删除除了安全日志和系统日志外的日志文件,但安全日志就必须要使用系统中的“事件查看器”来控制它,打开“控制面板”的“管理工具”中的“事件查看器”。在菜单的“操作”项有一个名为“连接到另一台计算机”的菜单 输入远程计算机的IP,然后需要等待,选择远程计算机的安全性日志,点击属性里的“清除日志”按钮即可。
7.3 发现入侵踪迹
如何当入侵者企图或已经进行系统的时候,及时有效的发现踪迹是目前防范入侵的热门话题之一。发现入侵踪迹的前题就是应该有一个入侵特征数据库,我们一般使用系统日志、防火墙、检查IP报头(IP header)的来源地址、检测Email的安全性以及使用入侵检测系统(IDS)等来判断是否有入侵迹象。
我们先来学习一下如何利用端口的常识来判断是否有入侵迹象: 电脑在安装以后,如果不加以调整,其默认开放的端口号是139,如果不开放其它端口的话,黑客正常情况下是无法进入系统的。
如果平常系统经常进行病毒检查的话,而突然间电脑上网的时候会感到有反应缓慢、鼠标不听使唤、蓝屏、系统死机及其它种种不正常的情况,我们就可以判断有黑客利用电子信件或其它方法在系统中植入的特洛伊木马。此时,我们就可以采取一些方法来清除它,具体方法在本书的相关章节可以查阅。
7.3.1 遭受入侵时的迹象
入侵总是按照一定的步骤在进行,有经验的系统管理员完全可以通过观察到系统是否出现异常现象来判断入侵的程度。
1.扫描迹象
当系统收到连续、反复的端口连接请求时,就可能意味着入侵者正在使用端口扫描器对系
统进行外部扫描。高级黑客们可能会用秘密扫描工具来躲避检测,但实际上有经验的系统
管理员还是可以通过多种迹象来判断一切。
2.利用攻击
当入侵者使用各种程序对系统进行入侵时,系统可能报告出一些异常情况,并给出相关文件(IDS常用的处理方法),当入侵者入侵成功后,系统总会留下或多或少的破坏和非正常访问迹象,这时就应该发现系统可能已遭遇入侵。
3.DoS或DDoS攻击迹象
这是当前入侵者比较常用的攻击方法,所以当系统性能突然间发生严重下降或完全停止工作时,应该立即意识到,有可能系统正在遭受拒绝服务攻击,一般的迹象是CPU占用率接近90%以上,网络流量缓慢、系统出现蓝屏、频繁重新启动等。
7.3.2 合理使用系统日志做入侵检测
系统日志的作用和重要性大家通过上几节的讲述,相信明白了不少,但是虽然系统自带的日志完全可以告诉我们系统发生的任何事情,然而,由于日志记录增加得太快了,最终使日志只能成为浪费大量磁盘空间的垃圾,所以日志并不是可以无限制的使用,合理、规范的进行日志管理是使用日志的一个好方法,有经验的系统管理员就会利用一些日志审核工具、过滤日志记录工具,解决这个问题。
要最大程度的将日志文件利用起来,就必须先制定管理计划。
1.指定日志做哪些记录工作?
2.制定可以得到这些记录详细资料的触发器。
7.3.3 一个比较优秀的日志管理软件
要想迅速的从繁多的日志文件记录中查找到入侵信息,就要使用一些专业的日志管理工具。Surfstats Log Analyzer4.6就是这么一款专业的日志管理工具。网络管理员通过它可以清楚的分析“log”文件,从中看出网站目前的状况,并可以从该软件的“报告”中,看出有多少人来过你的网站、从哪里来、在系统中大量地使用了哪些搜寻字眼,从而帮你准确地了解网站状况。
这个软件最主要的功能有:
1、整合了查阅及输出功能,并可以定期用屏幕、文件、FTP或E-mail的方式输出结果;
2.可以提供30多种汇总的资料;
3.能自动侦测文件格式,并支持多种通用的log文件格式,如MS IIS的W3 Extended log格式;
4.在“密码保护”的目录里,增加认证(Authenticated)使用者的分析报告;
5.可按每小时、每星期、或每月的模式来分析;
6.DNS资料库会储存解析(Resolved)的IP地址;
7.每个分析的画面都可以设定不同的背景、字型、颜色。
发现入侵踪迹的方法很多,如入侵检测系统IDS就可以很好的做到这点。下一节我们将讲解详细的讲解入侵检测系统。
7.4 做好系统入侵检测
7.4.1 什么是入侵检测系统
在人们越来越多和网络亲密接触的同时,被动的防御已经不能保证系统的安全,针对日益繁多的网络入侵事件,我们需要在使用防火墙的基础上选用一种协助防火墙进行防患于未然的工具,这种工具要求能对潜在的入侵行为作出实时判断和记录,并能在一定程度上抗击网络入侵,扩展系统管理员的安全管理能力,保证系统的绝对安全性。
使系统的防范功能大大增强,甚至在入侵行为已经被证实的情况下,能自动切断网络连接
,保护主机的绝对安全。在这种情形下,入侵检测系统IDS(Intrusion Detection System)应运而生了。入侵检测系统是基于多年对网络安全防范技术和黑客入侵技术的研究而开发的网络安全产品
它能够实时监控网络传输,自动检测可疑行为,分析来自网络外部入侵信号和内部的非法活动,在系统受到危害前发出警告,对攻击作出实时的响应,并提供补救措施,最大程度地保障系统安全。
NestWatch
这是一款运行于Windows NT的日志管理软件,它可以从服务器和防火墙中导入日志文件,
并能以HTML的方式为系统管理员提供报告。
7.4.2 入侵检测系统和日志的差异
系统本身自带的日志功能可以自动记录入侵者的入侵行为,但它不能完善地做好入侵迹象
分析记录工作,而且不能准确地将正常的服务请求和恶意的入侵行为区分开。
例如,当入侵者对主机进行CGI扫描时,系统安全日志能提供给系统管理员的分析数据少得
可怜,几乎全无帮助,而且安全日志文件本身的日益庞大的特性,使系统管理员很难在短
时间内利用工具找到一些攻击后所遗留下的痕迹。入侵检测系统就充分的将这一点做的很
好,利用入侵检测系统提供的报告数据,系统管理员将十分轻松的知晓入侵者的某些入侵
企图,并能及时做好防范措施。
7.4.3 入侵检测系统的分类
目前入侵检测系统根据功能方面,可以分为四类:
1.系统完整性校验系统(SIV)
SIV可以自动判断系统是否有被黑客入侵迹象,并能检查是否被系统入侵者更改了系统文件,以及是否留有后门(黑客们为了下一次光顾主机留下的),监视针对系统的活动(用户的命令、登录/退出过程,使用的数据等等),这类软件一般由系统管理员控制。
2.网络入侵检测系统(NIDS)
NIDS可以实时的对网络的数据包进行检测,及时发现端口是否有黑客扫描的迹象。监视计算机网络上发生的事件,然后对其进行安全分析,以此来判断入侵企图;分布式IDS通过分布于各个节点的传感器或者代理对整个网络和主机环境进行监视,中心监视平台收集来自各个节点的信息监视这个网络流动的数据和入侵企图。
3.日志分析系统(LFM)
日志分析系统对于系统管理员进行系统安全防范来说,非常重要,因为日志记录了系统每天发生的各种各样的事情,用户可以通过日志记录来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志分析系统的主要功能有:审计和监测、追踪侵入者等。日志文件也会因大量的记录而导致系统管理员用一些专业的工具对日志或者报警文件进行分析。此时,日志分析系统就可以起作用了,它帮助系统管理员从日志中获取有用的信息,使管理员可以针对攻击威胁采取必要措施。
4.欺骗系统(DS)
普通的系统管理员日常只会对入侵者的攻击作出预测和识别,而不能进行反击。但是欺骗系统(DS)可以帮助系统管理员做好反击的铺垫工作,欺骗系统(DS)通过模拟一些系统漏洞来欺骗入侵者,当系统管理员通过一些方法获得黑客企图入侵的迹象后,利用欺骗系统可以获得很好的效果。例如重命名NT上的administrator账号,然后设立一个没有权限的虚假账号让黑客来攻击,在入侵者感觉到上当的时候,管理员也就知晓了入侵者的一举一动和他的水平高低。
7.4.4 入侵检测系统的检测步骤
入侵检测系统一般使用基于特征码的检测方法和异常检测方法,在判断系统是否被入侵前
,入侵检测系统首先需要进行一些信息的收集。信息的收集往往会从各个方面进行。
例如对网络或主机上安全漏洞进行扫描,查找非授权使用网络或主机系统的企图,并从几
个方面来判断是否有入侵行为发生。
检测系统接着会检查网络日志文件,因为黑客非常容易在会在日志文件中留下蛛丝马迹,
因此网络日志文件信息是常常作为系统管理员检测是否有入侵行为的主要方法。取得系统
管理权后,黑客们最喜欢做的事,就是破坏或修改系统文件,此时系统完整性校验系统
(SIV)就会迅速检查系统是否有异常的改动迹象,从而判断入侵行为的恶劣程度。将系统运
行情况与常见的入侵程序造成的后果数据进行比较,从而发现是否被入侵。
例如:系统遭受DDoS分布式攻击后,系统会在短时间内性能严重下降,检测系统此时就可
以判断已经被入侵。
入侵检测系统还可以使用一些系统命令来检查、搜索系统本身是否被攻击。当收集到足够
的信息时,入侵检测系统就会自动与本身数据库中设定的已知入侵方式和相关参数匹配,
检测准确率相当的高,让用户感到不方便的是,需要不断的升级数据库。否则,无法跟上
网络时代入侵工具的步伐。入侵检测的实时保护功能很强,作为一种“主动防范”的检测
技术,检测系统能迅速提供对系统攻击、网络攻击和用户误操作的实时保护,在预测到入
侵企图时本身进行拦截和提醒管理员预防。
7.4.5 发现系统被入侵后的步骤
1.仔细寻找入侵者是如何进入系统的,设法堵住这个安全漏洞。
2.检查所有的系统目录和文件是否被篡改过,尽快修复。
3.改变系统中的部分密码,防止再次因密码被暴力破解而生产的漏洞。
7.4.6 常用入侵检测工具介绍
1.NetProwler
作为世界级的互联网安全技术厂商,赛门铁克公司的产品涉及到网络安全的方方面面,特
别是在安全漏洞检测、入侵检测、互联网内容/电子邮件过滤、远程管理技术和安全服务方
面,赛门铁克的先进技术的确让人惊叹!NetProwler就是一款赛门铁克基于网络入侵检测
开发出的工具软件,NetProwler采用先进的拥有专利权的动态信号状态检测(SDSI)技术,
使用户能够设计独特的攻击定义。即使最复杂的攻击也可以由它直观的攻击定义界面产生。
(1)NetProwler的体系结构
NetProwler具有多层体系结构,由Agent、Console和
Manager三部分组成。Agent负责监视所在网段的网络数据包。将检测到的攻击及其所有相
关数据发送给管理器,安装时应与企业的网络结构和安全策略相结合。Console负责从代理
处收集信息,显示所受攻击信息,使你能够配置和管理隶属于某个管理器的代理。Manager
对配置和攻击警告信息响应,执行控制台发布的命令,将代理发出的攻击警告传递给控制
台。
当NetProwler发现攻击时,立即会把攻击事件记入日志并中断网络连接、创建一
个报告,用文件或E-mail通知系统管理员,最后将事件通知主机入侵检测管理器和控制台。
(2)NetProwler的检测技术
NetProwler采用具有专利技术的SDSI(Stateful Dynamic Signature Inspection状态化的动态特征检测)入侵检测技术。在这种设计中,每个攻击特征都是一组指令集,这些指令是由SDSI虚处理器通过使用一个高缓存入口来描述目前用户状态和当前从网络上收到数据包的办法执行。每一个被监测的网络服务器都有一个小的相关攻击特征集,这些攻击特征集都是基于服务器的操作和服务器所支持的应用而建立的。Stateful根据监视的网络传输内容,进行上下文比较,能够对复杂事件进行有效的分析和记录
基于SDSI技术的NetProwler工作过程如下:
第一步:SDSI虚拟处理器从网络数据中获取当今的数据包;
第二步:把获取的数据包放入属于当前用户或应用会话的状态缓冲中;
第三步:从特别为优化服务器性能的特征缓冲中执行攻击特征;
第四步:当检测到某种攻击时,处理器立即触发响应模块,以执行相应的响应措施。
(3)NetProwler工作模式
因为是网络型IDS,所以NetProwler根据不同的网络结构,其数据采集部分(即代理)有多种不同的连接形式:如果网段用总线式的集线器相连,则可将其简单的接在集线器的一个端口上即可。
(4)系统安装要求
用户将NetProwler Agent安装在一台专门的Windows NT工作站上,如果NetProwler和其他应用程序运行在同一台主机上,则两个程序的性能都将受到严重影响。网络入侵检测系统占用大量的资源,因此制造商一般推荐使用专门的系统运行驱动引擎,要求它128M RAM和主频为400MHz的Intel Pentium II或Pentium