Linux audit log分析工具---aureport、ausearch、autrace

一、概述

上一篇(理解Linux Audit Service.)我们主要解析了audit服务的结构,audit服务的配置以及如何阅读audit log各项所代表的意思。这一篇我们主要介绍如何利用audit提供的三个工具aureport、ausearch、autrace有针对性地去统计分析以及跟踪log日志。

二、aureport

RAW类型的audit log会存放在/var/log/audit目录下,这些log体量大而且比较难懂,用aureport可以轻易的统计量化日志报告:

aureport -if myfile           #aureport 没带任何参数,仅用-if指定一个audit log文件, 统计出它的总体的log报告, 如何不指定文件,显示当前audit的统计。

Summary Report
======================
Range of time in logs: 03/02/09 14:13:38.225 - 17/02/09 14:52:27.971
Selected time for report: 03/02/09 14:13:38 - 17/02/09 14:52:27.971
Number of changes in configuration: 13
Number of changes to accounts, groups, or roles: 0
Number of logins: 6
Number of failed logins: 13
Number of authentications: 7
Number of failed authentications: 573
Number of users: 1
Number of terminals: 9
Number of host names: 4
Number of executables: 17
Number of files: 279
Number of AVC‘s: 0
Number of MAC events: 0
Number of failed syscalls: 994
Number of anomaly events: 0
Number of responses to anomaly events: 0
Number of crypto events: 0
Number of keys: 2
Number of process IDs: 1211
Number of events: 5320

aureport -l

aureport -l -ts 14:00 -te 15:00 -if myfile    #对于myfile的log文件,统计出从14:00到15:00的用户登录信息。

Login Report
============================================
# date time auid host term exe success event
============================================
1. 17/02/09 14:21:09 root: 192.168.2.100 sshd /usr/sbin/sshd no 7718
2. 17/02/09 14:21:15 0 jupiter /dev/pts/3 /usr/sbin/sshd yes 7724

aureport --failed/success

aureport --failed    #针对失败的event的统计,如果统计成功的用aureport --success

Failed Summary Report
======================
Range of time in logs: 03/02/09 14:13:38.225 - 17/02/09 14:57:35.183
Selected time for report: 03/02/09 14:13:38 - 17/02/09 14:57:35.183
Number of changes in configuration: 0
Number of changes to accounts, groups, or roles: 0
Number of logins: 0
Number of failed logins: 13
Number of authentications: 0
Number of failed authentications: 574
Number of users: 1
Number of terminals: 5
Number of host names: 4
Number of executables: 11
Number of files: 77
Number of AVC‘s: 0
Number of MAC events: 0
Number of failed syscalls: 994
Number of anomaly events: 0
Number of responses to anomaly events: 0
Number of crypto events: 0
Number of keys: 2
Number of process IDs: 708
Number of events: 1583
aureport -u -i --summary    #对用户的event进行总体统计

User Summary Report
===========================
total  auid
===========================
5640  root
13  tux
3  wilber
aureport -e -ts 14:00 -te 14:21    #从14:00到14:21的event事件列表。

Event Report
===================================
# date time event type auid success
===================================
1. 17/02/09 14:20:27 7462 DAEMON_START 0 yes
2. 17/02/09 14:20:27 7715 CONFIG_CHANGE 0 yes
3. 17/02/09 14:20:57 7716 USER_END 0 yes
4. 17/02/09 14:20:57 7717 CRED_DISP 0 yes
5. 17/02/09 14:21:09 7718 USER_LOGIN -1 no
6. 17/02/09 14:21:15 7719 USER_AUTH -1 yes
7. 17/02/09 14:21:15 7720 USER_ACCT -1 yes
8. 17/02/09 14:21:15 7721 CRED_ACQ -1 yes
9. 17/02/09 14:21:15 7722 LOGIN 0 yes
10. 17/02/09 14:21:15 7723 USER_START 0 yes
11. 17/02/09 14:21:15 7724 USER_LOGIN 0 yes
12. 17/02/09 14:21:15 7725 CRED_REFR 0 yes
aureport -p    #对于进程所有event的信息

Process ID Report
======================================
# date time pid exe syscall auid event
======================================
1. 13/02/09 15:30:01 32742 /usr/sbin/cron 0 0 35
2. 13/02/09 15:30:01 32742 /usr/sbin/cron 0 0 36
3. 13/02/09 15:38:34 32734 /usr/lib/gdm/gdm-session-worker 0 -1 37
aureport -s   #system call的报告

Syscall Report
=======================================
# date time syscall pid comm auid event
=======================================
1. 16/02/09 17:45:01 2 20343 cron -1 2279
2. 16/02/09 17:45:02 83 20350 mktemp 0 2284
3. 16/02/09 17:45:02 83 20351 mkdir 0 2285
aureport -x   #从可执行的角度去查看audit log

Executable Report
====================================
# date time exe term host auid event
====================================
1. 13/02/09 15:08:26 /usr/sbin/sshd sshd 192.168.2.100 -1 12
2. 13/02/09 15:08:28 /usr/lib/gdm/gdm-session-worker :0 ? -1 13
3. 13/02/09 15:08:28 /usr/sbin/sshd ssh 192.168.2.100 -1 14
aureport -f    #生成一个文件相关event的日志报告

File Report
===============================================
# date time file syscall success exe auid event
===============================================
1. 16/02/09 17:45:01 /etc/shadow 2 yes /usr/sbin/cron -1 2279
2. 16/02/09 17:45:02 /tmp/ 83 yes /bin/mktemp 0 2284
3. 16/02/09 17:45:02 /var 83 no /bin/mkdir 0 2285
aureport -u     #对于用户在系统运行命令的生成的报告

User ID Report
====================================
# date time auid term host exe event
====================================
1. 13/02/09 15:08:26 -1 sshd 192.168.2.100 /usr/sbin/sshd 12
2. 13/02/09 15:08:28 -1 :0 ? /usr/lib/gdm/gdm-session-worker 13
3. 14/02/09 08:25:39 -1 ssh 192.168.2.101 /usr/sbin/sshd 14
aureport -l -i    #用户登录事件生成的报告

Login Report
============================================
# date time auid host term exe success event
============================================
1. 13/02/09 15:08:31 tux: 192.168.2.100 sshd /usr/sbin/sshd no 19
2. 16/02/09 12:39:05 root: 192.168.2.101 sshd /usr/sbin/sshd no 2108
3. 17/02/09 15:29:07 geeko: ? tty3 /bin/login yes 7809
aureport -t   #查看audit log文件包含日志的起止时间

Log Time Range Report
=====================
/var/log/audit/audit.log: 03/02/09 14:13:38.225 - 17/02/09 15:30:01.636

三、ausearch

aureport帮助我们生成总体的日志总结, 如果我们对特定的event感兴趣,我们可以通过ausearch去过滤想要的日志。

ausearch - option -if myfile

它可以指定特定的日志文件进行分析, 通过加上"-i"可以将数据格式的,转化成可读的文本格式,比如user ID 和ASCII 码形式的cmd。

ausearch -a 5207    #搜寻当期audit服务中event ID等于5207的log
----
time->Tue Feb 17 13:43:58 2009
type=PATH msg=audit(1234874638.599:5207): item=0 name="/var/log/audit/audit.log" inode=1219041 dev=08:06 mode=0100644 ouid=0 ogid=0 rdev=00:00
type=CWD msg=audit(1234874638.599:5207):  cwd="/root"
ausearch -m    #按消息类型查找
ausearch -ul   #按登陆ID查找
ausearch -ua   #按uid和euid查找
ausearch -ui   #按uid查找
ausearch -ue   #按euid查找
ausearch -ga   #按gid和egid查找
ausearch -gi   #按gid查找
ausearch -ge   #按egid查找
ausearch -c    #按cmd查找
ausearch -x    #按exe查找
ausearch -sc   #按syscall查找
ausearch -p    #按pid查找
ausearch -sv   #按syscall的返回值查找(yes/no)
ausearch -f    #按文件名查找
ausearch -tm   #按连接终端查找(term/ssh/tty)
ausearch -hn   #按主机名查找
ausearch -k    #按特定的key值查找
ausearch -w    #按在audit rule设定的字符串查找

四、autrace

为了跟踪设置的rule有没有生效,我们经常会追踪指定的进程,autrace生成的log会存放在/var/log/audit/audit.log。 当用autrace去跟踪一个进程时,为了保证避免autrace与之前audit rule生成的日志冲突,使用auditctl -D去停止所有的audit log, 当autrace结束后,使用systemctl restart auditd重启audit服务。

auditctl -D

No rules

autrace /usr/bin/less

Waiting to execute: /usr/bin/less
Cleaning up...
No rules
Trace complete. You can locate the records with ‘ausearch -i -p 7642‘

五、日志的可视化

aureport -e -i --summary   #分类统计事件数量

Event Summary Report
======================
total  type
======================
2434  SYSCALL
816  USER_START
816  USER_ACCT
814  CRED_ACQ
810  LOGIN
806  CRED_DISP
779  USER_END
99  CONFIG_CHANGE
52  USER_LOGIN

aureport -e -i --summary  | mkbar events    #分类统计事件数量,并画出图表。

以上就是audit service到生成aduit log的所有内容,中间省略了audisp作为audit event的分发器,将事件实时分类发送到各应用程序。下一篇将列出Audit Record Type的所有列表贡查阅。

原文地址:https://www.cnblogs.com/liquan2005/p/9240734.html

时间: 2024-10-11 22:09:15

Linux audit log分析工具---aureport、ausearch、autrace的相关文章

Linux系统IO分析工具之iotop参数详解(查看IO占用)

这篇文章主要介绍了Linux系统IO分析工具之iotop参数详解(查看IO占用),本文着重注解了iotop工具的参数,以及可操作命令,需要的朋友可以参考下 简介: iotop – simple top-like I/O monitoriotop是一个用来监视磁盘I/O使用状况的 top 类工具,可监测到哪一个程序使用的磁盘IO的信息(requires 2.6.20 or later) 安装: 复制代码 代码如下: yum -y install iotop 用法: 复制代码 代码如下: iotop

perf工具-linux下性能分析工具

从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找. perf Performance analysis tools for Linux. Performance counters for Linux are a new kernel-based subsystem that provide a framework for all things performance analysis. It covers hardware level (CP

Linux Audit log

Background:linux操作系统 如果发现一个进程不明被杀掉 而且也不知道被哪一个进程杀掉的,如果我们不知道 可以通过 Configuration: 1). root登录并打开audit.rules文件,位于/etc/audit/文件夹下. 添加以下内容:-a always,exit -F arch=b64 -S kill -k *wg934* Note: 如果坏境是32位请 改为 -F arch=b32*wg934* 只是后面的标记, 方面查看用的 没特别意思 2). 重启aduitd

PHP Apache Access Log 分析工具 拆分字段成CSV文件并插入Mysql数据库分析

现在需要分析访问日志,怎么办? 比如分析D:\Servers\Apache2.2\logs\access2014-05-22.log http://my.oschina.net/cart/针对这个问题特意开发了一款小工具分析Apache 日志,拆分字段成CSV文件并插入Mysql数据库分析 <?php $date = '2014-05-22'; file_put_contents($date.'.csv', ''); file_put_contents($date.'.csv', '"IP

linux网络问题分析工具之tcpdump

tcpdump可以将网络中传送的数据包的"头"完全截获下来提供分析,用于网络分析和问题排查. 一.举例: 1.如果想要获取主机192.168.228.246接收或发出的ssh包,并且不转换主机名使用如下命令: #tcpdump -nn -n src host 192.168.228.246 and port 22 and tcp 2.获取主机192.168.228.246接收或发出的ssh包,并把mac地址也一同显示:# tcpdump -e src host 192.168.228.

linux性能指标及分析工具

一.CPU 1.良好状态指标 CPU利用率:User Time <= 70%,System Time <= 35%,User Time + System Time <= 70%. 上下文切换:与CPU利用率相关联,如果CPU利用率状态良好,大量的上下文切换也是可以接受的. 可运行队列:每个处理器的可运行队列<=3个线程. 2.监控工具 vmstat $ vmstat 1 procs -----------memory---------- ---swap-------io---- -

【Linux】日志分析工具grep sed sort

遇到一个问题,在查询日志时发现,服务器上打印的文件有很多个,每个都存储了一部分日志, 需要将日志按照时间排序,并显示所有日志. 原命令: grep -h  searchContent */*log 搜索出来的结果会将所有内容显示出来格式如下: File1.log:时间…. File2.log:时间…. 由于文件名后面的日志也包含:,所以使用分隔符:进行分隔排序的方法不可行,此时需要在grep时不将文件名包含进来,搜索一通之后,找到一个参数"-h",可以不显示文件名 grep -h  s

Linux源码分析工具-Source Insight

下载地址:http://www.sourceinsight.com/down35.html 可用注册码:SI3US-205035-36448 使用说明:http://wenku.baidu.com/view/86bda63887c24028915fc33e.html 版权声明:本文为博主原创文章,未经博主允许不得转载.

Linux下常用的系统性能查看分析工具

Linux中,很多很全面显示系统当前运行状态,负载,I/O等信息的工具,帮助管理员实时了解系统运行动态,以及排除故障. ps命令:显示进程状态,快照方式显示. 进程分为两类:一类是用户通过终端启动的进程,一类是与终端无关的进程,多为守护进程. ps命令支持两种风格的命令:SysV风格 BDS风格.带横线的是SysV风格. ps命令选项:     a  :与终端有关的进程     x  : 与终端无关的进程     u  : 显示是哪个用户启动的       -e : 显示所有进程     -f