SNARE系统入侵分析和报告工具
1.简介
在长期的对对Sun Microsystems Solaris、Microsoft Windows NT/2000、Novell Netware、IBM AIX和 IBM MVS (ACF2 and RACF)等系统平台的日志审计和入侵检测过程中,InterSect Alliance的团队积累了丰富的经验。这个团队在IT安全工具、商业领域的运作等方面也具有丰富的经验。通过这些经验我们知道了如何有效地配置主机和 网络入侵检测系统,从而加强各个组织的商业安全,这些思想都是独一无二的。(能够把自己的成果与人分享多么令人尊敬,虽然有点自吹自擂的味道。^_^)
我们认为,在很长一段时间内有一个重要的因素妨碍了Linux操作系统更为广泛地应用,尤其是在对安全要求教高的组织内应用,这个因素就是 Linux操作系统缺乏基于主机的入侵检测能力。也即使说,一个内部的系统事件审计或者事件日志的功能。然而,我们承认把审计/事件日志能力直接放到内核 智能造成内核的臃肿。而有些情况下,根本不会用到这种功能。
最近,在提交的Linux 2.5内核中,把模块化安全延伸(modular security extension)放到Linux内核,受到这个消息的鼓舞,InterSect Alliance发布了一个动态加载模块来实现基本的主机入侵检测系统和Linux的C2风格的审计/事件日志能力。如果想使用这个动态加载模块需要重新 编译内核。这就是SNARE(System iNtrusion Analysis & Reporting Environment)工程。InterSect Alliance使用GPL作为SNARE的许可证。
2.SNARE综述
总体上,SNARE由三部分组成:
- 内核动态加载模块auditmodule.o。
- 在用户空间运行的审计监控程序auditd。
- 图形截面的配置和报告工具snare。
auditmodule包装(wrap)了一些比较危险的系统调用,例如:execve、open、mkdir,它把这些系统调用放到一个信息 收集的例程,收集进程和用户执行的一些有疑问的系统调用信息。接着,这个模块把获得的信息放到一个临时缓冲区,用户空间的监控程序auditd从这个缓冲 区可以获得这些信息。
用户空间的监控程序auditd通过/dev/audit设备获得auditmodule模块收集的信息,把这些二进制审计数据转换为文本格式 的数据,并使用一系列标记对信息进行分割。除此之外,为了方便后续的处理,还需要使用三个域分割符:TABS分割标记;COMMAS分割每个标记中的数 据;SPACES分割数据中的元素。原始的事件经过auditd的处理后,看起来这样:
objective,clear,Mon Aug 6 19:43:25 2001,The program /usr/bin/gimp has been
executed by the user leigh event,execve(),Mon Aug 6 19:43:25 2001
user,leigh(500),users(500),leigh(500),users(500) process,1651,sh
path,/usr/bin/gimp arguments,gimp return,0
但是即使是这样的格式,对于普通用户来说也非常难以理解。因此SNARE提供一个用于日志分析的图形前端snare。通过这个图形前端可以容易地进行事件日志参数的配置和事件的显示。下面就是一个snare主窗口的屏幕快照。
SNARE的开发平台是Linux2.4版内核,通过重新编译,可以运行于任何打开内核模块支持的Linux内核。为了方便用户的使用,SNARE工程组提供了一些针对当前主流厂商二进制发布,包括:RedHat、SuSe和Debian。
3.SNARE的安装、删除和使用
3.1.安装RPM包
通过RPM软件包来安装SNARE非常容易,SNARE的RPM发布由四个文件组成,这三个文件是:
- snare-core-0.8-1.i386.rpm
- snare-0.8-1.i386.rpm
- snare-core-0.8-1.src.rpm
- snare-0.8-1.src.rpm
包括安装auditmodule和SNARE内核审计组件必须的二进制文件。这个包可以单独安装,不过为了方便应用还是建议安装snare图形 界面。注意这个包中的内核模块是针对RedHat-7.1默认的内核版本(2.4.2),如果你使用其它版本的内核需要重新编译。
只包括snare图形前端。这个包需要snare-core-0.8-1.i386.rpm,否则根本无法使用。
包括snare-core的源代码。
snare图形前端的源代码。
你可以根据自己的情况下载需要的软件包,如果使用的是RedHat7.1默认的内核,只要按照以下步骤进行安装,运行就可以了。
以roo用户登录
#rpm -ihv snare-core-0.8-1.i386.rpm snare-0.8-1.i386.rpm
#/etc/init.d/auditd start
如果你使用的内核不是RedHat 7.1默认的内核,在执行以上命令之前,需要使用源代码RPM包重新构造RPM包:
#rpm -rebuild snare-core-0.8-1.src.rpm
手工安装
如果你不能使用RPM,就需要从使用源代码压缩包安装。首先,下载snare-core-0.8-1.tar.gz和snare-0.8.tar.gz文件,将其解压。然后分别按照如下步骤进行安装:
snare-core
#make clean
#make
#make install
图形前端
#./autogen.sh
#make
#make install
#cp snare-icon.png /usr/share/pixmaps
#cp snare.desktop /usr/share/gnome/apps/System
#cp snare.desktop /usr/share/gnome/ximian/Programs/Utilities
#cp Snare.kdelnk /usr/share/applnk/System
运行SNARE
安装完成后,使用Ximian、KDE和Gnome的用户可以从菜单启动SNARE的图形前端snare。对于Ximian,snare菜单项 的位置是:Programs->Utilities->Snare - Event Logging;对于GNOME,snare菜单项的位置是:Programs->System->Snare ->Event Logging;在KDE中,SNARE菜单项位于系统菜单内。如果看不到这些菜单项,只要输入snare命令就可以通过命令行方式启动SNARE图形前 端。如果没有安装图形前端,你需要手工配置审计配置文件。
通过NFS输出snare日志目录(默认是/var/log/audit),在远程的图形前端上也可以查看本地事件日志。不过,远程图形前端不能控制本地的监控进程auditd。
4.审计配置
SNARE的审计配置文件是/etc/audit/audit.conf。这个文件保存了auditd监控程序所需的所有配置选项。配置文件的 错误不会使auditd终止,只会造成分析结果无法阅读。注意:手工编辑/etc/audit/audit.con文件时一定要小心,而且如果手工配置之 后,又通过图形前端修改配置,原来手工配置的结果就会被覆盖。
全文请看 http://www.linux-cn.com/html/linux/system/20070505/27932.html