Linux审计工具auditd使用与日志收集

auditd.conf的详细参数说明 ``` # 本地的事件是否记录,设置为no的场景应该是只作为远程日志收集的服务器,但自身的日志大多数时候也是有必要记录的 local_events = yes # 日志是否落盘,设置为no的场景应该是将会把日志存储到远程服务器的客户端(没有足够空间的情况下) write_logs = yes # 日志记录的文件 log_file = /var/log/audit/audit.log # 日志文件默认所属的组 log_group = adm # 日志的格式,一般设置为RAW即可 log_f 阅读详情
AI摘要

本文介绍Linux下的Auditd审计工具,涵盖其安装、配置及常用命令的使用方法。详细解析如何通过Auditd监控系统活动,保障系统安全。

0 概述

Auditd工具可以帮助运维人员审计Linux,分析发生在系统中的发生的事情。Linux 内核有用日志记录事件的能力,包括记录系统调用和文件访问。管理员可以检查这些日志,确定是否存在安全漏洞(如多次失败的登录尝试,或者用户对系统文件不成功的访问)。

1 安装

Centos7默认已安装Audit
在这里插入图片描述
使用命令service auditd status可查看该服务是否开启
在这里插入图片描述

2 配置文件

在/etc/audit路径下
在这里插入图片描述
auditd.conf文件 ----审计工具的配置文件
audit.rules文件 ----审计的规则,该文件由/etc/audit/rules.d产生
audit-stop.rules文件 ----审计停止规则,该文件定义了停止检测
rules.d目录 ----定义需要审计的规则,写到文件之后会永久有效

如下是auditd.conf,审计工具配置文件。在该文件中,用中文增加了对应的参数值解释。详细解释,可查阅官方解释:https://linux.die.net/man/8/auditd.conf
在这里插入图片描述

3 auditd工具

 auditctl:auditd默认操作命令
 aureport:生成和查看审计规则的文件
 ausearch:是一个搜索各种事件的工具
 autrce:用于跟踪进程的命令

3.1 auditctl命令

auditctl –l 查看当前定义的规则
auditctl –a 添加一条检测规则(当前添加的规则临时有效,永久生效需要修改配置文件)
auditctl -a action,filter -S system_call -F field=value -k key_name

action和filter 明确一个事件被记录。action可以为always或者never,filter明确出对应的匹配过滤,filter可以为:task、exit、user、exclude。
system_call 明确出系统调用的名字,几个系统调用可以写在一个规则里,如-S xxx -S xxx。系统调用的名字可以在/usr/include/asm/unistd_64.h文件中找到。其中字段中具体解释,参考: https://blog.youkuaiyun.com/xiyangfan/article/details/5259258
field=value 作为附加选项,修改规则以匹配特定架构、GroupID,ProcessID等的事件。具体有哪些字段,可以参考https://linux.die.net/man/8/auditctl
如:一个文件被user ID为1000或者更大的用户删除,或重命名,记录审计,命令如下:

auditctl -a always,exit -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete
auditctl -a always,exit -F path=/etc/shadow -F perm=wa

等价于 auditctl –w /etc/shadow –p wa

auditctl –d 删除一条规则
auditctl –D 删除所有规则
auditctl –w 指定要审计的文件或目录路径
auditctl –p[r|w|x|a] 和-w一起使用指定触发审计的文件/目录的访问权限

rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(改变在文件或者目录中的属性)

auditctl –k 指定别名,方便下次审计时可以根据该名字进行调用,并查看相关的信息
auditctl –s 查看auditd服务状态
auditctl -e  设置使能标志

设置为0,关闭audit,设置为1,开启audit;当设置为2时,表示锁定,一般在设置完其他规则后最后设置,防止其他人修改规则;任何修改规则的行为都会被拒绝,并且记录审计日志,只有当重启系统后,这个使能标志才可以被修改。

3.2 aureport命令

aureport 生成总结性记录

-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	关于可执行文件的报表

3.3 ausearch命令

ausearch -a 5207   搜寻当前audit服务中event ID等于5207的log

ausearch –k xx 按指定别名查看审计内容

ausearch –i  格式化输出

ausearch –f  根据指定的审计目录或文件查看审计内容

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设定的字符串查找

3.4 autrce

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

autrace /usr/bin/less

在这里插入图片描述

4 审计日志

4.1 例子

添加如下两条审计的规则:

auditctl -w /root/chen/test.sh -p wxra -F uid=root -k auditest1
auditctl -a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -S renameat -S mkdir -S rmdir -S creat -F uid!=root -F dir=/root/chen/test -k auditest2

添加完成之后用auditctl –l查看相关信息:

在这里插入图片描述
使用ausearch -k auditest1 -i 和ausearch -k auditest2 -i查看当前的审计日志
在这里插入图片描述
审计日志内容显示,当前审计规则已经录入
分别使用root和非root用户运行test.sh脚本,sh test.sh,此时再查看审计日志
在这里插入图片描述
此时可以使用命令ausearch –k auditest1 -i查看审计内容,只有root用户执行的命令被审计日志记录下来
在这里插入图片描述
同样在/root/chen/test目录下分别使用root和非root用户创建文件root和chen目录
在这里插入图片描述
使用命令ausearch -k auditest2 –i –c mkdir,只有非root用户创建文件夹的操作会被记录
在这里插入图片描述

4.2 审计日志内容分析

type=SYSCALL

每条记录都是以type=”keyword“开头,SYSCALL表示这条记录是向内核的系统调用触发产生的。更详细的type值和解释可以参考:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-Audit_Record_Types

audit

在audit(time_stamp:ID)格式中,记录时间戳,从1970年1月1日00:00:00到现在的时间,ID为记录中唯一的ID标识,同一个事件产生的ID是相同的。

arch=c000003e

表示系统的CPU架构,这个十六进制表示”x86_64“,使用命令ausearch -i --arch c000003e可以打印出有这部分内容的audit.log中日志的解释。需要注意的是,使用ausearch来查询时,需要保证audit log中有这样的日志记录。

syscall=257

向内核的系统调用的类型,类型值为257,在/usr/include/asm/unistd_64.h中有定义,这里257表示openat,可以使用命令ausyscall来查询不同的数字对应的系统调用名称。或者使用ausyscall --dump命令来显示所有的系统调用。

success=yes

表示系统调用成功与否

exit=3

系统调用结束时的返回码,可以使用如下命令来查看返回值为3的日志解释,不同的系统调用,返回值不同

#ausearch --interpret --exit 3
a0=ffffffffffffff9c a1=21e0550 a2=90800 a3=0

系统调用时的前四个arguments,这些arguments依赖于使用的系统调用,可以使用ausearch来查看解释(部分参数可以打印出数值具体的解释)。

items=1

表示跟在系统调用后,补充记录的个数。

ppid=2354

父进程ID,如bash的ID。

pid=30729

进程Id,即为ls进程的ID。我们通过ps来查询,可以看到bash的进程与ppid是对应的

auid=0

auid记录Audit user ID,that is the loginuid。auid为登录用户的ID,如果是root,ID为0。
uid=1001,gid=1001, euid=1001, suid=1001, fsuid=1001, egid=1001, sgid=1001, fsgid=1001
uid为启动这个分析进程的用户的ID,即具体执行进程的用户ID。后面分别对应着,group ID组用户ID,effective user ID有效用户ID, set user ID设置用户ID, file system user ID文件系统用户ID, effective group ID有效组用户ID, set group ID设置组用户ID, file system group ID文件系统组ID

tty=pts0

具体在哪个终端tty执行的操作。如执行ls这个操作是在哪个终端进行的。

ses=10868  

session ID,对话ID。

comm=ls

什么命令导致的审计记录。

exe=“/usr/bin/ls”

记录可执行文件的具体路径

type=CWD

type值为CWD,即current working directory。记录的是当前进程的位置

inode=99213313 

inode表示这个文件或目录的inode number,可以用如下命令来查询当前inode对应的文件

find / -inum 99213313 -print
dev=08:11

dev字段,指明device的minor和major ID。

mode=040755

mode字段表示文件或路径的权限。

ouid=0

对象所有者的ID

ogid=0

对象所有组者ID.

4.3 审计日志报告

使用aureport命令可以生成日志报告
在这里插入图片描述

aureport –au 生成关于身份验证的报告

在这里插入图片描述

aureport –k –i 按之前设置的关键字生成报表 

在这里插入图片描述

aureport –s 按系统调用生成报表

在这里插入图片描述

aureport –ts 02/02/2021 00:00:00 –te today 按指定时间生成报表

在这里插入图片描述

aureport -p –i 按进程的pid生成报表

在这里插入图片描述

aureport –t 按时间查看日志

在这里插入图片描述

aureport –if <文件名> 按文件名生成报表

在这里插入图片描述

Linux auditd.conf详解 研究audit日志规则,本文为进程配置。 # 审计日志文件的完整路径。如果您配置守护进程向除默认/var/log/audit/外的目录中写日志文件时, # 一定要修改它上面的文件权限,使得只有根用户有读、写和执行权限。所有其他用户都不能访问这个 # 目录或这个目录中的日志文件。 log_file =/var/log/audit/audit.log # 写日志时要使用的格式。当设置为RAW 阅读详情

相关推荐

audit安装配置及使用

官网链接:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/security_guide/chap-system_auditing。

weixin_45630387的博客 3682

Linux安全之auditd审计工具使用说明

audited是Linux审核系统的用户空间组件。它负责将审核记录写入磁盘。查看日志是通过ausearch或aureport实用程序完成的。审核系统或加载规则的配置是使用auditctl实用程序完成的。在启动过程中,/etc/audit/audit.rules中的规则由auditctl读取并加载到内核中。另外,还有一个augenrules程序,它读取/etc/audit/rules.d/中的规则,并将它们编译为audit.rules文件。

Innocence_0的博客 7279

Linux auditd主机系统安全审计服务配置技术方案

Auditd是什么 Auditd是Linux审计系统的用户空间组件。Auditd是Linux审计守护进程的缩写。在Linux中,daemon被称为后台运行服务,当它在后台运行时,应用程序服务的末尾附加了一个“d”。auditd的工作是作为后台服务收集审计日志文件并将其写入磁盘。 审计系统由两个主要部分组成:用户空间应用程序和实用程序,以及内核端系统调用处理。内核组件接收来自用户空间应用程序的系统调用,并通过以下过滤器之一对其进行过滤:user、task、fstype或exit。 一旦系统调用通过了excl

watermelonbig的专栏 1万+

auditd-attack与SIEM集成:如何将Linux审计日志导入安全信息事件管理系统

auditd-attack是一个映射MITRE攻击框架的Linux审计规则集,能够帮助系统管理员监控和记录各类安全事件。本文将详细介绍如何将auditd-attack生成的Linux审计日志导入安全信息事件管理(SIEM)系统,实现集中化的安全事件监控与分析。 ## 为什么需要将auditd-attack与SIEM集成? 在当今复杂的网络环境中,单一的审计工具难以应对日益增长的安全威胁。aud

gitblog_00139的博客 325

Linux日志审计与故障追踪:从日志收集到根因定位的工程实践

日志是系统运行状态的忠实记录,其核心价值在于将海量、分散的时序信息转化为可检索、可关联的线索链。其基本原理是通过统一的收集、解析和索引,将非结构化的文本数据转化为结构化的字段,从而支持高效的查询与分析。在技术实现上,这通常涉及日志收集器(如Fluent Bit)、中心化存储(如Elasticsearch或Loki)以及查询分析界面。这套技术体系对于保障系统稳定性、快速故障恢复以及满足安全合规要求至关重要,尤其适用于微服务、容器化等复杂分布式环境下的问题诊断。本文聚焦于Linux环境,详细阐述了如何构建一个从

weixin_30268071的博客 843

Linux Audit系统配置与安全审计实践指南

Linux系统安全审计是信息安全领域的基础设施,通过内核级事件监控实现细粒度的行为追踪。其核心原理是通过hook系统调用和文件访问,记录包括用户登录、特权操作等关键事件。作为CIS安全基线的重要组成部分,审计系统能有效满足等保合规要求,同时为入侵检测提供原始数据。典型的应用场景包括监控敏感文件访问、追踪特权命令执行以及分析异常登录行为。本文以auditd框架为例,详解规则配置技巧与ausearch日志分析方法,特别针对/etc/passwd等关键文件的监控方案,帮助构建企业级安全审计体系。

weixin_29324877的博客 30

Linux系统之auditd详解

auditd 是 Linux 审计系统的核心守护进程,它负责从内核审计框架收集信息,并将其写入磁盘上的日志文件中。通过 auditd,管理员可以监控系统的各种活动,包括文件访问、权限更改、系统调用等,这对于提高系统的安全性以及满足合规性要求非常重要。

weixin_56303229的博客 1209

Linux安全审计实战:auditd核心功能与高级配置指南

本文详细介绍了Linux系统中auditd审计工具的核心功能与高级配置方法。从基础安装、规则配置到日志分析与性能优化,全面解析如何利用auditd实现系统安全监控,包括文件访问、用户行为等关键审计场景,帮助管理员构建完善的安全审计体系。

weixin_29224589的博客 451

auditd-attack:Linux安全监控的终极武器 - 基于MITRE ATT&CK框架的完整审计规则集

auditd-attack是一个将Linux Auditd规则集与MITRE ATT&CK框架映射的安全工具,为系统管理员提供了全面的安全审计解决方案。通过预定义的规则集,用户可以快速部署符合行业标准的安全监控策略,有效检测和响应各类攻击行为。 ## 🛡️ 什么是auditd-attack? auditd-attack是一个开源项目,它将Linux系统自带的auditd审计工具与MITRE

gitblog_00744的博客 863

Linux 命令 | 每日一学,Audit 安全审计相关工具

描述: Linux 审计系统提供了一种方式来跟踪系统上与安全相关的信息。根据预配置的规则,审计会生成日志条目,来尽可能多地记录系统上所发生的事件的相关信息。对于关键任务环境而言至关重要,可用来确定安全策略的违反者及其所执行的操作。审计不会为您的系统提供额外的安全,而是用于发现系统上使用的安全策略的违规。可以通过其他安全措施(如 SELinux)进一步防止这些违规。

全栈工程师修炼指南-IT知识分享 1190

eNSP无法启动AR报错码40,而且按照eNSP帮助手册排查都没用,我的处理方法【自己存档版】

eNSP无法启动AR报错码40,而且按照eNSP帮助手册排查都没用,我的处理方法【自己存档版】

mizhiakk的博客 8424

麒麟系统关闭auditd

【代码】麒麟系统关闭auditd。

喝醉酒的小白 2037

Kimi K3大模型API实战:从调用到本地知识库问答系统构建

大语言模型(LLM)作为人工智能的核心技术,通过海量数据训练获得理解和生成自然语言的能力。其工作原理基于Transformer架构,通过自注意力机制捕捉长距离依赖关系。这项技术的核心价值在于能够将非结构化文本转化为可计算、可交互的智能体,极大地提升了信息处理和自动化任务的效率。在应用场景上,大模型广泛应用于智能对话、代码生成、文档总结与问答等领域。其中,国产大模型如月之暗面推出的Kimi K3,凭借其在**长文本处理**和**中文场景优化**方面的优势,为开发者提供了新的技术选项。本文将以Kimi K3为例

weixin_30694389的博客 299

Linux audit详解

什么是audit The Linux Audit Subsystem is a system to Collect information regarding events occurring on the system(s) ,Kernel events (syscall events), User events (audit-enabled programs) syslog记录的信息有限,主要...

whuzm08的专栏 3万+

11.15 分析finrl 的框架

11.15 分析finrl 的框架

yueguoqing88的博客 1086

HTML流光爱心(完整代码)

HTML语言实现红蓝色流光爱心效果的完整代码。

AIGC 1万+

Linux日志管理实战:从收集分析到存储优化

日志作为系统运行的核心数据载体,记录了硬件状态、软件行为和用户操作等关键信息。其技术原理是通过syslog协议或应用内置记录功能,将事件按时间序列结构化存储。在运维领域,日志分析能实现故障快速定位(如RH134认证要求的排错能力)、安全威胁发现(通过auditd监控敏感文件)以及性能瓶颈识别(借助sar日志)。典型应用场景包括服务器崩溃诊断、异常登录检测和资源利用率优化。本文重点演示了rsyslog收集方案与logrotate存储策略的工程实践,并给出ELK Stack在分布式环境中的部署方法,其中正则表达

weixin_30701575的博客 301

PHP 网页游戏开发入门教程

我们还链接了一个名为 “game.js” 的 JavaScript 文件,稍后将在其中编写游戏逻辑。这只是一个简单的示例,但它演示了如何使用 PHP 和 JavaScript 开发一个基本的网页游戏。以下是一个示例游戏的源代码和解释。现在,您可以在浏览器中打开 “game.php” 文件,即可看到一个带有红色游戏角色的游戏板。在上述代码中,我们使用 JavaScript 创建了一个游戏角色元素,并将其添加到游戏板容器中。最后,我们需要将游戏元素的样式设置为绝对定位,以便能够正确地控制它们的位置。

KkowServer的博客 678

Linux系统日志实战:从故障排查到安全审计的完整指南

在服务器运维与安全应急中,日志是还原事故现场的关键依据。Linux系统通过/var/log目录和systemd-journald形成了统一的日志体系,涵盖内核、服务、认证等多类信息。理解日志的产生原理与存储机制,是高效排查故障、发现入侵痕迹的基础。借助journalctl、logrotate、rsyslog等工具,运维人员可以按时间线精确定位异常,实现日志轮转与远程集中收集,从而保障数据的完整性和可追溯性。安全审计则依赖/var/log/secure、auditd等记录登录、提权与文件变更行为,为渗透复盘提

weixin_31528001的博客 275

V90伺服 EPOS模式下回原(详细配置+SCL源代码)

/ 输出上限 100.0%rSetPoint : Real;// 设置目标值工程量。// 通道转换参考值。Td : Real;

RXXW_Dor的博客 2666

ICC2:使用analyze_lib_cell_placement检查lib cell的pass rate

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?在place之前需要使analyze_lib_cell_placement命令去检查lib cell在当前的site row/power plan/legalize设置的环境下能够正常place和legalize。下面分享一个脚本去报告pass rate低于2%的lib cell。

m0_61544122的博客 675

mysql5.7审计功能开启_linux audit审计系统

前言audit子系统在linux安全领域应用广泛。本文主要介绍linux审计系统原理、安装配置、使用方法,以及内核中syscall 审计源码分析,争取展现一个立体的linux audit。本文篇幅较长且包含大量源码,对某个方面感兴趣的,建议直接滑动跳至相关章节。注:本文所有kernel 源码均来自kernel 4.18.0,实验平台是centos8.1什么是audit?linux audit子系统...

weixin_33788424的博客 1545

骑砍Ⅱ霸主MOD开发(16)-FaceKey&BannerKey

摘要:本文介绍了FaceKey人物模型和BannerKey旗帜模型的生成流程。FaceKey通过序列化参数生成人物模型,包括头部(脸部、嘴、睫毛、眼睛)、眉毛、头发、身体和躯干等组件,每个部分通过特定标签和骨骼绑定实现。BannerKey则通过解析参数生成旗帜模型,包括模型、贴图和颜色等元素。两种模型都采用参数化设计和XML配置文件实现模型生成与定制。

骑砍战团&霸主MOD开发 2286

Linux日志体系实战:从故障排查到安全审计与渗透复盘

日志系统是Linux运维与安全工作中最基础也最关键的数据源,它记录了系统内核、服务进程、用户登录及权限操作的完整轨迹。现代Linux发行版普遍采用传统文本日志与systemd-journald并行的双轨制,理解rsyslog与journalctl各自的特性和适用场景,是高效读取日志、快速定位问题的前提。日志轮转机制则保障了海量日志下磁盘空间的稳定,避免因日志增长拖垮业务。在实际运维中,围绕/var/log下的关键文件,利用时间窗口过滤、关键字检索和上下文分析等手法,可以高效完成故障排查;在安全场景中,通过审

weixin_33391446的博客 51

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

别再只盯着history了!用Auditd在Ubuntu 20.04上打造企业级命令审计日志(附ausearch/aureport实战解析)

本文详细介绍了在Ubuntu 20.04上使用Auditd打造企业级命令审计日志的完整方案。通过配置Auditd监控execve系统调用,解析原始日志,并结合ausearch和aureport工具进行高效查询与报告生成,帮助系统管理员实现防篡改、完整时间戳和用户关联的命令审计,满足企业合规需求。

weixin_33725807的博客 648

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: Linux-ARM版kibana7.3.2镜像离线编译
下一篇: 对比Auditbeat和Filebeat(auditd模块)采集linux审计日志(audit.log)
不以物喜2020
博客等级 码龄8年 85粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值