SWATCH (The Simple WATCHer and filer) 是Todd Atkins开发的用于实时监视日志的PERL程序。Swatch利用指定的触发器监视日志记录,当日志记录符合触发器条件时,swatch会按预先定义好的方式通知系统管理员。 Swatch非常容易安装。它是一个PERL程序,无需编译。Swatch有一个很有用的安装脚本,将所有的库文件、手册页和PERL文件复制到相应目录下。安装完成后,只要创建一个配置文件,就可以运行程序了。Swatch的下载网址,最新的版本为3.0.1 。下载后也放到了/backup目录。 4.1 安装 以root用户身份登录, [root@only_you /root]# tar zxvf /backup/swatch-3.0.1.tar.gz [root@only_you /root]# cd swatch-3.0.1 现在的版本需要perl 5和Time::HiRes, Date::Calc,Date::Format, file::Tail.模块,系统自带的perl可能不包括,没关系,它的安装程序会自己到网上去找。 [root@only_you swatch-3.0.1]# perl Makefile.PL 系统提示HiRes 1.12模块没有安装,询问是否安装,回答y, 接着系统提示Are you ready for manual configuration? [yes] 敲n就会自动配置,然后它自己到网上去装东西,具体在干什么我也不清楚了。装完这个又说缺别的东西,还是让它自己去装。试着执行一下./swatch,如果没有错误信息就说明安装成功了。 4.2 配置swatchrc swathrc文件的格式如下 # Bad login attempts watchfor /INVALID REPEATED INCOMPLETE/ echo bell 3 mail=only_you@linuxaid.com.cn # Machine room temperature watchfor /WizMON/ echo inverse bell watchfor后跟/pattern/, 其中的"pattern"代表一个swatch将要进行搜索匹配的正则表达式,也就是我们的触发器,下面紧跟的以“Tab”开头的是当表达式匹配时所要执行的动作,Swatch允许指定包括显示、email、呼叫或任何指定的执行文件。上面第一个watchfor的含义是找到/INVALID REPEATED INCOMPLETE/后把信息显示到屏幕上,响铃,同时向only_you@linuxaid.com.cn发MAIL。详细的正则表达式的格式请参考相应的文档。 缺省情况下,swatch认为swatchrc文件为~/.swatchrc,可以通过运行时指定参数来改变,如果未找到swatchrc文件,则使用缺省的配置 watchfor = /.*/ echo = random 4.3 测试 Swatch启动时可以带很多参数,但使用通常如下格式启动它就可以了: /usr/local/bin/swatch -c /var/log/syslogrc -t /var/log/syslog & -c参数用于指定配置文件,-t参数指定实时监视的日志文件,"&"使swatch在后台运行。启动后,swatch产生子进程,因此swatch是以两个进程运行的,在停止swatch时必须杀掉两个进程。 -t参数是用tail Cf filename,从文件的末尾开始查找,如果想查找整个文件,则应该使用-f filename。 现在让我们来实验一下,在swatch程序所在的目录下建立swatchrc文件,内容如下: watchfor = /FAILED/ echo=random 执行./swatch Cc swatchrc Cf /var/log/authlog,所有登录失败的记录就会显示出来,并且还用不同的颜色来显示。 Apr 26 17:43:34 only_you login[2344]: FAILED LOGIN 1 FROM cjm FOR dsf, Authentication failure Apr 27 09:55:50 only_you login[932]: FAILED LOGIN 1 FROM (null) FOR root, Authentication failure 5.总结 日志是很强大的工具,然而它的大量数据也很容易淹没我们。如果我们没有足够的时间去检查数以兆计的数据时,很可能会忽略那些有用的资料。日志自动检测系统可以帮助我们解决这个问题。这些自动检测系统将我们所需要的信息实时地通知我们。希望本文能对如何定制你自己的日志文件自动检测系统有一定的帮助。(完)
入侵检测之日志检测
4.swatch