CentOS历史命令查询、用户操作审计

目录

历史命令查询

常规方法

直接解析历史命令文件(推荐)

用户操作审计

sudo日志

audit日志

systemd日志(推荐)


历史命令查询

常规方法

# 显示历史命令
history# 增加时间显示:
# 临时生效
export HISTTIMEFORMAT="%F %T "
# 永久生效
vim ~/.bashrc
export HISTTIMEFORMAT="%F %T "
source ~/.bashrc

存在的问题:实际执行可能不支持历史命令时间显示

-bash: HISTTIMEFORMAT: readonly variable

直接解析历史命令文件(推荐)

import timehistory_path = r'/root/.bash_history'lines = open(history_path, 'r').readlines()[1:]
for i in range(1000, len(lines), 2):time_num = int(lines[i].rstrip()[1:])time_stamp = time.localtime(time_num)time_str = time.strftime('%Y%m%d-%H%M%S', time_stamp)history = lines[i+1].rstrip()print('{}\t{}\t{}'.format(int(i / 2) + 1, time_str, history))
print(len(lines))

用户操作审计

sudo日志

# 查看sudo日志
cat /var/log/sudo.log
# 查看用户日志
cat /var/log/auth.log

存在的问题:实际可能不存在sudo相关日志

audit日志

# 查看audit日志:
cat /var/log/audit/audit.log
# 查找rm命令相关的日志:
ausearch -i -c rm
# 搜索包含rm关键字的日志:
ausearch -k rm

日志格式:

/var/log/audit/audit.log 是 Linux 系统中用于记录审计日志的文件,其中包含了系统操作的详细记录。每条日志都有特定的格式,通常包括以下几个字段:

  1. 时间戳:记录事件发生的时间,通常以日期和时间的形式呈现。
  2. 主机名:记录事件发生的主机名或 IP 地址。
  3. 事件类型:表示事件的类型,如 SYSCALL(系统调用)、EXECVE(执行程序)等。
  4. 用户名:执行操作的用户。
  5. 进程 ID:与事件相关的进程的标识符。
  6. 主题:描述事件所涉及的对象或资源。
  7. 动作:描述事件执行的具体操作。
  8. 结果:操作的结果,通常是成功或失败的标识。

一个典型的审计日志条目如下所示:

type=SYSCALL msg=audit(1623601161.930:254): arch=c000003e syscall=59 success=yes exit=0 a0=1d46a70f8c a1=1d46a70f72 a2=1d46a70ff8 a3=7fffdbc391d0 items=2 ppid=100 pid=101 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="ls" exe="/bin/ls"

上述示例中,type=SYSCALL 表示事件类型为系统调用,msg=audit 后的时间戳表示事件发生时间,uid=0 表示执行操作的用户为 root 用户,comm="ls" 表示执行了 ls 命令等等。

存在的问题:如果用户通过SSH登录,可能不会显示具体命令,事件类型CRYPTO_KEY_USER通常用于记录加密密钥用户相关的操作,而不是用户执行的具体命令:

type=CRYPTO_KEY_USER msg=audit(1714415.536:6045): pid=36936 uid=0 auid=4297295 ses=4294295 msg='op=destroy kind=session fp=? direction=from-client spid=36538 suid=0 rport=4207 laddr=192.168.0.10 lport=22  exe="/usr/sbin/sshd" hostname=? addr=192.168.0.20 terminal=? res=success'UID="root" AUID="unset" SUID="root"

添加审计规则:

# 查看当前已配置的审计规则
auditctl -l
# 添加审计规则监视用户执行rm命令的操作
auditctl -a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -S renameat -k rm
# 重启服务
systemctl enable auditd
systemctl restart auditd

存在的问题:实际可能不支持audit服务重启

Failed to restart auditd.service: Operation refused, unit auditd.service may be requested by dependency only (it is configured to refuse manual start/stop).
See system logs and 'systemctl status auditd.service' for details.

尚未尝试的方法:系统重启

systemd日志(推荐)

# 查看systemd日志
journalctl
journalctl > log.txt
# -x: 显示完整的内容,包括消息、触发器、行号等。
# -e: 直接跳转到日志文件的最后,显示最新的日志。
journalctl -xe

实际操作发现systemd日志记录了所有历史命令和对应的SSH主机信息

GPT!未来可期!

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

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

相关文章

UVa1086/LA4452 The Minister’s Major Mess

UVa1086/LA4452 The Minister’s Major Mess 题目链接题意分析AC 代码 题目链接 本题是2009年icpc世界总决赛的H题 题意 n(n≤500)个人对m(m≤100)个方案投票。每个人最多只能对其中的4个方案投票(其他相当于弃权票&a…

FastJSON2 > FastJSON 好在何处

FastJSON 是一种广泛使用的 JSON 解析库,其高性能和简单易用的特点受到开发者的喜爱。然而,随着应用场景的复杂化和安全要求的提高,FastJSON 逐渐暴露出一些问题。为了解决这些问题并进一步提升性能和安全性,阿里巴巴推出了 FastJ…

Linux基础入门和帮助-第一篇

马哥教育 Linux SRE 学习笔记 Linux基础 备注:本笔记使用Linux版本为Rocky 8.6和Ubuntu 23.10,大部分使用Rocky 8.6 查看当前的终端设备 tty命令可以查看当前所在的终端 范例: [rootrocky8 ~]$tty /dev/pts/0bash shell 显示当前使用的she…

css扇形菜单动画效果

菜单组件 IntelligentAnalysis.vue 中间圆形区域可以换个图片 <template><div class"intel-analysis"><div class"info" :class"{ close-animation: !showMenu }"><div class"middle"></div><div cl…

【工具使用】搜狗输入法如何输入希腊字母等特殊字符

步骤&#xff1a; 1&#xff0c;点击悬浮框的输入方式&#xff0c;选择“符号大全”&#xff1a; 2&#xff0c;根据自己需要选择对应的符号即可&#xff1a;

Power BI实现动态度量值

假设有一张销售数据表Sale: 报表上有一个切片器(Slicer)(下拉框样式)&#xff0c; 当选择"第一"时&#xff0c;计算列[FirstSale]与列[Target]的百分比&#xff0c; 选择"第二"时&#xff0c;计算列[SecondSale]与列[Target]的百分比 选择"第三&qu…

Spring Cloud 框架的应用详解

Spring Cloud 框架的应用详解 Spring Cloud 是一个基于 Spring Boot 的微服务架构开发工具&#xff0c;它提供了一系列工具用于快速构建分布式系统中的常见模式&#xff0c;如配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、选举、分布式会话和集群状态管理…

如何看待知乎入局 「AI整合商」 赛道

引言 在人工智能&#xff08;AI&#xff09;快速发展的格局中&#xff0c;公司不断探索利用 AI 的变革潜力的策略。知乎&#xff0c;一家领先的中国问答平台&#xff0c;最近宣布进军“人工智能集成商”领域。这一战略举措涉及与领先的人工智能模型团队合作&#xff0c;并开发专…

3d数字化虚拟交互展厅让您紧跟时代的步伐

虚实融合打破边界&#xff0c;北京VR虚拟数字展厅搭建让体验者彷如置身于一部三维电影中&#xff0c;可以对场景中的物体、角色、模型进行自由参观和体验&#xff0c;并且系统支持随时更新&#xff0c;让您紧跟时代的步伐&#xff0c;领略更新的展览风采。 除了常见的科普培训&…

浅谈mysql中的null - 能不能用索引

浅谈mysql中的null - 能不能用索引 照旧&#xff0c;在开始前&#xff0c;先附上本次试验的ddl, 然后插入数据&#xff0c;随机抽取几条幸运数据的name设为null CREATE TABLE user (id int NOT NULL COMMENT id,name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin…

docker- 购建服务镜像并启动

文章目录 前言docker- 购建服务镜像并启动1. 前期准备2. 构建镜像3. 运行容器4. 验证 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实…

软考中级嵌入式系统设计师知识点

主要介绍一些软考中级嵌入式系统设计师涉及到的一些考点。 文章目录 前言 一、嵌入式系统设计师 二、知识点 总结 前言 主要介绍一些软考中级嵌入式系统设计师涉及到的一些考点。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、嵌入式系统设计师 …

宝塔面包安装搭建Flarum开源论坛程序 文档教程

一、服务器环境说明 宝塔 7.0.3 或更新版本 Linux Server&#xff08;本文用的是 CentOs 7.4.6 64位&#xff09; Apache 或者 Nginx&#xff08;本文用的是 Nginx 1.16.0&#xff09; MySQL 5.6&#xff08;本文使用 MySQL 5.7&#xff0c;原因请看下方引用&#xff09; PHP 7…

IPFS矿机托管使用普通专线跟IDC机房托管对比分析

IPFS矿机托管使用普通专线跟IDC机房托管对比分析 1 、可靠性高&#xff0c;灵活性好 选择多路由网络稳定&#xff0c;安全性能更高。重要网络设备采用双机备份 2、提供365天全天候运营服务 如果在idc机房进行托管服务器的话&#xff0c;出现服务器遭受攻击数据丢失以及系统…

Java如果系统要使用超大整数(超过long长度范围)请设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算)

要设计一个数据结构来存储超过long长度范围的超大整数&#xff08;也称为大数或高精度数&#xff09;&#xff0c;我们可以使用数组来模拟多位数的表示。通常&#xff0c;我们会选择一个固定大小的整数类型&#xff08;如int或short&#xff09;来作为数组的每个元素&#xff0…

产品经理交接规范及流程

一、交接内容 1.1产品整体情况 交接人员需了解产品的整体情况&#xff0c;包括产品的定位、目标用户、主要功能、特点等。 1.2产品文档交接 交接人员需确保所有关于产品的文档的完整性和准确性&#xff0c;包括产品需求文档&#xff08;PRD&#xff09;、产品原型、交互文档…

音视频--音频实时传输

1. 音频质量提升 实时音频的传输中为了提升音频质量&#xff0c;一般要对音频做特殊处理&#xff1a;降噪、回声消除、自动增益&#xff08;3A算法&#xff09;。通过编解码器自身的的算法特性可以实现上述内容。但是也有专门的库来帮助实现对音频质量的提升。speexdsp库可以对…

项目集成SkyWalking,基于k8s搭建

一、搭建SkyWalking 官方文档&#xff08;英文&#xff09;&#xff1a;skywalking/docs at master apache/skywalking 中文可以使用&#xff1a;GitHub - SkyAPM/document-cn-translation-of-skywalking: [已过期,请使用官网AI文档] The CN translation version of Apache…

使用 Python 发送 TRON-USDT 和 TRX 交易

文章目录 一、前提准备1.1 环境设置1.2 获取钱包地址和私钥二、发送USDT(TRC-20)交易2.1 流程2.2 USDT交易脚本三、发送TRX交易3.1 流程3.2 TRX交易脚本四、注意事项4.1 注意事项4.2 改进后的USDT和TRX交易脚本本文档介绍如何使用Python和tronpy库发送TRON网络上的USDT(TRC-…

Python SSL root certificates

Python3.12安装好之后&#xff0c;pip仍然指向旧的3.11版本&#xff1a; ~ % pip --version pip 23.3.1 from /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip (python 3.11) 需要删除旧的3.11路径 &#xff08;MAC 版本&#x…