1.1 审计基础知识

在系统中发生的任何系统安全性状态的更改、系统访问控制或安全策略的更改等事件为可审计的事件。审计报告的信息包含可审计事件的名称、责任用户、时间、事件的成功与失败,以及任何跟安全性审计有关的特定事件的信息。
系统上的可审计事件设置定义了可审计的事件以及审计的粒度。用来定义可审计事件的详细信息级别必须在非足够详细信息(使管理员难于理解选定的信息)和足够详细信息(导致过多的信息收集)间维持平衡。
审计的目的是检测可能有损系统安全性的活动,以下活动是审计的对象:
1、在可信计算库里从事活动
2、认证用户
3、访问系统
4、更改系统配置
5、绕过审计系统
6、初始化系统
7、安装程序
8、修改帐户
9、把信息传入到系统或从系统传出
审计系统没有要审计事件的缺省设置。必须根据您的需要选择事件或事件类。系统审计事件列在系统的 /etc/security/audit/events 文件中,需要添加事件到 /etc/security/audit/config 文件中的相应类。在选定审计事件后,必须把相似事件并到审计类,然后分配审计类给用户然后分配审计类给用户。
 
审计过程子系统有一个表示审计过程子系统是否打开的全局状态变量。每个进程有一个表示审计过程子系统是否应该记录此进程信息的本地状态变量。这两种变量确定了是否用可信计算库(TCB)和程序来检测事件。每个审计记录都有审计报头来标识审计事件用户和进程以及事件发生的时间。检测事件的代码提供事件类型并返回状态以及可选的事件信息,如拒绝访问的文件或在失败的登录试图中使用的 tty。审计记录由公共报头、跟有指定记录的审计事件的审计跟踪构成。在 /usr/include/sys/audit.h 文件中定义报头的结构。审计跟踪中的信息格式对于每个基本事件是特定的,并显示在 /etc/security/audit/events 文件中。例如,当 login 命令检测到失败登录时,它记录在其发生的终端上的指定事件并使用 auditlog 子例程将记录写入审计跟踪。审计日志程序内核组件记录指定主题信息(用户标识、进程标识、时间)到报头并追加其到另外的信息。
审计日志程序负责构造完整的审计记录。必须选择想要记录的审计事件。要有效地选择进程事件,系统管理员可以定义审计类。审计类是系统中的基本审计事件的子集。审计类提供基本审计事件方便的逻辑分组。操作系统提供通过名称访问对象的审计,另外可以指定审计方式,以便只记录指定方式(读/写/执行)的访问。审计记录查阅
可用auditselectauditpr auditmerge 命令用来处理审计记录。auditselect 可用来用类似 SQL 的语句仅选择特定的审计记录。例如,要只选择由用户 afx 生成的 exec() 事件,则请输入以下内容:
auditselect -e "login==afx && event==PROC_Execute"
auditpr 用于将二进制审计记录转换成人类可读的格式。所显示的信息量取决于在命令行中指定的标志。要获取所有可用的信息,请如下所示运行 auditpr 命令:
auditpr -v -hhelrtRpPTc
当指定了 -v 标志时,除了内核为每个事件而发出标准审计信息外,还显示特定于事件的字符串的审计跟踪(请参阅 /etc/security/audit/events 文件)。
auditmerge 用来合并二进制审计跟踪。这在需要联接几个系统的审计跟踪时特别有用。auditmerge 命令获取命令行中跟踪的名称并将合并的二进制跟踪发送到标准输出,因此仍需要使用 auditpr 命令来使之可读。例如,auditmerge auditptr 命令可以运行如下:
auditmerge trail.system1 trail.system2 | auditpr -v -hhelrRtpc