来自应用程序的自定义审计日志

来自应用程序的自定义审计日志

我正在尝试以编程方式从我编写的应用程序(C/C++)生成自定义审计日志,但目前找不到允许我这样做的库/函数。我知道 auditd 和 audit.rules,但我想要的是仅针对应用程序执行的特定操作生成审计的能力(例如,仅在应用程序计算目录大小时记录,而不记录其他任何内容)。当我在 MacOS 上进行开发时,有一个库 libbsm.h,它具有 au_open()、au_write() 和 au_close() 等函数,可以调用这些函数来生成自定义审计日志。是否有可用的库可以充当这些 libbsm 函数的等价物?或者根本没有?欢迎任何回复,并提前感谢您。

由于公司机密,我不能分享任何代码。我也没有使用任何默认的 LSM(SMACK、AppArmor、SELinux 等)。

答案1

将 BSM 审计记录提交到审计日志的命令auditfreebsd-手册页所有当前支持的 Ubuntu 版本中的软件包。

从结果来看man audit

姓名

审计— 将 BSM 审计记录提交至审计日志

概要

#包括 <bsm/audit.h>

整数
审计(const char *记录,u_int长度);

描述

审计() 系统调用向系统审计提交一份完整的 BSM 审计记录    
日志。  

record 参数是指向要记录的特定事件的指针和长度      
是要写入的数据的大小(以字节为单位)。

返回值

Upon successful completion, the value 0 is returned; otherwise the value -1   
is returned and the global variable errno is set to indicate the error.

相关内容