snort日志分析和管理工具.doc_第1页
snort日志分析和管理工具.doc_第2页
snort日志分析和管理工具.doc_第3页
snort日志分析和管理工具.doc_第4页
snort日志分析和管理工具.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

snort日志分析和管理工具2001年08月20日13:57:03简介1.什么是入侵检测2.什么是snort3.什么是日志分析4.snort的日志格式4.1.基于文本的格式4.2.tcpdump格式4.3.数据库5.工具5.1.管理基于文本日志的工具5.2.基于tcpdump日志文件的分析工具5.3.数据库分析工具总结参考简介snort是一个轻量级的网络入侵检测系统,它可以记录所有可能的入侵企图。记录信息的文件可以是文本、XML、libpcap格式,也可以把把信息记录到syslog或者数据库。本文将介绍一些用于snort日志管理的工具。不过,本文无法囊括所有的分析工具。因为snort作为一个自由、健壮的入侵检测系统,受到很多人的关注,因此针对它开发的工具层出不穷。本文将介绍的工具主要针对三种输出格式:文本、libpcap(也就是tcpdump格式)和数据库。我们将主要介绍这些工具的安装和功能。1.什么是入侵检测入侵检测就是一个监视计算机系统或者网络上发生的事件,然后对其进行安全分析的过程。大多数的入侵检测系统都可以被归入到基于网络、基于主机以及分布式三类。基于网络的入侵检测系统能够监视网络数据发现入侵或者攻击的蛛丝马迹;基于主机的入侵检测系统能够监视针对主机的活动(用户的命令、登录/退出过程,使用的数据等等),以此来判断入侵企图;分布式IDS通过分布于各个节点的传感器或者代理对整个网络和主机环境进行监视,中心监视平台收集来自各个节点的信息监视这个网络流动的数据和入侵企图。各种入侵检测系统使用的检测方法可以分为两类:基于特征码的检测方法和异常检测。使用基于特征码检测方法的系统从网络获得数据,然后从中发现以知的攻击特征。例如:在某些URL中包含一些奇怪的Unicode编码字符就是针对IIS Unicode缺陷的攻击特征。此外各种模式匹配技术的应用,提高了这种检测方法的精确性。使用异常检测的系统能够把获得的数据与一个基准进行比较,检测这些数据是否异常。例如:如果一个雇员的工作时间是上9点到下午5点,但是在某个晚上他的计算机记录了他曾经在半夜登录了公司的邮件服务器,这就是一个异常事件,需要深入调查。现在,大量的统计学方法用于这个领域。2.什么是snortsnort是一个基于libpcap的轻量级网络入侵检测系统。它运行在一个“传感器(sensor)”主机上,监听网络数据。这台机器可能是一台简陋的运行FreeBSD系统的Pentium100 PC,并且至少有一个网卡。不过建议使用最好的机器作为进行入侵检测的主机。snort能够把网络数据和规则集进行模式匹配,从而检测可能的入侵企图;或者使用SPADE插件,使用统计学方法对网络数据进行异常检测。snort使用一种易于扩展的模块化体系结构,感兴趣的开发人员可以加入自己编写的模块来扩展snort的功能。这些模块包括:HTTP解码插件、TCP数据流重组插件、端口扫描检测插件、FLEXRESP插件以及各种日志输入插件等。snort还是一个自由、简洁、快速、易于扩展的入侵检测系统,已经被移植到了各种UNIX平台和WinY2K上。同时,它也是目前安全领域中,最活跃的开放源码工程之一。snort还是昂贵的商业入侵检测系统最好的替代产品之一。3.什么是日志分析入侵检测系统(例如:snort)安装成功后,并不表示一切都万事大吉了,你还有许多事情要做。snort启动后,它会在的硬盘上记录大量的报警信息。因此,你需要工具对日志或者报警文件进行分析。不同你的需要和安全形势,要求你使用不同的工具。你可能只要一个日志汇总,或者你的经理要求你提供一个最近15次攻击的报告。还有,对于某个报警你可能需要获取更多的信息,以便做进一步的研究。不管是出于什么目的,日志分析可以帮助你从日志中获取有用的信息,使你可以针对攻击威胁采取必要措施。4.snort的日志格式你可以通过修改配置文件来设置snort的报警形式。基于文本的格式、libpcap格式和数据库是snort最重要的三种报警形式。本文中,我将主要对每种报警形式及其配置进行介绍,然后我将针对这些数据格式介绍一些分析工具。4.1.基于文本的格式报警文件如果在启动snort时,你使用了-A fast|full|none选项,snort就会把报警信息保存到一个文件中。例如:* INFO - ICQ Access *Classification: content:MKD / Priority: 005/10-10:02:31.953089 .:54835 - :80TCP TTL:127 TOS:0x0 ID:13690 IpLen:20 DgmLen:482 DF*AP* Seq: 0x112BDD12 Ack: 0x11B38D8A Win: 0x4510TcpLen: 20其中,Classification: content:MKD / Priority: 0是报警的分类和优先级,这是snort 1.8beta版开始加入的新特征。syslog文件取消snort.conf文件中以下几行的注释,可以使snort向系统日志文件中日志数据:output alert_syslog: LOG_AUTH LOG_ALERT输出格式如下:May 10 00:03:38 xxxxxx snort: INFO - ICQ Access Classification:content:MKD / Priority: 0: :54352 - :80CSV文件Brian Caswell为snort编写了CSV输出插件。通过这个插件,snort可以使用CSV格式记录数据。它的配置非常容易,只要在snort.conf文件中加入以下的配置行:output CSV: /your/filename timestamp,msg,proto,src,dst然后,这个输出插件就会向/your/filenames文件输出如下格式的信息:05/10-10:02:31.953089, INFO - ICQ Access, TCP,,你可以使用默认配置选项default,而勿需指定任何域。在配置文件中,你可以使用复合CSV输出,建立多个输出文件,在每个文件中记录需要记录的域。XML格式snort的XML输出插件是Jed Pickel和Roman Danyliw开发的,是AIRCERT(Automated Incident-Reporting)工程的一个组成部分。snort使用这个插件可以把日志数据或者报警信息以XML格式保存到本地文件和输出到一个中心数据库,或者发送到CERT进行处理。这些数据使用SNML格式,SNML是简单网络标记语言(Simple Network Markup Language)或者snort标记语言(SNort Markup Language)的缩写。你可以从/kb/snortxml获得更为详细的信息。XML输出插件支持HTTP、HTTPS和IAP(入侵报警协议,Intrusion Alert Protocol)协议。它的数据可以使用HEX、BASE64或者ASCII编码。下面是XML输出插件的配置示例:output xml: log, file=/var/log/snort/snortxml这一配置行使snort把产生的日志信息输出到以/var/log/snort/snortxml-MMDDHHMM命名的文件中,其中MMDD是月、日,HHMM是时、分。output xml: alert,protocol=https host= file=yourfile cert=mycert.crt key=mykey.pem ca=ca.crt server=srv_list.lst这一配置行使snort使用HTTPS协议把产生的输出送到远程服务器的文件yourfile。cert、key、ca与SSL有关。server参数可以设置连接的服务器列表。下面是一个输出示例:RPC portmap listing2001-05-09 19:43:05+005A97E73C0000000000000002000186A000000002000000040000000000000000000000004.2.tcpdump格式报文捕获库(libcap)是Lawrence Berkeley National实验室的网络研究小组开发的,应用非常广泛,许多的报文捕获程序都是基于这个库的,例如:tcpdump和snort。在snort.conf文件中加入下面的配置行,你就能够把日志以tcpdump二进制格式记录到指定的文件中:output log_tcpdump: snort_dump.log然后,你可以使用snort或者tcpdump从这个文件中读取信息。4.3.数据库早在2000年3月Jed Pickel就为snort编写了数据库输出插件,这个插件支持MySQL、PostgreSQL、unixODBS和Oracle数据库。在snort.conf文件中加入:output database: log, mysql, user=snortuser password=snortpass dbname=snortdb host=localhost就可以使snort把日志数据输出到名为snortdb的MySQL数据库中,这个数据库位于本地主机,用户名为snortuser,验证密码是snortpass。针对不同的数据库系统,mysql可以改为postgresql、unixodbc或者oracle。在使用数据库之前,需要做建立数据库和用户/密码等准备工作。还要为用户这是适当的权限,然后使用contrib目录下的create_mysql、create_postgresql、create_oracle.sql建立数据库的表。5.工具在本节中,我将介绍一些用于snort日志分析的工具,这些工具也是按照上一节那样分类。这里将主要讲述它们的功能以及如何使用。5.1.管理基于文本日志的工具snort_stat是本文作者(Yen-Ming Chen)与1999年写的一个perl脚本,可以周期性地产生snort日志文件的统计结果。这个脚本可以产生如下信息:具有同样特征码的源/目的对的数量具有相同源/目的对的特征码的数量具有相同源地址和特征码的企图的数量具有相同特征码的目的地址的数量特征码分布portscan和SPADE插件的日志这个脚本能够能够周期性给系统管理者发送email或者把产生的信息保存为HTML格式的文件。在/etc/crontab文件中加入以下条目,就可以实现上述功能:59 23 * * * root cat /your/snort/logfile |/your/snort_stat.pl -r | sendmail someonesomewhere这样,snort_stat.pl脚本就能够在每天晚上11:59解析/your/snort/logfile,然后把结果发给someonesomewhere。使用-h选项可以产生HTML输出。这个脚本的下载地址在:/snort/你还可以从下面地址得到一个HTML输出的例子:/snort/example.html这个脚本的最新版本是1.15。作者将针对snort1.8对其进行改进。SnortSnarf这也是一个perl脚本,可以处理snort的日志文件然后产生HTML格式的输出,帮助你分析snort日志,发现可能的攻击威胁。SnortSnarf的输出包括可以进行WHOIS和DNS查询的连接。你也能够发现向特定IP地址的攻击。除了日志分析之外,SnortSnarf还有其它的功能。有一个nmap2html脚本能够从日志文件中抽取nmap端口扫描的报警信息,将其保存为HTML页面。最新的版本加入了SISR(SnortSnarf Incident Storage and Reporting mechanism)机制。使用这项功能你可以方便地建立和保存事件报告或者通过email发送事件报告。你可以从以下地址下载SnortSnarf:/software/snortsnarf/index.htm使用SnortSnarf需要Time:JulianDay模块,这个Perl模块包含在SnortSnarf压缩包中。完成SnortSnarf的安装之后(具体的安装步骤可以参考README文档),你需要为HTML格式机的输出文件准备一个目录,接着运行如下命令:snortsnarf.pl -d /where/is/html/output /var/log/messages /var/log/snort/alert这个命令将使SnortSnarf解析/var/log/messages和/var/log/snort/alert文件,把产生的HTML格式文件输出到/where/is/html/output目录。SnortSnarf还有其它的选项,用户可以参考其README文档了解这些选项的用法。从以下地址可以得到一个SnortSnarf的输出示例:/software/snortsnarf/example/index.htmlsnort-sort这个perl脚本的编者是Andrew R. Baker,它能够为snort报警进行排序。从snort源代码的contrib目录下,你可以找到这个脚本。它能够进行反向DNS查询,并且能够对每个IP地址进行WHOIS查询。目前这个脚本无法处理snort1.8版的报警(作者完成本文时)。只要使用以下命令就可以了:snort-sort.pl /your/alert/file result.html然后,你就可以使用浏览器查看result.html。snort2html是Daniel Swan编写的perl脚本,能够把snort记录到syslog文件中的报警信息抽取出来,转换为HTML格式。从Max Vision的ArchNIDS数据库中,你可以获得更多关于特征码的信息。这个脚本不能进行日志分析,同样也不能处理snort1.8版的报警格式。使用时,你需要改变$logfile和$outputfile两个变量,然后在/etc/crontab文件中加入一个条目,周期性执行这个脚本。snort2html没有命令选项。snortlog这个perl脚本的作者Angelos Karageorgiou,它的功能类似于snort-sort和snort2html。也是把snort报警文件转换为HTML页面。用法如下:Snortlog.pl /var/log/snort/alert machinename它目前也不能处理snort1.8版报警格式。下载地址在/sniffers/snort/snortlog.plARIS ExtractorARIS基于攻击登记和智能服务(Attack Registry and Intelligence Service)。这是推出的一项免费安全服务,它能够提供IDS和防火墙日志的广泛关联。ARIS Extractor程序能够从你的snort日志中提取信息,然后以XML格式送到SecurityFocus的ARIS数据库做深入分析。要使用这项服务,你首先要在注册,获得一个用户名和密码。他们会对对数据进行安全处理,以保护你的隐私,不过为了进行关联处理不可避免地要泄露你的某些信息。通过这种方式,他们可以建立一个世界范围的数据库,在宏观层进行攻击趋势分析。你可以从/获得更多细节。5.2.基于tcpdump日志文件的分析工具目前还没有专门用于snort的分析工具,不过,你可以使用tcpreplay和tcpshow等工具,查看日志信息。5.3.数据库分析工具ACIDACID是入侵数据库分析控制台(Analysis Console for Intrusion Databases)的缩写。编者Roman Danyliw,是一个基于PHP的分析引擎。主页:/kb/acid/ACID具有搜索、分组、维护和图示数据库的数据。这些数据既可以是snort的日志/报警,也可以是其它防火墙产品产生的信息,例如ipchains。它能够现实各种统计数据,包括:按照协议划分报文Unique alerts最近/最频繁的报警最频繁出现的地址ACID也提供了一个IP地址的whois查询连接。你可以使用它为数据分组和从数据库删除报警。如果想使用ACID你还需要AD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论