分享
 
 
 

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

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

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'

Making linux

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

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

Setting temp directory permissions

chmod 700 /usr/local/etc/tmp

Copying files

cp ./systems/linux/logcheck.hacking /usr/local/etc file://拷贝文件到/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 file://把logtail程序拷贝到/usr/local/bin目录

Setting permissions

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

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

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

file://不同的配置文件

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(Internet 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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有