51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Linux 安全 Auditd 审计工具使用说明

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 审计日志安全性和完整性 {#确保-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. 定期审查、更新:

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

赞(1)
未经允许不得转载:工具盒子 » Linux 安全 Auditd 审计工具使用说明