yunjiechen 2012-02-03
最近在读倪继利的《Linux安全体系分析与编程》,想把一些笔记发出来,这是第一篇。
Linux的日志系统主要就是syslog系统构架,其实现是内核函数printk将消息写入一个环形缓冲区中,供高层的sys_syslog系统调用读取。代码部分在linux/kernel/printk.c
相关链接:http://lxr.linux.no/linux+v3.1.6/kernel/audit.c
Linux的审核系统提供了一种记录系统安全信息的方法,为系统管理员在用户违反系统安全规则时提供及时的警告信息。内核其他线程通过内核审计API写入套接字缓冲区队列audit_skb_queue中,内核线程kauditd通过netlink机制将审计消息定向发送给用户控件的审计后台auditd的主线程,auditd主线程再通过事件队列将审计消息传给审计后台的写log文件线程,写入log文件。另一方面,审计后台还通过一个与套接字绑定的管道将审计消息发送给dispatcher应用程序。代码部分主要在 linux/kernel/audit.c
auditd在Debian里默认没有安装启动,需要通过aptitude install auditd开启。