当前位置:Linux教程 - Linux综合 - SNARE-系统入侵分析和报告环境

SNARE-系统入侵分析和报告环境

SNARE-系统入侵分析和报告环境 来源:InterSect Alliance 编译:nixe0n 1.简介 在长期的对对Sun Microsystems Solaris、Microsoft Windows NT/2000、Novell Netware、IBM AIX和 IBM MVS (ACF2 and RACF)等系统平台的日志审计和入侵检测过程中,InterSect Alliance的团队积累了丰富的经验。这个团队在99v安全工具、商业领域的运作等方面也具有丰富的经验。通过这些经验我们知道了如何有效地配置主机和网络入侵检测系统,从而加强各个组织的商业安全,这些思想都是独一无二的。(能够把自己的成果与人分享多么令人尊敬,虽然有点自吹自擂的味道。^_^) 我们认为,在很长一段时间内有一个重要的因素妨碍了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主窗口的屏幕快照。 图.1.主窗口 SNARE的开发平台是Linux2.4版内核,通过重新编译,可以运行于任何打开内核模块支持的Linux内核。为了方便用户的使用,SNARE工程组提供了一些针对当前主流厂商二进制发布,包括:RedHat、SuSe和Debian。 3.SNARE的安装、删除和使用 安装RPM包 通过RPM软件包来安装SNARE非常容易,SNARE的RPM发布由四个文件组成,这三个文件是: snare-core-0.8-1.i386.rpm 包括安装auditmodule和SNARE内核审计组件必须的二进制文件。这个包可以单独安装,不过为了方便应用还是建议安装snare图形界面。注意这个包中的内核模块是针对RedHat-7.1默认的内核版本(2.4.2),如果你使用其它版本的内核需要重新编译。 snare-0.8-1.i386.rpm
[1] [2] [3] 下一页 

只包括snare图形前端。这个包需要snare-core-0.8-1.i386.rpm,否则根本无法使用。 snare-core-0.8-1.src.rpm 包括snare-core的源代码。 snare-0.8-1.src.rpm 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文件时一定要小心,而且如果手工配置之后,又通过图形前端修改配置,原来手工配置的结果就会被覆盖。 最简单有效的方法是通过图形前端修改审计配置。在主窗口上选择Setup -> Audit Configuration菜单,或者直接点击工具条上的按钮,可以进入审计配置界面。 审计控制(Auditing Control) 初始的审计配置参数包括: 审计报告的可信度 报告类型 日志文件的位置 这三个参数在配置窗口的第一个表(Auditing Control)中显示,如图所示: 图2.审计配置窗口-审计控制(Auditing Control)表 Linux是一个多任务分时操作系统,任何活动的进程都可能产生审计信息,因此audit内核模块必须对审计数据进行缓冲,等auditd获得进入运行状态后从缓冲区取出审计数据进行分析。如果auditd所得CPU时间不足,不能及时从缓冲区取出审计数据,就可能造成审计数据的丢失。如果用户选择了grade of auditing的C2 Style按钮,系统内核就会放慢运行产生审计数据的进程,以便auditd能够跟上审计数据产生的速度,但是这个选项会造成系统效率的下降。如果用户选择normal按钮,则可能造成审计数据的丢失。
上一页 [1] [2] [3] 下一页 

审计类型可以是原始内核事件(raw kernel events)或者对象(objective,用户定义的事件过滤器)。如果选用“原始内核事件”审计类型,会将导致选择的系统调用产生的事件被直接写入日志文件,而不经过任何的过滤。被审计的系统调用可以通过Kernel选择,如图3。这种方法更适合于C2风格的审计。 图2.kernel表 通过设置对象(objective),可以对选择的事件进行更高级的审计。用户设置的所有对象都在审计配置窗口的objective卡中列出,如图: 对象(objective) 对象(objective)为事件的选择和报告提供高层控制。事件通过一组高层条件选择,由选择的过滤器进行筛选。事件按照如下条件分组: 打开/建立一个文件/目录。 删除一个文件/目录。 启动/停止一个程序。 修改系统文件/目录的属性。 改变用户/组的标志。 登录/退出(SNARE0.8版还没有实现)。 对于每个组,都可以赋予一个危险级别。危险级别分为:ritical、priority、warning、information和clear。使用危险级别,用户可以把审计事件影射到自己推广的商业安全产品。通过SNARE图形前端,还

(出处:http://www.sheup.com)


上一页 [1] [2] [3] 

图2.kernel表 通过设置对象(objective),可以对选择的事件进行更高级的审计。用户设置的所有对象都在审计配置窗口的objective卡中列出,如图: 对象(objective) 对象(objective)为事件的选择和报告提供高层控制。事件通过一组高层条件选择,由选择的过滤器进行筛选。事件按照如下条件分组: 打开/建立一个文件/目录。 删除一个文件/目录。 启动/停止一个程序。 修改系统文件/目录的属性。 改变用户/组的标志。 登录/退出(SNARE0.8版还没有实现)。 对于每个组,都可以赋予一个危险级别。危险级别分为:ritical、priority、warning、information和clear。使用危险级别,用户可以把审计事件影射到自己推广的商业安全产品。通过SNARE图形前端,还

(出处:http://www.sheup.com/)


上一页 [1] [2] [3] [4]