【Linux】安全审计-audit

news2024/11/27 2:42:10

文章目录

  • 一、audit简介
  • 二、启auditd服务
  • 三、相关文件
  • 四、审计规则
  • 五、审计日志查询及分析

参考文章:

1、【安全】linux audit审计使用入门
2、audit详细使用配置

写在前面:
1.写博客,做日常工作记录,好记性不如烂笔头嘛;
2.内容非原创,参考的文章已上文列出;
3.如有错误,欢迎指正。

一、audit简介

audit是Linux内核提供的一种审计机制,由于audit是内核提供的,因此,在使用audit的过程中就包含内核空间和用户空间部分

auditctl:用户态程序,用于审计规则配置和配置变更
kaudit:内核空间程序,根据配置好的审计规则记录发生的事件
auditd:用户态程序,通过netlink获取审计日志

通常的使用流程

用户通过auditctl配置审计规则
内核的kauditd程序获取到审计规则后,记录对应的审计日志
用户态的auditd获取审计日志并写入日志文件

二、启auditd服务

systemctl status auditd.service
systemctl start auditd.service

在这里插入图片描述

三、相关文件

# 1.应用配置文件
/etc/audit/auditd.conf
# 2.添加规则的文件
/etc/audit/rules.d/audit.rules
# 3.日志所在目录
/var/log/audit/

四、审计规则

  1. 控制规则:用于更改审计系统本身的配置和设置。
auditctl -b 8192	# 配置buffer大小为8M
auditctl -e 0
auditctl -f 2
auditctl -s
  1. 文件系统规则:审核对特定文件或目录的任何类型的访问(比较常见)
# 项太多了,举例一个,监控针对/etc/passwd文件的读、写、执行和属性改变,关键字为change_passwd
auditctl -w /etc/passwd -p rwxa -k change_passwd
# 如果要查询,
ausearch -i -k change_passwd

详见 auditctl -h

  1. 系统调用规则:用于监视由任何进程或特定用户进行的系统调用
# -S 设置要监控的系统调用名或者系统调用号,下述命令仅作举例
auditctl -S openat

同样:详见 auditctl -h

哈哈:下面截了一个 auditctl -h,仅供参考
在这里插入图片描述

五、审计日志查询及分析

# 仅列举比较常用的方式,-k后面跟创建审计规则时设置的关键字
ausearch -i -k ***

审计日志类似:(各个系统可不同)
在这里插入图片描述
审计日志-字段分析

  • type:audit消息类型,消息类型有100多种
  • msg:消息的ID, 它有两个部分组成, 分号之前的是Unix的时间戳,分号之后的是真正的event ID(同一个应用程序的相同system call拥有相同的event ID, 同一个应用的不同system call则不同。)
  • arch: 调用system call的CPU构架
  • syscall:system call的类型(可以查看https://github.com/torvalds/linux/blob/master/arch/sh/include/asm/unistd.h)
  • success:system call是成功或者失败
  • comm: 出现在任务列表中,应用程序的名称。
  • exe: 二进制程序的解析路径。
  • ses: 用户登录的session ID.
  • auid: audit ID, 针对某一用户,一个进程会被分配一个audit ID, 该audit ID会被传递给子进程,尽管在系统中用户切换,该audit ID将始终保持一致。 这样我们可以针对对某一用户进行trace。
  • a0 to a3: 系统调用的前四个参数的数字化,可以通过ausearch解码查看
  • items: 传递到应用程序的字符串数量
  • ppid:父进程的PID
  • pid:该进程的PID
  • uid: user ID。
  • gid: group ID。
  • euid, suid, fsuid: Effective user ID, set user ID, and file system user ID.
  • egid, sgid, fsgid: Effective group ID, set group ID, and file system group ID.
  • tty: 应用程序开启的终端,这种情况下pseudo-terminal used in an SSH session.

(非重点关注内容,我置灰了,并且改小了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1216748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI视野·今日Sound 声学论文速览 第三十三期】Wed, 25 Oct 2023

AI视野今日CS.Sound 声学论文速览 Wed, 25 Oct 2023 Totally 8 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers CDSD: Chinese Dysarthria Speech Database Authors Mengyi Sun, Ming Gao, Xinchen Kang, Shiru Wang, Jun Du, Dengfeng Yao, Su Jing W…

Notepad++ 和正则表达式 只保留自己想要的内容

一、需求 如下文本,三段相同结构的数据,想要获取每段结构中‘重复的Ids ’后面的数字 2023-10-26 18:49:49 重复的Ids 26443,26575 要删除的Ids 4174,4199,4200,55502023-10-26 18:49:49 重复的Ids 26436,26443,26575 要删除的Ids 4166,4199,4200,5550…

WEB 自动化神器 TestCafe(一)—安装和入门篇

今天小编给大家带来WEB 自动化神器 TestCafe(一) —安装和入门篇 一、TestCafe 介绍: TestCafe 是一款基于 Node.js 的端到端 Web 自动化测试框架,支持 TypeScript 或 JavaScript 来编写测试用例,运行用例,并生成自动化测试报告。…

软件外包开发文档工具

有许多工具可用于生成和管理软件开发文档。这些工具可以帮助团队更有效地协作、记录和维护文档。以下是一些常用的软件开发文档生成工具,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 Javadoc&#…

ESP8266跟ESP-01S区别

看到了吧:ESP8266是一个芯片;ESP8266芯片是由外国的乐鑫公司生产的 ESP8266 Wi-Fi SoC | Espressif Systems ESP-01包含了ESP8266芯片,并且有一些外围电路,这个模块(不是芯片)是由中国的安可信公司生产的。…

2023最新软件测试20个基础面试题及答案

什么是软件测试? 答案:软件测试是指在预定的环境中运行程序,为了发现软件存在的错误、缺陷以及其他不符合要求的行为的过程。 软件测试的目的是什么? 答案:软件测试的主要目的是保证软件的质量,并尽可能大…

【深度学习实验】网络优化与正则化(六):逐层归一化方法——批量归一化、层归一化、权重归一化、局部响应归一化

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、优化算法0. 导入必要的库1. 随机梯度下降SGD算法a. PyTorch中的SGD优化器b. 使用SGD优化器的前馈神经网络 2.随机梯度下降的改进方法a. 学习率调整b. 梯度估计修正 3. 梯度估计修正:动量法Momen…

linux进程间通信之管道通信

Linux 进程间通信机制分三类:数据交互,同步,信号。理解了这些机制才能灵活运用操作系统提供的 IPC 工具。 一.管道 管道是一种文件形式,是内核的一块缓冲区。匿名管道只能用于具有亲缘关系的进程间通信,命名管道可以用…

C语言对10个数进行排序,使用快速排序算法

完整代码&#xff1a; // 对10个数进行排序&#xff0c;使用快速排序算法 #include<stdio.h>//用第一个元素将待排序序列划分成左右两个部分&#xff0c;返回排序后low的位置&#xff0c;即枢轴的位置 int partition(int arr[],int low,int high){//让待排序序列中的第一…

操作系统OS/存储管理/内存管理/内存管理的主要功能_基本原理_要求

基本概念 内存管理的主要功能/基本原理/要求 **内存管理的主要功能&#xff1a; ** 内存空间的分配与回收。由操作系统完成主存储器空间的分配和管理&#xff0c;使程序员摆脱存储分配的麻烦&#xff0c;提高编程效率。地址转换。在多道程序环境下&#xff0c;程序中的逻辑地…

【Git 全功能解析: 探索版本控制的强大工具】

文章目录 概要集中式版本管理和分布式版本管理Git 基础命令基本流程开发管理 概要 “Git 的历史与现状” Git是Linux的创始人Linus Torvalds的又一力作。在2002年&#xff0c;他在Linux内核的版本控制中使用Bitkeeper&#xff0c;但由于Bitkeeper是一款受版权保护的软件&…

什么是脏读、不可重复读、幻读讲解

数据库隔离级别是数据库管理系统中一个重要的概念&#xff0c;它定义了事务之间的可见性和影响。在多用户并发访问数据库时&#xff0c;隔离级别能够确保事务之间的相互独立性&#xff0c;避免数据不一致的问题。本文将深入探讨三种常见的并发问题&#xff1a;脏读、不可重复读…

TikTok运营干货——养号篇

随着国内抖音红利的进一步释放&#xff0c;越来越多人涌入了TikTok国内外市场。而TikTok作为海外新兴的社媒平台&#xff0c;也在迅速的发展着&#xff0c;吸引了大批的跨境电商玩家入驻。然而&#xff0c;TikTok运营的一大难点就是养号&#xff0c;许多人还没开始转化号就被封…

vue3别名配置(vite)

1、配置别名的优点&#xff1a; 在VUE项目中import导入文件时&#xff0c;可以写相对路径. 2、在vite.config.js中配置 a. 首先引入path import path from "path"/* */ b.在resolve添加别名&#xff0c;例如&#xff1a; alias:{"~":path.resolve(__di…

零基础快速上手FFmpeg!一篇就够啦~

在这个自媒体盛行的时代&#xff0c;音视频&#xff08;电影、音乐&#xff09;对于我们来说是再熟悉不过了吧。那么对于一个音视频文件&#xff0c;都有哪些属性呢&#xff1f;以视频为例&#xff0c;我们可以通过如下命令查看其信息。 > ffmpeg -i .\demo.mp4 ffmpeg ver…

探索arkui(2)--- 布局(列表)--- 2(支持分组/实现响应滚动位置)

前端开发布局是指前端开发人员宣布他们开发的新网站或应用程序正式上线的活动。在前端开发布局中&#xff0c;开发人员通常会展示新网站或应用程序的设计、功能和用户体验&#xff0c;并向公众宣传新产品的特点和优势。前端开发布局通常是前端开发领域的重要事件&#xff0c;吸…

通义灵码,阿里巴巴的编程辅助工具

一、官网 通义灵码_智能编码助手_AI编程_人工智能-阿里云 二、安装VSCode 如何下载安装VSCode 三、VSCode安装通义灵码 1.访问扩展详情界面 方式1 访问通义灵码安装教程页面 方法2 访问VSCode市场中的TONGYI Lingma 点击 Install 按钮访问扩展详情界面 2.打开VSCode …

udp多点通信-广播-组播

单播 每次只有两个实体相互通信&#xff0c;发送端和接收端都是唯一确定的。 广播 主机之间的一对多的通信所有的主机都可以接收到广播消息(不管你是否需要)广播禁止穿过路由器&#xff08;只能做局域网通信&#xff09;只有UDP可以广播广播地址 有效网络号全是1的主机号 192.1…

《成为一名优秀的架构师:从基础到实践》

文章目录 前言《高并发架构实战&#xff1a;从需求分析到系统设计》《架构师的自我修炼&#xff1a;技术、架构和未来》《中台架构与实现&#xff1a;基于DDD和微服务》《分布式系统架构&#xff1a;架构策略与难题求解》《流程自动化实战&#xff1a;系统架构和软件开发视角 》…

人工智能-深度学习之序列模型

想象一下有人正在看网飞&#xff08;Netflix&#xff0c;一个国外的视频网站&#xff09;上的电影。 一名忠实的用户会对每一部电影都给出评价&#xff0c; 毕竟一部好电影需要更多的支持和认可。 然而事实证明&#xff0c;事情并不那么简单。 随着时间的推移&#xff0c;人们对…