之路 on it Road.com

安装审计

现在我们对auditd 的含义有所了解,让我们继续使用前面的用例来使用auditd:

  1. 安装auditd 包。
    auditd 软件包是 CentOS 7 系统默认安装的一部分。
    我们可以使用以下命令进行验证:
# rpm -qa | grep audit
audit-libs-2.6.5-3.el7_3.1.x86_64
audit-2.6.5-3.el7_3.1.x86_64
audit-libs-python-2.6.5-3.el7_3.1.x86_64
  1. 如果软件包不是我们系统的一部分,我们可以继续安装它:
# yum install audit
  1. 确保审计守护进程正在运行。
    我们将使用以下命令:
# systemctl status auditd
 auditd.service - Security Auditing Service
    Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled;
 vendor preset: enabled)
    Active: active (running) since Wed 2018-10-24 04:33:48 UTC; 4min
 21s ago
    Docs: man:auditd(8)
          https://people.redhat.com/sgrubb/audit/
    Process: 425 ExecStartPost=/sbin/augenrules --load (code=exited,
  status=0/SUCCESS)
 Main PID: 424 (auditd)
     CGroup: /system.slice/auditd.service
            └─424 /sbin/auditd -n

由于我们已经启动并运行了一个审计守护程序,让我们看看如何使用 auditd 来实现所有 4 个用例。

Linux 中监视,复制、移动、删除和终止审计规则的命令

复制、移动、删除和终止审核规则的命令

  1. 备份现有的配置文件(auditd规则):
# cp /etc/audit/audit.rules /etc/audit/audit.rules.bkp
  1. 编辑文件 /etc/audit/audit.rules 并添加以下规则以使其持久化:
# vi /etc/audit/audit.rules
# Audit Copy, Move, Delete & Create file commands
-a exit,always -F arch=b64 -S execve -F path=/bin/cp -k Copy
-a exit,always -F arch=b64 -S execve -F path=/bin/mv -k Move_Rename
-a exit,always -F arch=b64 -S execve -F path=/bin/rm -k Delete
-a exit,always -F arch=b64 -S execve -F path=/bin/vi -k Create_Edit_View_File
# Audit shutdown & Reboot command
-a exit,always -F arch=b64 -S execve -F path=/sbin/reboot -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/init -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/poweroff -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/shutdown -k Reboot
# Audit mount unmount commands
-a exit,always -F arch=b64 -S execve -F path=/bin/mount -k mount_device
-a exit,always -F arch=b64 -S execve -F path=/bin/umount -k unmount_device
# Kill Process
-a exit,always -F arch=b64 -S kill -k Kill_Process
  1. 重新启动 auditd 服务使更改生效。
# service auditd restart
  1. 列出添加的规则,以验证它们是否正确:
# auditctl -l

注意:bash(和许多其他 shell)有一个内置的“kill”命令,它实际上并不运行 /usr/bin/kill。
因此,如果运行内置命令,则 comm=bash 是正确的。
没有办法强制系统使用/usr/bin/kill 外部程序。
comm=kill 不会在所有情况下都发生,因为 shell 可以直接调用系统调用,而无需运行名为“kill”的外部程序

使用auditd进行系统审计

系统审计是一项非常重要的任务,应该成为每台服务器的一部分。
它使我们能够审计与系统内发生的事情相关的微小细节。
auditd 是 Linux 审计系统的用户空间组件。
这意味着系统用户将能够运行 auditd 来为 Linux 系统的审计功能配置规则和警报。

auditd 最好的事情之一是它与内核紧密集成,因此它使我们能够监视几乎所有我们想要的东西,真的。
为了让用户看到正在发生的事情,auditd 可以将所有与审计相关的事件记录到磁盘,我们可以使用各种工具,例如 ausearch 或者 aureport 来查看日志文件。

默认情况下,没有配置任何规则。
我们需要在 /etc/audit/audit.rules 配置文件中写入我们的规则,该文件将被读取并应用相应的审计操作。

日期:2020-09-17 00:14:05 来源:oir作者:oir