• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

入侵检测之日志检测(2)

发布: 2007-6-23 18:14 | 作者:   | 来源:   | 查看: 22次 | 进入软件测试论坛讨论

领测软件测试网

   
  入侵检测之日志检测
    3.Logcheck

  3.1 logcheck介绍  

    Logcheck是一软件包,用来实现自动检查日志文件,以发现安全入侵和不正常的活动。Logcheck用logtail程序来记录读到的日志文件的位置,下一次运行的时候从记录下的位置开始处理新的信息。所有的源代码都是公开的,实现方法也非常简单。  

    Logcheck SHELL脚本和logtail.c程序用关键字查找的方法进行日志检测。在这儿提到的关键字就是指在日志文件中出现的关键字,会触发向系统管理员发的报警信息。Logcheck的配置文件自带了缺省的关键字,适用于大多数的*inx系统。但是最好还是自己检查一下配置文件,看看自带的关键字是否符合自己的需要。  

    Logcheck脚本是简单的SHELL程序,logtail.c程序只调用了标准的ANSI C函数。Logcheck要在cron守护进程中配置,至少要每小时运行一次。脚本用简单的grep命令来从日志文件检查不正常的活动,如果发现了就发MAIL给管理员。如果没有发现异常活动,就不会收到MAIL。  

  3.2 安装和配置logcheck  

  3.2.1 下载Logcheck  

    下载后放在/backup目录。  

  3.2.2 安装  

  以root用户身份登录,  

    [root@only_you /root]# tar zxvf /backup/logcheck-1.1.1.tar.gz

    [root@only_you /root]# cd logcheck-1.1.1

    [root@only_you logcheck-1.1.1] make linux //在Linux平台下使用

    make install SYSTYPE=linux //缺省安装目录是/usr/local/etc

    make[1]: Entering directory `/root/logcheck-1.1.1'

    Making linux

    cc -O -o ./src/logtail ./src/logtail.c

    Creating temp directory /usr/local/etc/tmp //在/usr/local/etc下创建目录tmp

    Setting temp directory permissions

    chmod 700 /usr/local/etc/tmp

    Copying files

    cp ./systems/linux/logcheck.hacking /usr/local/etc //拷贝文件到/usr/local/etc目录

    cp ./systems/linux/logcheck.violations /usr/local/etc

    cp ./systems/linux/logcheck.violations.ignore /usr/local/etc

    cp ./systems/linux/logcheck.ignore /usr/local/etc

    cp ./systems/linux/logcheck.sh /usr/local/etc

    cp ./src/logtail /usr/local/bin //把logtail程序拷贝到/usr/local/bin目录

    Setting permissions

    chmod 700 /usr/local/etc/logcheck.sh //logcheck的脚本

    chmod 700 /usr/local/bin/logtail //修改文件访问权限,确认只有root用户才能操作

    chmod 600 /usr/local/etc/logcheck.violations.ignore //不同的配置文件

    chmod 600 /usr/local/etc/logcheck.violations

    chmod 600 /usr/local/etc/logcheck.hacking

  

  3.2.3 程序文件介绍  

    logcheck.sh 主脚本文件。控制所有的处理过程,用grep命令检查日志文件,发现问题报告系统管理员。由cron定时启动。  

    logtail 记录日志文件上次处理到的位置。被logcheck程序调用,避免重复处理已处理过的日志文件。所有的日志文件都由此程序处理,在同一目录下会产生文件######.offset,其中######是检查的日志文件名。文件中记录了logtail开始处理的偏移量,如果删除掉,则从文件开始处进行处理。Logcheck跟踪日志文件的inode号和文件大小,如果inode号发生变化,或者是文件大小比上次运行时的小, logtail会重置偏移量,处理整个文件。  

    Logcheck.hacking 文件中包含了系统受到攻击时的关键字。这个文件的关键字比较稀少,除非能知道某种特定的攻击方式的特征。缺省的关键字是ISS(Inte.net Security Scanner)攻击产生的,或者是sendmail中的地址栏里的非法语法。在日志文件中找到了关键字就会给管理员发信。

    logcheck.violations 文件中包含了产生否定或拒绝信息的系统事件。如denied,refused等。
     logcheck.violations.ignore 文件中包含了要对logcheck.violations进行反向查找的关键字。

  3.2.4 配置  

    为了使logcheck运行正常,先要对syslog.conf进行配置,你应该根据自己的需要进行配置,下面给出的只是一个例子。  

    把下面的内容加到/etc/syslog.conf中  

    #记录mail,news以外的消息

    *.*;mail.none;news.none -/var/log/messages

    #记录认证请求

    auth.*;authpriv.* /var/log/authlog

    #记录所有的内核消息

    kern.* /var/log/kernlog

    #记录警告和错误消息

    *.warn;*.err /var/log/syslog  

    这四个文件/var/log/messages,/var/log/authlog,/var/log/kernlog,/var/log/syslog也就是logcheck要检查的日志文件。  

    重起syslog,[root@only_you]#/etc/rc.d/init.d/syslog restart  

    用编辑器(vi等)打开文件/usr/local/etc/logcheck.sh,在其中会找到下面的内容  

    # Linux Red Hat Version 3.x, 4.x

    $LOGTAIL /var/log/messages > $TMPDIR/check.$

    $LOGTAIL /var/log/secure >> $TMPDIR/check.$

    $LOGTAIL /var/log/maillog >> $TMPDIR/check.$  

    这是logcheck自带的内容,也就是logcheck要检查的日志文件,把它该为下面的内容,使之于syslog.conf的内容相一致:(应该根据你配置的syslog.conf进行修改)  

    $LOGTAIL /var/log/messages > $TMPDIR/check.$

    $LOGTAIL /var/log/authlog >> $TMPDIR/check.$

    $LOGTAIL /var/log/kernlog >> $TMPDIR/check.$

    $LOGTAIL /var/log/syslog >> $TMPDIR/check.$  

    还可以找到一行为 SYSADMIN=root,指的是发邮件时的收信人,缺省为root@localhost,本机的root用户,如果机器与Internet相连,也可以指定真实的帐号,我就把它改为了only_you@linuxaid.com.cn,这样就可以随时收到邮件了,不须用root帐号登录到linux机器上去。 

    在/etc/crontab中增加一项,让cron定时启动logcheck。关于cron的用法请参考相应文档。

    00,10,20,30,40,50 * * * * root /usr/local/etc/logcheck.sh  

    每10分钟运行一次。  

  3.2.5 测试  

    都配置好了,试试效果如何吧。登录一下,故意输错口令,看看有什么事情发生。10分钟以后,我的only_you@linuxaid.com.cn信箱真的收到了一封信,信的内容大致如下:  

    Apr 26 13:51:13 only_you -- wap[1068]: LOGIN ON pts/1 BY wap FROM *.*.*.*

    Apr 26 13:51:24 only_you PAM_unix[1092]: authentication failure; wap(uid=500) -> root for system-auth service  

    刚装好不长时间,logcheck就报告有人试图登录到我的机器上来,不知道这位IP为211.69.197.1的朋友想干什么。  

    Security Violations

    =-=-=-=-=-=-=-=-=-=

    Apr 26 15:30:53 only_you xinetd[528]: refused connect from 211.69.197.1

    Apr 26 15:30:53 only_you xinetd[528]: refused connect from 211.69.197.1

    Unusual System Events

    =-=-=-=-=-=-=-=-=-=-=

    Apr 26 15:30:53 only_you xinetd[528]: refused connect from 211.69.197.1

    Apr 26 15:30:53 only_you xinetd[528]: refused connect from 211.69.197.1

    Apr 26 15:30:53 only_you xinetd[528]: FAIL: ftp libwrap from=211.69.197.1

    Apr 26 15:40:00 only_you CROND[1388]: (root) CMD (/usr/local/etc/logcheck.sh)

    Apr 26 15:40:00 only_you CROND[1388]: (root) CMD (/usr/local/etc/logcheck.sh)

    Apr 26 15:40:00 only_you CROND[1390]: (root) CMD ( /sbin/rmmod -as)

    Apr 26 15:40:00 only_you CROND[1390]: (root) CMD ( /sbin/rmmod -as)

    Apr 26 15:30:53 only_you xinetd[528]: FAIL: ftp libwrap from=211.69.197.1

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网