启动器 产品 Bitnami 文档imaxe CLI 博客 联系
imaxe audit 审计 v1.0.0

系统审计,用清晰的语言呈现

用可读的命令查询 auditd 事件并管理 CIS 审计规则——无需记忆 auditctlausearch 的语法。一眼看清谁登录了、动了什么,以及加载了哪些规则。

$ imaxe audit events --since today
版本
v1.0.0
子命令
6
配置
/etc/imaxe/audit.yml
需要 root
引擎
auditd · auditctl

该模块的功能 #

auditd 是 Linux 内核的审计子系统:它记录谁登录、谁使用了 sudo、哪些敏感文件被修改,以及执行了哪些系统调用。它是几乎所有合规要求(CIS、PCI、ISO)的基础。问题在于它的原生工具——auditctlausearchaureport——语法生硬且不够友好。

audit 模块在其上覆盖了一层可读的界面:它一眼告诉你 auditd 是否活跃且已加载规则,按时间或按规则 key 过滤列出近期事件,给你一份报表式摘要(登录、sudo/认证以及文件变更),并让你查询当前生效的 CIS 审计规则——这一切都无需你记住每个工具的标志。

开始之前

auditd 的规则通常以 immutable(不可变)模式加载,直到下次重启前都被锁定,以防有人在运行中将其停用。因此,当某项变更需要重启时,reload 会提示你,而不是强行应用。

快速指南逐步任务

常见任务 #

选择你想做的事。每份配方都附有写好的命令——复制它,需要时调整,再点击复制

1

检查审计是否已启用

确认 auditd 正在运行、规则已加载且无积压。

ubuntu 用户通过 SSH 连接到你的服务器并运行:

终端
$ sudo imaxe audit status

需要把输出用于脚本或面板?添加 --json

终端
$ sudo imaxe audit status --json
你会看到 auditd 是否活跃、加载了多少条规则、模式是否为 immutable,以及积压是否正常。
2

查看近期事件

查询发生了什么,按时间或按规则 key 过滤。

以可读摘要列出今天的事件:

终端
$ sudo imaxe audit events --since today

只想要某条具体规则(按其 key)的事件并以 JSON 输出?组合 --key--json

终端
$ sudo imaxe audit events --key identity --json
你无需记住 ausearch 的语法即可获得过滤后的事件。如果不传 --since,则使用 audit.yml 中的默认时间窗口。
3

导出当天的摘要

一份 aureport 式的报表:登录、sudo/认证以及文件变更。

请求聚合的活动摘要:

终端
$ sudo imaxe audit summary
一眼看清记录了多少次登录、多少次 sudo 使用以及多少次文件修改。
4

查看或重新加载规则

查询生效的规则,并在遵守 immutable 的前提下应用变更。

列出当前已加载的审计规则(等同于 auditctl -l):

终端
$ sudo imaxe audit rules list

如果你编辑了规则文件,就重新加载它们。如果系统处于 immutable 模式,该命令会提示你需要重启:

终端
$ sudo imaxe audit rules list --json
$ sudo imaxe audit reload
你会确切知道哪些规则正在监视系统,并且能够在不误关保护的情况下应用变更。
没有出现事件?

如果 events 返回为空,先用 status 确认 auditd 处于活跃状态且已加载规则。可能是 --since 的时间窗口太短,或者没有任何规则使用你所过滤的 key。用 rules list 查看规则。

CLI 参考命令、标志与文件

用法概要 #

用法
imaxe audit <subcomando> [<subcomando anidado>] [--since T] [--key K] [--json]

所有子命令都从审计子系统读取数据,而它只能以 root 身份访问(使用 sudo)。为 statuseventsrules list 添加 --json 可获得机器可读的输出,适用于脚本和面板。

子命令 #

子命令功能相关标志
status状态:auditd 是否活跃、规则是否加载、immutable 模式以及积压。--json
events以可读摘要列出可过滤的近期事件。--since, --key, --json
summaryaureport 式摘要:登录、sudo/认证以及文件变更。
rules审计规则管理分组。需要一个嵌套子命令。
rules list列出生效的规则(等同于 auditctl -l)。--json
reload重新加载规则;遵守 immutable,并在需要重启时提示。

参数与标志 #

标志类型默认值说明
--sincestringaudit.ymlevents 中:从何时开始列出(例如 todayrecent'now-1 hour')。若省略,则使用 audit.yml 中的 default_since
--keystringevents 中:按某条 auditd 规则的 key 过滤(例如 identity)。
--jsonboolfalsestatuseventsrules list 中:将结果以结构化 JSON 输出到 stdout

summaryrulesreload 不接受标志:它们按原样执行。请记住 rules 始终需要嵌套子命令 list

文件与路径 #

路径内容
/etc/imaxe/audit.yml模块配置:events 的默认时间窗口(default_since)及其他选项。
/etc/audit/audit.rulesauditd 在启动时加载的审计规则(CIS 基线)。
/etc/audit/rules.d/规则片段,组装成最终的规则集。
/var/log/audit/audit.logauditd 写入的事件日志,供 events/summary 查询。

audit.yml 示例:

/etc/imaxe/audit.yml
events:
  default_since: today

退出码与日志 #

每次执行都会返回一个退出码,你可以用 echo $? 查看——便于在脚本中串联:

0OK查询或操作已正确完成。
1ERR未分类的通用错误。请查看日志。
2USAGE参数无效或缺少嵌套子命令。
3AUDITDauditd 未活跃或无响应。
4IMMUTABLE该变更需要重启(规则已锁定)。

调试时实时跟踪日志:

终端
$ sudo journalctl -u auditd -f
$ sudo tail -f /var/log/audit/audit.log

故障排查 #

现象可能原因解决方法
出现 AUDITD(退出码 3)auditd 服务未在运行。systemctl start auditd 启动它,然后重试 imaxe audit status
events 什么都不返回--since 时间窗口太短,或 key 不存在。扩大 --since(例如 'now-1 hour'),或用 rules list 查看 key。
reload 提示需要重启规则处于 immutable 模式(锁定直到重启)。安排一次重启以应用变更;在那之前仍沿用先前的规则。
出现 USAGE(退出码 2)调用 rules 时未带嵌套子命令。使用 imaxe audit rules listrules 始终需要一个子命令。

Audit 模块遇到问题了?

把「imaxe <module> status --json」的输出发给我们,我们会尽快回复你。

联系支持