抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Auditd 是 Linux 系统中的一个强大的审计框架,它能帮助系统管理员监控和记录系统中的安全相关事件。杜老师整理了一些关于 Auditd 审计工具的详细使用说明。

安装工具

在大多数 Linux 发行版中可以通过包管理器安装 Auditd。例如,在银河麒麟高级服务器操作系统/CentOS 上,可以使用以下命令安装:

1
yum -y install audit

在银河麒麟桌面操作系统上,可以使用以下命令安装:

1
sudo apt -y install auditd audispd-plugins

配置工具

Auditd 的主要配置文件是/etc/audit/auditd.conf

此外,审计规则的配置文件通常位于/etc/audit/audit.rules

相关工具

以下是 Auditd 中常用的工具:

工具名称功能描述
auditctl用于添加、删除审计规则,及查看审计规则等。
aureport用于生成审计报告。
ausearch用于搜索审计事件。
auditspd用于将事件通知转发给其它应用程序。
autrace用于跟踪进程。

审计规则

审计规则可以分为三类:控制规则、文件系统规则、系统调用规则。控制规则用于更改审计系统本身的配置和设置。例如,设置审计缓冲区的最大数量:

1
auditctl -b 8192

文件系统规则用于监控特定文件或目录的访问。例如,监控/etc/passwd 文件写入和属性修改:

1
auditctl -w /etc/passwd -p wa -k passwd_changes

系统调用规则用于记录特定程序系统调用。例如,记录使用 adjtimexsettimeofday 系统调用的行为:

1
auditctl -a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time_change

例如,要监控/etc/passwd 文件读写访问,可以使用以下命令。这条规则表示监控/etc/passwd 文件当有读写操作时,使用关键字 passwd_monitor 记录审计事件:

1
auditctl -w /etc/passwd -p rw -k passwd_monitor

使用命令查看当前配置审计规则:

1
auditctl -l

使用 auditctl -D 可删除所有规则,或使用下面命令删除指定路径的规则:

1
auditctl -W

日志报告

审计日志默认存储在/var/log/audit/audit.log 文件。使用 ausearch 工具可以搜索和查看审计日志。例如,要搜索所有与 passwd_monitor 相关的日志条目,可以使用:

1
ausearch -k passwd_monitor

使用 aureport 命令可生成审计报告。例如,要生成一个关于用户登录失败的报告,可以使用:

1
aureport -au

保存规则

要使规则永久生效,需要将规则添加到/etc/audit/audit.rules 文件中,然后重启或重新加载 Auditd 服务:

1
sudo systemctl restart auditd

或者重新加载规则:

1
sudo auditctl -R /etc/audit/audit.rules

服务管理

Auditd 服务默认开机自启动。可使用以下命令来管理服务:

描述命令
查看服务状态systemctl status auditd
开启服务systemctl start auditd
停止服务systemctl stop auditd
重启服务systemctl restart auditd

确保 Linux 审计日志安全性和完整性

  1. 配置审计守护进程:

将日志文件路径设置在单独挂载点上,以防止其它的进程消耗空间,并确保审计守护进程能够准确的检测剩余空间。
设置 max_log_file 参数以充分利用保存审计日志文件分区上的可用空间。
max_log_file_action 设置为 keep_logs,防止审计日志文件被覆盖。
配置 space_left 以及 space_left_action 参数,以确保在磁盘空间不足时能够及时通知管理员。
设置 admin_space_left 以及 admin_space_left_action 参数,为记录管理员所执行的操作保留足够空间。
disk_full_action 设置为 haltsingle,以确保在磁盘空间耗尽时系统能够关闭或以单用户模式运行。
disk_error_action 设置为 syslogsingle 或者 halt,以便在检测到磁盘错误时采取适当的行动。

  1. 配置审计规则:

auditctl 命令添加规则,监控关键文件以及系统调用,确保只有授权的更改被记录。
将规则持久化到/etc/audit/audit.rules 文件,以确保在系统重启后规则仍有效。

  1. 保护审计日志文件:

确保审计日志文件的存储位置具有适当的权限设置,只有授权用户才能访问。
考虑使用加密存储审计日志,以防止未授权的访问或篡改。

  1. 日志轮转、归档:

配置日志轮转策略,避免日志文件无限制增长并填满磁盘空间。
定期归档旧的审计日志,确保归档过程不会破坏日志文件的完整性。

  1. 监控、响应:

定期监控审计日志,用 ausearchaureport 命令分析日志,以识别异常行为或潜在安全威胁。
根据审计结果,采取相应响应措施,并且生成审计报告。

  1. 定期审查、更新:

定期审查审计策略、规则,以适应不断变化的安全需求。
更新审计规则以覆盖新安全场景,并确保审计系统有效性。

评论