入侵检测系统之日志检测详解

2008-02-23 09:41:25来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  1.概述
    
  入侵检测(Intrusion Detection),顾名思义,便是对入侵行为的发觉。它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合便是入侵检测系统(Intrusion Detection System,简称IDS)。与其他安全产品不同的是,入侵检测系统需要更多的智能,它必须可以将得到的数据进行分析,并得出有用的结果。一个合格的入侵检测系统能大大的简化管理员的工作,保证网络安全的运行。

  日志是使系统顺利运行的重要保障。它会告诉我们系统发生了什么和什么没有发生。然而,由于日志记录增加得太快了,铺天盖地的日志使系统管理员茫然无措,最终使日志成为浪费大量磁盘空间的垃圾。日志具有无可替代的价值,但不幸的是它们经常被忽略,因为系统管理员在并不充裕的时间里难以查看大量的信息。标准的日志功能不能自动过滤和检查日志记录,并提供系统管理员所需要的信息。

  对于入侵者来说,要做的第一件事就是清除入侵的痕迹。这需要入侵者获得root权限,而一旦系统日志被修改,就无法追查到攻击的情况。因此,好的系统管理员应该建立日志文件检测。有很多工具可以实现日志检测的功能,其中就有Logcheck和Swatch。本文将对Logcheck和Swatch逐一进行介绍。
  
  2.日志文件系统

  审计和日志功能对于系统来说是非常重要的,可以把感兴趣的操作都记录下来,供分析和检查。UNIX采用了syslog工具来实现此功能,如果配置正确的话,所有在主机上发生的事情都会被记录下来,不管是好的还是坏的。

  Syslog已被许多日志系统采纳,它用在许多保护措施中--任何程序都可以通过syslog记录事件。Syslog可以记录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能记录本地事件或通过网络纪录另一个主机上的事件。

  Syslog依据两个重要的文件:/sbin/syslogd(守护进程)和/etc/syslog.conf配置文件,习惯上,多数syslog信息被写到/var/adm或/var/log目录下的信息文件中(messages.*)。一个典型的syslog纪录包括生成程序的名字和一个文本信息。它还包括一个设备和一个行为级别(但不在日志中出现)。

  /etc/syslog.conf的一般格式如下

  设备.行为级别 [;设备.行为级别] 记录行为    

  设备           描述

  auth         认证系统:login、su、getty等,即询问用户名和口令

  authpriv      同LOG_AUTH,但只登录到所选择的单个用户可读的文件中

  cron         cron守护进程

  daemon       其他系统守护进程,如routed

  kern        内核产生的消息

  lpr         打印机系统:lpr、lpd

  mail        电子邮件系统

  news        网络新闻系统

  syslog       由syslogd产生的内部消息

  user        随机用户进程产生的消息

  uucp        UUCP子系统

  local0~local7   为本地使用保留

  行为级别       描述

  debug       包含调试的信息,通常旨在调试一个程序时使用

  info        情报信息

  notice       不是错误情况,但是可能需要处理

  warn(warning)   警告信息

  err(error)     错误信息

  crit        重要情况,如硬盘错误

  alert        应该被立即改正的问题,如系统数据库破坏

  emerg(panic)    紧急情况

  记录行为(举例)    描述

  /dev/console     发送消息到控制台

  /var/adm/messages  把消息写到文件/var/adm/messages

  @loghost      把消息发到其它的日志记录服务器

  fred,user1      传送消息给用户

  *         传送消息给所有的在线用户

  

  有个小命令logger为syslog系统日志文件提供一个shell命令接口,使用户能创建日志文件中的条目。用法:logger 例如:logger This is a test!  

  它将产生一个如下的syslog纪录:Apr 26 11:22:34 only_you: This is a test!

  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 file://在Linux平台下使用

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

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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:防范WinGate代理防火墙被攻击

下一篇:在Windows中密码设置的几个要点