Linux审计框架auditd

发布时间 2023-11-03 11:41:33作者: 高佳丰

auditd简介

auditd 是Linux系统中的一个审计框架,用于监视和记录系统活动,以帮助管理员追踪和审计系统事件。它提供了一种机制,可以捕获关于文件访问、进程执行、用户登录、系统配置更改等方面的信息。

 # 监控cp命令
auditctl -a always,exit -F arch=b64 -S execve -F euid=0 -F exe=/bin/grep -k monitor-grep
 # 监控cp命令
auditctl -a always,exit -F arch=b64 -S execve -F euid=0 -F exe=/bin/cp -k monitor-cp

参数解析:

  • -a always,exit:这部分指定了审计规则的动作。-a 表示要添加规则,always 表示规则应该在所有情况下都触发(不仅在成功的情况下),exit 表示规则在进程退出时触发。
  • -F arch=b64:这是规则的第一个过滤条件。-F 表示要添加一个过滤条件,arch=b64 意味着规则将应用于64位系统架构。这确保了规则仅适用于64位系统。
  • -S execve:这是要监视的系统调用。execve 是一个系统调用,用于执行新进程。通过监视 execve 系统调用,可以捕获新进程的启动。
  • -F euid=0:这是规则的第二个过滤条件。-F 表示要添加一个过滤条件,euid=0 意味着规则将仅适用于以有效用户ID(EUID)为0(即超级用户或root)的进程。这确保了规则只监视具有root权限的进程。
  • -k monitor-cp:这是规则的键(key),用于标识和分类规则。 方便查找日志

执行命令手动触发

cp /etc/hosts /home/uniapply

查看监控到的信息

root@ecs-0001:/etc/audit# ausearch -k  monitor-cp
...
----
time->Fri Nov  3 09:10:14 2023
type=PROCTITLE msg=audit(1698973814.906:301): proctitle=6370002F6574632F686F737473002F686F6D656E2F756E696170706C79
type=PATH msg=audit(1698973814.906:301): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=1046582 dev=fc:04 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=PATH msg=audit(1698973814.906:301): item=0 name="/usr/bin/cp" inode=1047103 dev=fc:04 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=CWD msg=audit(1698973814.906:301): cwd="/root"
type=EXECVE msg=audit(1698973814.906:301): argc=3 a0="cp" a1="/etc/hosts" a2="/homen/uniapply"
type=SYSCALL msg=audit(1698973814.906:301): arch=c000003e syscall=59 success=yes exit=0 a0=5593223aa898 a1=5593221f4770 a2=5593221f4790 a3=8 items=2 ppid=415594 pid=415595 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=2717 comm="cp" exe="/usr/bin/cp" subj=unconfined key="monitor-cp"
----
time->Fri Nov  3 10:58:01 2023
type=PROCTITLE msg=audit(1698980281.344:381): proctitle=6370002D66002F6574632F686F737473002F686F6D656E2F756E696170706C79
type=PATH msg=audit(1698980281.344:381): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=1046582 dev=fc:04 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=PATH msg=audit(1698980281.344:381): item=0 name="/usr/bin/cp" inode=1047103 dev=fc:04 mode=0100755 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=CWD msg=audit(1698980281.344:381): cwd="/root"
type=EXECVE msg=audit(1698980281.344:381): argc=4 a0="cp" a1="-f" a2="/etc/hosts" a3="/homen/uniapply"
type=SYSCALL msg=audit(1698980281.344:381): arch=c000003e syscall=59 success=yes exit=0 a0=55ad3797b1c0 a1=55ad3797ba70 a2=55ad37978000 a3=8 items=2 ppid=416210 pid=416211 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=2722 comm="cp" exe="/usr/bin/cp" subj=unconfined key="monitor-cp"
----