一条audit日志信息的分析

内核版本:2.6.30-rc5
以下是用”demsg|tail“命令抓取的一段信息:

[ 8260.568539] type=1804 audit(1242187887.213:4345): integrity: pid=13112 uid=1000 auid=4294967295 ses=4294967295 op=invalid_pcr cause=open_writers comm=”cc1″ name=”prefetch.h” dev=sda4 ino=2968641 res=0

分析如下:

type=1804:审计类型号,在审计中将审计分了类别,1800~1899 kernel integrity events( 整数标签和相关事件)。
该分类在include/linux/audit.h定义并且附有详细的说明。

audit(1242187887.213:4345):

integrity:

pid=13112 uid=1000 :进程PID和用户UID

auid=4294967295 :审计会话ID

ses=4294967295 :会话ID

op=invalid_pcr :操作类型

cause=open_writers :原由

comm=”cc1″ :执行进程的程序名称

name=”prefetch.h” :所操作的文件

dev=sda4 :所在硬盘设备

ino=2968641 :文件系统中节点号

res=0

另外audit还可以记录的数据项还有:
ssid:
obj:
opid=%d oauid=%d ouid=%d oses=%d
subj=%s
list=%d res=%d
key=
name=
netif:网络接口
src=
dst=
dst_prefixlen
subj
。。。。

这些数据的记录都是由audit_log_format(ab,fmt….)这个函数来完成的。
函数原型为:void audit_log_format(struct audit_buffer *ab, const char *fmt, …)
这个函数中起主要作用的是这个函数:audit_log_vformat(ab, fmt, args);
这个函数是将审计信息格式化保存到audit_buffer中,如果空间不够它会继续申请。
申请到printk缓冲区大小为止。

感觉有意思?来鼓励一下!
打赏黑光技术

Leave a Reply

Your email address will not be published. Required fields are marked *