审计作业体系 (审计作业体系 的重要 功能有体系 管理吗)〔审计作业软件应该有哪些基本功能〕

  2.3函数实现机制2.3.1.审计消息的天生 和发送函数2.3.1.1 根本 数据布局

  内核审计体系 将审计消息写入审计缓冲区audit_buffer,由于审计信息是通过netlink 机制发往用户空间背景 进程 的 ,因此,审计缓冲区包罗 了对布局 sk_buff 形貌 的netlink套接字缓冲区,netlink套接字缓冲区用来存储用于发送的审计消息记录 。

  审计缓冲区的数据布局 界说 如下:

  struct audit_buffer {

  struct list_head list;

  struct sk_buff *skb; //格式化的netlink套接字缓冲区,预备 用于发送审计消息

  /*每个进程 的审计上下文,包罗 进程 的状态、时间和 uid 等 ,与进程 上下文相干 ,可以为空 */

  struct audit_context *ctx;

  Gfp_t gfp_mask; //为缓冲区分配内存所利用 的标识,如:__GFP_WAIT

  };

  该布局 如图2-5所示 。

  

审计作业系统(审计作业系统的主要功能有系统管理吗) 审计作业体系
(审计作业体系
的重要
功能有体系
管理吗)〔审计作业软件应该有哪些基本功能〕 新闻资讯

图2-5 audit_buffer布局

  审计netlink套接字缓冲区skb构成 链表 ,用于存入添补 了审计消息的审计netlink套接字缓冲区指针,链表界说 如下(在 linux/kernle/audit.c 中):

  static struct sk_buff_head audit_skb_queue ;

  审计netlink套接字缓冲区链表用于存入审计消息,当链表中的缓冲区个数高出 上限时,当进步 程 必要 等待 用户空间的背景 进程 将审计消息写入 log 文件,直到缓冲区个数小于上限值为止。别的 ,内核审计体系 还利用 空闲审计缓冲区链表 audit_freelist 存放空闲的审计缓冲区,存放的个数上限为 AUDIT_MAXFREE。如许 ,维持肯定 命 据的空闲缓冲区数,对于频仍 操纵 的审计体系 来说 ,,可以镌汰 缓冲区的分配与开释 次数,进步 体系 性能 。空闲审计缓冲区链表的界说 列出如下:

  #define AUDIT_MAXFREE (2*NR_CPUS)

  static LIST_HEAD(audit_freelist);

  在 Linux 内核必要 输出审计信息时,先调用函数 audit_log_start 创建缓冲区。接着 ,调用函数 audit_log 或 audit_log_format 写缓冲区写入审计信息,末了 调用函数audit_log_end 发送审计信息,并开释 缓冲区。这三个函数分别分析如2.3.1.1-2.3.1.3节所述 。

  2.3.1.1分析函数audit_log_start

  1.audit_log_start接口功能阐明

  函数名:Audit_log_start

  参数:ctx为审计上下文实例 ,gfp_mask为分配内存的范例 ,type为审计消息的范例 。

  返回值:假如 审计缓冲区申请乐成 ,返回审计缓冲区的指针 ,否则返回 NULL。

  功能:创建一个用于存放格式化审计消息的审计缓冲区 。

  2.函数分析

  函数 audit_log_start 申请审计缓冲区,当审计缓冲区链表的缓冲区个数高出 上限时,当进步 程 必要 等待 用户空间的背景 进程 将审计消息写入 log 文件 ,直到缓冲区个数小于上限值为止。函数 audit_log_start 在申请并初始化审计缓冲区后,给缓冲区加时间戳和审计记录 序列号。该函数的处理 惩罚 流程如图2-6所示。

  

图2-6 audit_log_start的流程图

  2.3.1.2分析函数audit_log_format

  1.audit_log_format接口功能阐明

  函数名:Audit_log_format

  参数:ab为审计缓冲区实例,fmt为格式化的字符串 。

  返回值:无。

  功能:格式化一个审计消息并放入审计缓冲区.

  2.函数分析

  该函数重要 调用audit_log_vformat函数,audit_log_vformat起首 查抄 netlink套接字缓冲区是否由充足 的空间 ,假如 空间不敷 ,则扩充缓冲区的空间,由于 printk一次打印的字节数最大为1024个字节 ,以是 这里扩充的空间就是1024个字节;然后,利用 vsnprintf函数向缓冲区写入审计消息的格式化字符串,audit_log_vforma的流程图如下图所示:

  图2-7 audit_log_vformat的流程图

  赞赏

审计作业系统(审计作业系统的主要功能有系统管理吗) 审计作业体系
(审计作业体系
的重要
功能有体系
管理吗)〔审计作业软件应该有哪些基本功能〕 新闻资讯

  人赞赏