首页 > 其他分享 >Auditd审计工具

Auditd审计工具

时间:2024-06-12 18:10:59浏览次数:23  
标签:审计 audit 12 Number Auditd 2024 工具 root pam

什么是audit

syslog记录的信息有限,主要目的是软件调试,跟踪和打印软件的运行状态,而audit的目的则不同,它是linux安全体系的重要组成部分,是一种“被动”的防御体系。
在内核里有内核审计模块,记录系统中的各种动作和事件,比如系统调用,文件修改,执行的程序,系统登入登出和记录所有系统中所有的事件,它的主要目的是方便管理员根据日记审计系统是否允许有异常,是否有入侵等等。
而audit就是把与系统安全有关的事件记录下来。

auditd工具简介

audited是Linux审核系统的用户空间组件。

它负责将审核记录写入磁盘。

查看日志是通过ausearch或aureport实用程序完成的。

审核系统或加载规则的配置是使用auditctl实用程序完成的。

在启动过程中,/etc/audit/audit.rules中的规则由auditctl读取并加载到内核中。

另外,还有一个augenrules程序,它读取/etc/audit/rules.d/中的规则,并将它们编译为audit.rules文件。

审核守护进程本身有一些管理员可能希望自定义的配置选项,它们位于audited.conf文件中。

安装

apt-get install auditd audispd-plugins

auditd 配置文件

默认配置

# /etc/audit/auditd.conf


# 本地的事件是否记录,设置为no的场景应该是只作为远程日志收集的服务器,但自身的日志大多数时候也是有必要记录的
local_events = yes
# 日志是否落盘,设置为no的场景应该是将会把日志存储到远程服务器的客户端
write_logs = yes
# 指定日志的路径
log_file = /var/log/audit/audit.log
# 设置日志的组
log_group = adm
# 设置日志的格式
log_format = ENRICHED
# 指定日志刷星策略,INCREMENTAL_ASYNC表示异步增量刷新
flush = INCREMENTAL_ASYNC
# 与 flush 参数结合,指定每隔多少毫秒触发一次异步刷新
freq = 50
# 指定单个日志文件的最大大小 单位MB
max_log_file = 8
# 轮转日志时保留的日志格式
num_logs = 5
# 设置审计守护进程提高多少优先级。默认值为4
priority_boost = 4
# none、hostname、fqd、numeric和user。None表示没有向审计事件插入计算机名。Hostname是gethostname系统调用返回的名称。fqd意味着它接收主机名并通过dns解析为该机器的完全限定域名。Numeric类似于fqd,只是它可以解析机器的IP地址
name_format = NONE
##name = mydomain
# 当系统检测到已达到最大文件大小限制时采取什么操作。有效值为ignore、syslog、suspend、rotate和keep_logs。如果设置为ignore,审计守护进程什么都不做。Syslog表示它将向Syslog发出警告。Suspend将导致审计守护进程停止向磁盘写入记录。守护进程还会活着。rotate选项将导致审计守护进程旋转日志。需要注意的是,数值大的日志比数值小的日志要早。这与logrotate实用程序使用的约定相同。keep_logs选项类似于rotate,只是它不使用num_logs设置。这可以防止审计日志被覆盖。
max_log_file_action = ROTATE
# 在采取 space_left_action 之前剩余的空闲磁盘空间百分比
space_left = 75
# 当磁盘空间低于 space_left 时采取的行动,SYSLOG 表示记录到系统日志
space_left_action = SYSLOG
# 指示是否验证电子邮件地址的有效性
verify_email = yes
# 接收警报的电子邮件地址
action_mail_acct = root
# 在采取 admin_space_left_action 之前剩余的空闲磁盘空间百分比。
admin_space_left = 50
# 当磁盘空间低于 admin_space_left 时采取的行动,SUSPEND 表示暂停写入。
admin_space_left_action = SUSPEND
# 当磁盘空间已满时采取的行动。 SUSPEND 表示暂停写入。
disk_full_action = SUSPEND
# 当发生磁盘错误时采取的行动,SUSPEND 表示暂停写入。
disk_error_action = SUSPEND
# 指示是否使用 TCP 包装器进行访问控制。
use_libwrap = yes
##tcp_listen_port = 60
# 指定 TCP 监听队列的大小。
tcp_listen_queue = 5
# 指定每个 IP 地址允许的最大 TCP 连接数。
tcp_max_per_addr = 1
##tcp_client_ports = 1024-65535
# 指定 TCP 客户端连接的最大空闲时间,0 表示无限制。
tcp_client_max_idle = 0
# 指定日志传输协议
transport = TCP
# 指定 Kerberos 主体名称
krb5_principal = auditd
##krb5_key_file = /etc/audit/audit.key
# 指示是否在网络上分发审计事件。
distribute_network = no
# 指定审计事件队列的深度。
q_depth = 1200
# 当队列溢出时采取的行动。
overflow_action = SYSLOG
# 指定在放弃之前允许的最大重新启动次数。
max_restarts = 10
# 插件目录的路径。
plugin_dir = /etc/audit/plugins.d
# 指定在事件结束超时后采取的行动的时间限制。
end_of_event_timeout = 2

auditd相关命令

  • auditctl : 即时控制审计守护进程的行为的工具,如添加规则等。
  • auditd :audit 守护进程负责把内核产生的信息写入到硬盘上,这些信息由应用程序和系统活动触发产生。用户空间审计系统通过 auditd 后台进程接收内核审计系统传送来的审计信息,将信息写入到 /var/log/audit/audit.log。
  • aureport : 查看和生成审计报告的工具。
  • ausearch : 查找审计事件的工具
  • autrace : 一个用于跟踪进程的命令。类似于 strace,跟踪某一个进程,并将跟踪的结果写入日志文件之中。
  • aulast: 与last类似,但使用审计框架安装
  • aulastlog: 与lastlog类似,也使用审计框架
  • ausyscall: 映射syscall ID和名称
  • auvirt: 显示关于虚拟机的审计信息

相关配置文件

  • /etc/audit/auditd.conf : auditd工具的配置文件
  • /etc/audit/rules.d/audit.rules:包含审核规则的文件,如果我们需要修改审计范围,直接编辑该文件,并使用 auditctl -R <ruler_path> 命令重载审计规则配置文件
  • /etc/audit/audit.rules : 记录审计规则的文件,该配置文件是根据 /etc/audit/rules.d/audit.rules 下的配置文件自动生成

auditd服务管理

查看auditd服务状态

systemctl status auditd

配置服务开机自启动

systemctl enable auditd

取消服务开机自启动

systemctl disable auditd

停止auditd服务

systemctl stop auditd

启动auditd服务

systemctl start auditd

重启auditd服务

systemctl restart auditd

重载审计规则配置

auditctl -R /etc/audit/rules.d/audit.rules

停止审计

auditd -s disable

开启审计

auditd -s enable

auditctl命令

audit 我们可以使用auditctl临时配置规则,服务重启失效,如果需要配置永久生效,我们需要将规则写入到配置文件中。auditd审计规则分成三个部分,

  • 控制规则:这些规则用于更改审计系统本身的配置和设置。
  • 文件系统规则:这些是文件或目录监视。 使用这些规则,我们可以审核对特定文件或目录的任何类型的访问。
  • 系统调用规则:这些规则用于监视由任何进程或特定用户进行的系统调用。

语法

auditctl [options]

参数

参数 参数说明
-w <path> 指定要监控的文件夹或者文件路径
-W <path> 删除指定path的规则和-w对应,参数都要一样才能删除
-s 查看审计状态
-r <rate> 设置每秒生成信息的速率
-R <file> 读取审计规则配置
-i 从文件中读取规则时忽略错误
-p [r|w|x|a] 指定触发审计的文件/目录的访问权限rwxa,指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)
-l 列表展示审计规则
-k <key> 在审核规则上设置过滤名称,方便后面使用ausearch查找
-D 删除所有规则和监控
-d 删除审计规则 需要用过滤条件来定位然后删除规则
-a <列表名称,动作> 追加一条系统调用规则
-A <列表名称,动作> 在最前面插入一条系统调用规则
-c 加载规则时尽管错误仍然继续
-F <字段名> 建立一个规则字段:名称、操作、值
-S <系统调用名|系统调用号|all> 生成规则:系统调用的名称和编号

在使用 -a 参数时可以使用的列表名称

列表名称 描述
task 添加规则到每个任务列表。
只有在创建时就已知的字段(如 UID,GID)才能用在这个列表中
exclude 添加规则到事件类型排除过滤列表。
使用此列表来过滤不希望看到的事件
exit 添加规则到系统调用退出列表。
退出系统时调用此列表用于确定是否应建立审计事件
user 添加规则到用户消息过滤列表。
内核在将用户空间事件传递给审计守护进程之前使用这个列表过滤用户空间事件。
有效的字段只有 UID、AUID、GID、PID、subj_user、subj_role、subj_type、subj_sen和subj_clr

在使用 -a 选项时可以使用的动作

动作 描述
never 不生成审计记录,可以被用来抑制事件的生成
always 分配审计上下文,总是把它填充在系统调用条目中,总是在系统调用退出时写一个审计记录

在使用 -F 选项时可以使用的有效的字段名

字段名 描述
pid 进程ID
ppid 父进程ID
uid 用户ID
euid 有效用户ID
suid 保存的用户ID
fsuid 文件系统用户ID
gid 组群ID
egid 有效组群ID
sgid 保存的组ID
fsgid 文件系统组ID
msgtype 用来匹配事件的记录类型
pers 操作系统个性编码
path 查看文件的完整路径
arch 系统调用的CPU体系结构
auid 审计ID,用户登录时使用的原始ID
dir 查看目录的完整路径
devmajor 主设备号
devminor 次设备号
inode inode号
exit 系统调用的返回值
success 系统调用的成功值。
1 表示 true/yes, 0表示 false/no
a0、al、a2、a3 分别表示系统调用的前4个参数,只能用数字表示
key 设置用来标记事件的审计日志事件消息的过滤关键字
perm 文件操作的权限过滤
filetype 目标文件的类型
obj_user 对象的SELinux用户
obj_role 对象的SELinux角色
obj_type 对象的SELinux类型
obj_lev_low 资源的SELinux低级别
obj_lev_high 资源的SELinux高级别
subj_sen 程序的SELinux敏感度
subj_user 程序的SELinux用户
subj_clr 程序的SELinux清除率
subj_role 程序的SELinux角色
subj_type 程序的SELinux类型

示例

查看audit状态

$ auditctl -s
enabled 1
failure 1
pid 2372085
rate_limit 0
backlog_limit 8192
lost 0
backlog 0
backlog_wait_time 60000
backlog_wait_time_actual 0
loginuid_immutable 0 unlocked

auditctl -s 命令用于显示当前审计子系统的状态信息。以下是各个字段的含义:

  1. enabled: 审计功能是否启用。值为1表示已启用,值为0表示未启用。
  2. failure: 是否在遇到错误时记录日志。值为1表示记录错误日志,值为0表示不记录错误日志。
  3. pid: 审计守护进程(auditd)的进程ID。
  4. rate_limit: 每秒允许的记录事件数量上限。如果超过此限制,新事件将被丢弃。值为0表示没有限制。
  5. backlog_limit: 审计日志队列的最大长度。当队列达到这个长度时,新事件将被丢弃。
  6. lost: 已丢弃的事件数量。这些事件由于队列已满等原因而无法记录。
  7. backlog: 当前审计日志队列中的事件数量。
  8. backlog_wait_time: 当队列满时,新事件的等待时间(以毫秒为单位)。在这个时间内,新事件会等待队列中的空间。
  9. backlog_wait_time_actual: 实际等待时间(以毫秒为单位)。这个值反映了新事件在队列满时的实际等待时间。
  10. loginuid_immutable: 该字段与Linux内核参数CONFIG_AUDIT_LOGINUID_IMMUTABLE有关。值为0表示可以通过prctl()修改loginuid,值为1表示loginuid不可变。unlocked表示该字段的状态是可更改的。

查看现有的audit规则

$ auditctl -l
-w /tmp/1 -p rwxa -k change_1

添加一条audit规则

记录用户ubuntu(UID为1000)的所有open系统调用

$ auditctl -a exit,always -S open -F uid=1000
WARNING - 32/64 bit syscall mismatch, you should specify an arch

监控文件1的读行为,并记录日志

auditctl -w /tmp/1 -p ra -k read_1

不记录USER_LOGIN类型的消息

auditctl -a exclude,always -F msgtype=USER_LOGIN

记录不成功的open系统调用

auditctl -a exit,always -S open -F success!=1 -k err_open

监视/etc/passwd文件被读、写、执行、修改文件属性的操作记录

auditctl -w /etc/passwd -p rwax -k mykey_name

记录进程PID为1005程序所做的所有系统调用

auditctl -a exit,always -S all -F pid=1005

删除一条audit规则

auditctl -d exit,always -S open -F uid=1000
auditctl -D -k read_1
# 或者
auditctl -W /tmp/1 -p ra -k read_1

删除所有audit规则

auditctl -D

重载审计规则配置

auditctl -R /etc/audit/rules.d/audit.rules

ausearch命令

使用 ausearch ,您可以过滤和搜索事件类型。

它还可以通过将数值转换为更加直观的值(如系统调用或用户名)来解释事件。

以根用户身份执行ausearch 命令,当显示结果时,每个记录用 4 条虚线组成的一行隔开,每个记录前均显示时间标记。

参数

选项 含义
-f <文件名> 基于文件名的搜索
-c <命令行名称> 基于命令行名称的搜索
-ga <所有组群的ID> 基于所有组群GID的搜索
-hn <主机名> 基于远程主机名的搜索
-ui <用户UID> 基于用户UID的搜索
-n <计算机名称> 基于计算机名称的搜索
-p <进程ID> 基于进程ID的搜索
-tm <终端> 基于终端的搜索
-sv <成功值> 基于系统调用或事件成功值的搜索
-k <键字段> 基于键字段的搜索
-m <消息类型> 基于消息类型的搜索
-pp <父进程ID> 基于父进程ID的搜索
-ul <用户登录ID> 基于用户登录ID的搜索
-x <可执行文件名> 基于可执行文件名的搜索
-a <审计事件ID> 基于审计事件ID的搜索
-ue <有效UID> 基于有效UID的搜索
-ge <有效GID> 基于有效GID的搜索
--session <登录会话ID> 基于登录会话ID的搜索
-sc <系统调用的名称> 基于系统调用的名称或对象编号的搜索
-se <SELinux上下文> 基于任何主体或对象的上下文搜索
-0 <SELinux对象上下文> 基于对象上下文的搜索
-ts <开始日期><开始时间> 基于开始日期、开始时间的搜索
-ua <所有用户的UID> 基于所有的用户UID的搜索
-te <结束日期> <结束时间> 基于结束日期、结束时间的搜索
-su <SELinux上下文> 基于主题的上下文的搜索
-e <退出代码> 基于系统调用退出代码的搜索
-r 完全未格式化输出
--format [raw|default|interpret|csv|text] 结果输出的格式

示例

查看所有事件

ausearch -m all

基于用户root搜索审计记录

$ ausearch -ui 0

----
time->Wed Jun 12 17:17:01 2024
type=PROCTITLE msg=audit(1718183821.443:5115): proctitle=2F7573722F7362696E2F43524F4E002D66002D50
type=SYSCALL msg=audit(1718183821.443:5115): arch=c000003e syscall=1 success=yes exit=1 a0=7 a1=7fff3d431390 a2=1 a3=0 items=0 ppid=1051 pid=2526718 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=67 comm="cron" exe="/usr/sbin/cron" subj=unconfined key=(null)
----
time->Wed Jun 12 17:17:01 2024
type=USER_START msg=audit(1718183821.443:5116): pid=2526718 uid=0 auid=0 ses=67 subj=unconfined msg='op=PAM:session_open grantors=pam_loginuid,pam_env,pam_env,pam_permit,pam_umask,pam_unix,pam_limits acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'
----
time->Wed Jun 12 17:17:01 2024
type=CRED_DISP msg=audit(1718183821.447:5117): pid=2526718 uid=0 auid=0 ses=67 subj=unconfined msg='op=PAM:setcred grantors=pam_permit acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'
----
time->Wed Jun 12 17:17:01 2024
type=USER_END msg=audit(1718183821.447:5118): pid=2526718 uid=0 auid=0 ses=67 subj=unconfined msg='op=PAM:session_close grantors=pam_loginuid,pam_env,pam_env,pam_permit,pam_umask,pam_unix,pam_limits acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success'

基于终端 pts/3 搜索审计记录

$ ausearch -tm pts/3

----
time->Wed Jun 12 16:43:39 2024
type=USER_LOGIN msg=audit(1718181819.938:4930): pid=2490234 uid=0 auid=0 ses=59 subj=unconfined msg='op=login id=0 exe="/usr/sbin/sshd" hostname=192.168.128.62 addr=192.168.128.62 terminal=/dev/pts/3 res=success'
----
time->Wed Jun 12 16:43:49 2024
type=USER_AUTH msg=audit(1718181829.954:4938): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:authentication grantors=pam_rootok acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'
----
time->Wed Jun 12 16:43:49 2024
type=USER_ACCT msg=audit(1718181829.954:4939): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:accounting grantors=pam_permit acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'
----
time->Wed Jun 12 16:43:49 2024
type=CRED_ACQ msg=audit(1718181829.958:4940): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:setcred grantors=pam_rootok acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'

基于进程号1779搜索审计记录

$ ausearch -p 1051

查询2024年6月12日12点55到下午13点半的记录

$ ausearch -ts 06/12/2024 12:55:00 -te 6/12/2024 13:30:00

时间格式是 月/日/年 时:分:秒
否则会报 Month, Day, and Year are required. 或者 Hour, Minute, and Second are required
这样的报错表示 位置的错误

查询文件 /tmp/1相关的记录

ausearch -f /tmp/1

查询指定用户的记录

ausearch -ua root

根据系统调用查询日志

ausearch -sc open

根据过滤关键字查询日志

ausearch -k read_1

搜索系统登录失败日志

ausearch --message USER_LOGIN --success no --interpret
# 或者
ausearch -m USER_LOGIN -sv no --interpret

不同格式的输出

默认 default

$ ausearch -tm pts/3 --format default

----
time->Wed Jun 12 16:43:39 2024
type=USER_LOGIN msg=audit(1718181819.938:4930): pid=2490234 uid=0 auid=0 ses=59 subj=unconfined msg='op=login id=0 exe="/usr/sbin/sshd" hostname=192.168.128.62 addr=192.168.128.62 terminal=/dev/pts/3 res=success'
----
time->Wed Jun 12 16:43:49 2024
type=USER_AUTH msg=audit(1718181829.954:4938): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:authentication grantors=pam_rootok acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'
----
time->Wed Jun 12 16:43:49 2024
type=USER_ACCT msg=audit(1718181829.954:4939): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:accounting grantors=pam_permit acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'
----
time->Wed Jun 12 16:43:49 2024
type=CRED_ACQ msg=audit(1718181829.958:4940): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:setcred grantors=pam_rootok acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'
----
time->Wed Jun 12 16:43:49 2024
type=USER_START msg=audit(1718181829.958:4941): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:session_open grantors=pam_keyinit,pam_env,pam_env,pam_mail,pam_limits,pam_permit,pam_umask,pam_unix,pam_systemd acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'
----
time->Wed Jun 12 16:50:11 2024
type=USER_END msg=audit(1718182211.017:4942): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:session_close grantors=pam_keyinit,pam_env,pam_env,pam_mail,pam_limits,pam_permit,pam_umask,pam_unix,pam_systemd acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'
----
time->Wed Jun 12 16:50:11 2024
type=CRED_DISP msg=audit(1718182211.017:4943): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:setcred grantors=pam_rootok acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'

raw 格式

$ ausearch -tm pts/3 --format raw

type=USER_LOGIN msg=audit(1718181819.938:4930): pid=2490234 uid=0 auid=0 ses=59 subj=unconfined msg='op=login id=0 exe="/usr/sbin/sshd" hostname=192.168.128.62 addr=192.168.128.62 terminal=/dev/pts/3 res=success'UID="root" AUID="root" ID="root"
type=USER_AUTH msg=audit(1718181829.954:4938): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:authentication grantors=pam_rootok acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'UID="root" AUID="root"
type=USER_ACCT msg=audit(1718181829.954:4939): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:accounting grantors=pam_permit acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'UID="root" AUID="root"
type=CRED_ACQ msg=audit(1718181829.958:4940): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:setcred grantors=pam_rootok acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'UID="root" AUID="root"
type=USER_START msg=audit(1718181829.958:4941): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:session_open grantors=pam_keyinit,pam_env,pam_env,pam_mail,pam_limits,pam_permit,pam_umask,pam_unix,pam_systemd acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'UID="root" AUID="root"
type=USER_END msg=audit(1718182211.017:4942): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:session_close grantors=pam_keyinit,pam_env,pam_env,pam_mail,pam_limits,pam_permit,pam_umask,pam_unix,pam_systemd acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'UID="root" AUID="root"
type=CRED_DISP msg=audit(1718182211.017:4943): pid=2490485 uid=0 auid=0 ses=59 subj=unconfined msg='op=PAM:setcred grantors=pam_rootok acct="ubuntu" exe="/usr/bin/su" hostname=? addr=? terminal=/dev/pts/3 res=success'UID="root" AUID="root"

interpret 格式

$ ausearch -tm pts/3 --format interpret


----
type=USER_LOGIN msg=audit(06/12/2024 16:43:39.938:4930) : pid=2490234 uid=root auid=root ses=59 subj=unconfined msg='op=login id=root exe=/usr/sbin/sshd hostname=192.168.128.62 addr=192.168.128.62 terminal=/dev/pts/3 res=success' 
----
type=USER_AUTH msg=audit(06/12/2024 16:43:49.954:4938) : pid=2490485 uid=root auid=root ses=59 subj=unconfined msg='op=PAM:authentication grantors=pam_rootok acct=ubuntu exe=/usr/bin/su hostname=? addr=? terminal=/dev/pts/3 res=success' 
----
type=USER_ACCT msg=audit(06/12/2024 16:43:49.954:4939) : pid=2490485 uid=root auid=root ses=59 subj=unconfined msg='op=PAM:accounting grantors=pam_permit acct=ubuntu exe=/usr/bin/su hostname=? addr=? terminal=/dev/pts/3 res=success' 
----
type=CRED_ACQ msg=audit(06/12/2024 16:43:49.958:4940) : pid=2490485 uid=root auid=root ses=59 subj=unconfined msg='op=PAM:setcred grantors=pam_rootok acct=ubuntu exe=/usr/bin/su hostname=? addr=? terminal=/dev/pts/3 res=success' 
----
type=USER_START msg=audit(06/12/2024 16:43:49.958:4941) : pid=2490485 uid=root auid=root ses=59 subj=unconfined msg='op=PAM:session_open grantors=pam_keyinit,pam_env,pam_env,pam_mail,pam_limits,pam_permit,pam_umask,pam_unix,pam_systemd acct=ubuntu exe=/usr/bin/su hostname=? addr=? terminal=/dev/pts/3 res=success' 
----
type=USER_END msg=audit(06/12/2024 16:50:11.017:4942) : pid=2490485 uid=root auid=root ses=59 subj=unconfined msg='op=PAM:session_close grantors=pam_keyinit,pam_env,pam_env,pam_mail,pam_limits,pam_permit,pam_umask,pam_unix,pam_systemd acct=ubuntu exe=/usr/bin/su hostname=? addr=? terminal=/dev/pts/3 res=success' 
----
type=CRED_DISP msg=audit(06/12/2024 16:50:11.017:4943) : pid=2490485 uid=root auid=root ses=59 subj=unconfined msg='op=PAM:setcred grantors=pam_rootok acct=ubuntu exe=/usr/bin/su hostname=? addr=? terminal=/dev/pts/3 res=success'

csv格式

$ ausearch -tm pts/3 --format csv

NODE,EVENT,DATE,TIME,SERIAL_NUM,EVENT_KIND,SESSION,SUBJ_PRIME,SUBJ_SEC,SUBJ_KIND,ACTION,RESULT,OBJ_PRIME,OBJ_SEC,OBJ_KIND,HOW
,USER_LOGIN,06/12/2024,16:43:39,4930,user-login,59,root,,privileged-acct,logged-in,success,/dev/pts/3,,user-session,/usr/sbin/sshd
,USER_AUTH,06/12/2024,16:43:49,4938,user-login,59,root,root,privileged-acct,authenticated,success,ubuntu,,user-session,/usr/bin/su
,USER_ACCT,06/12/2024,16:43:49,4939,user-login,59,root,root,privileged-acct,was-authorized,success,ubuntu,,user-session,/usr/bin/su
,CRED_ACQ,06/12/2024,16:43:49,4940,user-login,59,root,root,privileged-acct,acquired-credentials,success,ubuntu,,user-session,/usr/bin/su
,USER_START,06/12/2024,16:43:49,4941,user-login,59,root,root,privileged-acct,started-session,success,/dev/pts/3,,user-session,/usr/bin/su
,USER_END,06/12/2024,16:50:11,4942,user-login,59,root,root,privileged-acct,ended-session,success,/dev/pts/3,,user-session,/usr/bin/su
,CRED_DISP,06/12/2024,16:50:11,4943,user-login,59,root,root,privileged-acct,disposed-credentials,success,ubuntu,,user-session,/usr/bin/su

text格式

$ ausearch -tm pts/3 --format text

At 16:43:39 06/12/2024 root successfully logged-in /dev/pts/3 using /usr/sbin/sshd
At 16:43:49 06/12/2024 root successfully authenticated ubuntu using /usr/bin/su
At 16:43:49 06/12/2024 root successfully was-authorized ubuntu using /usr/bin/su
At 16:43:49 06/12/2024 root successfully acquired-credentials ubuntu using /usr/bin/su
At 16:43:49 06/12/2024 root successfully started-session /dev/pts/3 using /usr/bin/su
At 16:50:11 06/12/2024 root successfully ended-session /dev/pts/3 
At 16:50:11 06/12/2024 root successfully disposed-credentials ubuntu using /usr/bin/su

aureport命令

使用aureport命令可以生成审计信息的报表,必须以root用户执行aureport命令。如果执行aureport命令时没有使用任何选项,那么会显示汇总报表。

参数

选项 含义
-a 关于访问向量缓冲(AVC)信息的报表
-au 关于身份验证的报表
-c 关于配置更改的报表
-cr 关于加密事件的报表
-e 关于事件的报表
-f 关于文件的报表
-i 解释模式
-if <输入文件名> 使用文件作为输入
-h 关于主机的报表
-l 有关登录的报表
-k 关于key的报表
-m 关于账户修改的报表
-ma 关于强制访问控制(MAC)事件的报表
-p 关于进程的报表
-s 关于系统调用的报表
-tm 关于终端的报表
--node <节点名> 特定节点的事件
--succeSS 在报表中只显示成功的事件
--failed 在报表中只显示失败的事件
-n 关于异常事件的报表
--summary 在报表中为主要对象排序总数
-r 关于异常事件响应的报表
-t 日志时间范围报表
-te <结束日期><结束时间> 报表结束时间
-ts <开始日期><开始时间> 报表起始时间
--tty 关于tty的报表
-u 关于用户的报表
-x 关于可执行文件的报表

示例

显示日志时间范围报表

$ aureport -t

Log Time Range Report
=====================
/var/log/audit/audit.log: 06/11/2024 17:18:23.716 - 06/12/2024 17:17:01.447

显示成功事件

$ aureport --success

Success Summary Report
======================
Range of time in logs: 06/11/2024 17:18:23.716 - 06/12/2024 17:17:01.447
Selected time for report: 06/11/2024 17:18:23 - 06/12/2024 17:17:01.447
Number of changes in configuration: 3336
Number of changes to accounts, groups, or roles: 0
Number of logins: 6
Number of failed logins: 0
Number of authentications: 17
Number of failed authentications: 0
Number of users: 2
Number of terminals: 12
Number of host names: 3
Number of executables: 16
Number of commands: 17
Number of files: 6
Number of AVC's: 0
Number of MAC events: 0
Number of failed syscalls: 0
Number of anomaly events: 4
Number of responses to anomaly events: 0
Number of crypto events: 0
Number of integrity events: 0
Number of virt events: 0
Number of keys: 4
Number of process IDs: 3556
Number of events: 4135

显示失败事件

$ aureport --failed

Failed Summary Report
======================
Range of time in logs: 06/11/2024 17:18:23.716 - 06/12/2024 17:17:01.447
Selected time for report: 06/11/2024 17:18:23 - 06/12/2024 17:17:01.447
Number of changes in configuration: 1
Number of changes to accounts, groups, or roles: 0
Number of logins: 0
Number of failed logins: 0
Number of authentications: 0
Number of failed authentications: 0
Number of users: 2
Number of terminals: 4
Number of host names: 3
Number of executables: 5
Number of commands: 4
Number of files: 4
Number of AVC's: 0
Number of MAC events: 0
Number of failed syscalls: 25
Number of anomaly events: 0
Number of responses to anomaly events: 0
Number of crypto events: 0
Number of integrity events: 0
Number of virt events: 0
Number of keys: 2
Number of process IDs: 16
Number of events: 37

生成15:00~17:00这段时间内的文件相关报表

$ aureport -ts 15:00 -te 17:00 -f

File Report
===============================================
# date time file syscall success exe auid event
===============================================
1. 06/12/2024 16:50:55 /tmp/ 44 yes /usr/sbin/auditctl 0 4945
2. 06/12/2024 16:51:11 /tmp/1 257 yes /usr/bin/cat 0 4946
3. 06/12/2024 16:51:40 /tmp/ 257 yes /usr/bin/bash 0 4947
4. 06/12/2024 16:55:24 /tmp/1 257 yes /usr/bin/cat 0 4949

列出没有被成功访问的文件

$ aureport -f --failed --summary

Failed File Summary Report
===========================
total  file
===========================
10  /root/.curlrc
5  /etc/ssl/openssl.cnf
5  /root/.config/curlrc
4  /tmp/1

产生来自日志文件/var/log/audit/audit.log的报表

$ ureport -if /var/log/audit/audit.log

Summary Report
======================
Range of time in logs: 06/11/2024 17:18:23.716 - 06/12/2024 17:17:01.447
Selected time for report: 06/11/2024 17:18:23 - 06/12/2024 17:17:01.447
Number of changes in configuration: 3337
Number of changes to accounts, groups, or roles: 0
Number of logins: 6
Number of failed logins: 0
Number of authentications: 17
Number of failed authentications: 0
Number of users: 2
Number of terminals: 12
Number of host names: 3
Number of executables: 16
Number of commands: 17
Number of files: 9
Number of AVC's: 0
Number of MAC events: 0
Number of failed syscalls: 25
Number of anomaly events: 229
Number of responses to anomaly events: 0
Number of crypto events: 0
Number of integrity events: 0
Number of virt events: 0
Number of keys: 4
Number of process IDs: 3561
Number of events: 5069

显示关于配置更改的报表

$ aureport -c

显示关于加密事件的报表

$ aureport -cr

生成用户相关的报告

$ aureport -u

显示登录相关的记录

$ aureport -l

Login Report
============================================
# date time auid host term exe success event
============================================
1. 06/11/2024 17:43:54 0 192.168.140.90 /dev/pts/1 /usr/sbin/sshd yes 57
2. 06/12/2024 09:10:54 0 192.168.128.62 /dev/pts/0 /usr/sbin/sshd yes 234
3. 06/12/2024 11:32:25 0 192.168.128.62 /dev/pts/1 /usr/sbin/sshd yes 3458
4. 06/12/2024 14:57:19 0 192.168.128.62 /dev/pts/2 /usr/sbin/sshd yes 4897
5. 06/12/2024 16:43:39 0 192.168.128.62 /dev/pts/3 /usr/sbin/sshd yes 4930
6. 06/12/2024 16:56:56 0 192.168.128.62 /dev/pts/4 /usr/sbin/sshd yes 4955

标签:审计,audit,12,Number,Auditd,2024,工具,root,pam
From: https://www.cnblogs.com/guangdelw/p/18242501

相关文章

  • 深入探索Chrome开发者工具:开发者的利器
    前言作为一名测试,我们经常需要对web页面进行测试,很多时候我们都需要借助Chrome开发者工具(ChromeDevTools)来进行测试,无论是前端开发还是调试问题,都是必不可少的利器。本文就来给大家介绍一下Chrome开发者的使用。什么是Chrome开发者工具?Chrome开发者工具(DevTools)是GoogleChro......
  • typescript Omit Required Pick Partial等常用工具类型使用
    示例代码interfacemybasic{one:string,two:string,three:number,four:string}console.log("myts-demo")//排除参数属性interfacemy1extendsOmit<mybasic,'one'>{}typemytype=keyofmy1;typemytype2=my1;//......
  • [转]用autossh工具进行端口转发
    原文地址:用autossh工具进行端口转发|EscapeAutoSSH是一种用以对SSH登录进行安全地自动化的软件!比如我们在 host2 机器上面部署了很多服务,但是由于某种原因导致我们无法直接 ssh 访问该服务器已经其上服务的对应端口,但是 host3 服务器,既能够访问 host2 服务器,又......
  • iOS快捷指令——记录今天、今年已过进度的工具
    起因是看到了大佬博客里面一个计时的小工具,于是也想搞一个来提醒自己珍惜时间。经过一段时间对快捷指令的摸索,最终选择了如下的方式完成:快捷指令的链接在这里给出:https://www.icloud.com/shortcuts/94d5327fddd344a6b333a454ad1c7bbe具体html代码如下<!DOCTYPE......
  • DBeaver Ultimate Edtion 24.1 Multilingual (macOS, Linux, Windows) - 通用数据库工
    DBeaverUltimateEdtion24.1Multilingual(macOS,Linux,Windows)-通用数据库工具Onetoolforalldatasources请访问原文链接:https://sysin.org/blog/dbeaver/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org通用数据库工具DBeaver是一个通用的数据库管......
  • MoneyPrinterPlus:AI自动短视频生成工具,赚钱从来没有这么容易过
    这是一个轻松赚钱的项目。短视频时代,谁掌握了流量谁就掌握了Money!所以给大家分享这个经过精心打造的MoneyPrinterPlus项目。它可以:使用AI大模型技术,一键批量生成各类短视频。它可以:一键混剪短视频,批量生成短视频不是梦。它可以:自动把视频发布到抖音,快手,小红书,视频号上。......
  • sql字段对应批量数据处理工具
    <htmllang="zh-CN"><head> <metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width,initial-scal......
  • BIOS 编辑和修改的需求;编辑和修改 BIOS 的工具。以下是几款常见的同类工具
    AwardBIOSEditor是一种用于编辑和修改基于AwardBIOS(BasicInput/OutputSystem)的工具。BIOS是计算机主板上的一个固件,它在计算机启动过程中扮演关键角色,负责硬件初始化以及操作系统启动前的准备工作。特点与功能:BIOS修改: AwardBIOSEditor允许用户查看和修改BIOS......
  • python通过COM接口调用CANoe工具实现相关操作
    使用Python来操作CANoe(一个用于汽车总线系统设计、分析、仿真和测试的强大工具),你可以借助win32com库来实现。这涉及到使用COM接口来控制CANoe。以下是一个示例,演示了如何使用Python通过win32com库来操作CANoe。一、前提条件安装Python和win32com库:确保你已经安装了Python......
  • 工程数学 实验5-MATLAB最优化工具箱的使用
    (1)线性规划应用案例的求解1、基本要求通过一个农业生产计划优化安排的实例求解,培养学生解决实际线性规划问题的初步能力;熟悉线性规划的建模过程;掌握Matlab优化工具箱中线性规划函数的调用。2、主要内容某村计划在100公顷的土地上种植a、b、c三种农作物。可以提供的劳力、粪肥和......