操作系统-X18 linux日志审计

news2025/1/18 5:25:48

Linux日志审计

在unix/类unix(Linux)系统中,日志是内核(内存)的一部分。

用于记录系统、程序运行中发生的各种事件
通过阅读日志,有助于诊断和解决系统故障


日志文件的分类

①内核及系统日志
由系统syslog统一进行管理,日志格式基本相似
工具
syslog服务进程分两种:
系统(非内核)
messages

专门记录内核
kernel-->物理终端(/dev/console)---> /var/log/dmesg

②用户日志
记录系统用户登录及退出系统的相关信息
③程序日志
由各种应用程序独立管理的日志文件,记录格式不统一

不同程序的日志存放在哪?

路径 :/etc/rsyslog.conf

可以看到这个配置文件划分了那些文件要存放在什么日志中,一般不建议进行更改(可能会导致日志找不到)

 

日志的切割怎么定义?

路径:/etc/logrotate.conf

正常普通程序服务都可以通过这四个设置进行配置

 这两个文件的优先级高于上面的优先级

 


日志切割

Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下。一部分程序共用一个日志文件,一部分程序使用单个日志文件,而有些大型服务器程序由于日志文件不止一个,所以会在/var/log/目录中建立相应的子目录来存放日志文件,这样既保证了日志文件目录的结构清晰,又可以快速定位日志文件。有相当一部分日志文件只有 root用户才有权限读取,这保证了相关日志信息的安全性

/var/log/boot.log -> 包含系统启动时的日志
/var/log/utmp -> 包含登录退出信息
/var/log/secure -> 包含验证和授权信息
/var/log/dpkg.log -> 包含安装或dpkg命令清除软件包的日志
/var/log/kern.log -> 包含内核产生的日志,有助于在定制内核时解决问题
/var/log/Xorg.x.log -> 来自X的日志信息
/var/log/alternatives.log -> 更新替代信息都记录在这个文件中
/var/log/cups -> 涉及所有打印信息的日志
/var/log/anaconda.log -> 在安装Linux时,所有安装信息都储存在这个文件中
/var/log/yum.log -> 包含使用yum安装的软件包信息
/var/log/cron -> 每当cron进程进行一个工作,就会将相关信息记录在此文件中

tail和grep的联合使用

tail  
    -f:显示最新10行
    -n x:显示最新n行

        

        May 19 04:10:01 lin systemd: Started Session 8 of user root.

        ①-③:时间点
        ④:主机名   /用户名
        ⑤:进程/服务
        ⑥:具体内容

grep
    -A n:关键字的下n行
    -B n:关键字的上n行

命令:

                tail -n 100 /var/log/messages | grep -A 5 dhcp   //查看关键字dhcp的下5行

                        两个--的意思的就是只显示五行,再多就不显示了

 

日志文件    描述

/var/log/cron     记录了系统定时任务相关的日志
/var/log/cups    记录打印信息的日志
/var/log/dmesg    记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/mailog    记录邮件信息
/var/log/message    记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
/var/log/btmp    记录错误登录日志,这个文件是二进制文件
/var/log/lastlog    记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件
日志文件    描述
/var/log/wtmp    永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件
/var/log/utmp     记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
/var/log/secure    记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中

utmp和wtmp

因为这两个文件存放的都是二进制文件所以不能用一般的命令字去进行查看,要使用w,who,users等命令来查询

                用who关键字显示的是最完整的

                 

last

Linux last 命令用于显示用户最近登录信息。

单独执行 last 指令,它会读取位于 /var/log/目录下,名称为 wtmp 的文件,并把该文件记录登录的用户名,全部显示出来。

still:仍在,正在
crash:持续登录到被强制关机
down:持续到正常关机

reboot那一行是系统启动 登陆方式代表系统内核

 

lastb

        Linux lastb 命令用于列出登入系统失败的用户相关信息。

        单独执行 lastb 指令,它会读取位于 /var/log 目录下,名称为 btmp 的文件,并把该文件记录登入失败的用户名,全部显示出来

特意用crt进行失败的连接,直接就显示出来了登陆失败的用户名

 

lastlog

        显示系统中所有用户最近一次登录信息,lastlog命令用于显示系统中所有用户最近一次登录信息。lastlog文件在每次有用户登录时被查询。


   -t n:n天内登录情况

   -u 用户名:显示用户最后一次登录时间

   -b<天数>:显示指定天数前的登录信息;

    -h:显示召集令的帮助信息;


日志消息的级别

0  EMERG(紧急):会导致主机系统不可用的情况
1  ALERT(警告):必须马上采取措施解决问题
2  CRIT(严重):比较严重的情况
3  ERR(错误):运行出现错误
4  WARNING (提醒):可能会影响系统功能的事件
5  INFO(信息):一般信息
6  DEBUG(调试):程序或系统调试信息等

由相应的应用程序独立进行管理

Web服务:/var/log/httpd
access_log、error_log
代理服务:/var/log/squid
access.log、cache.log
FTP服务:/var/log/xferlog


分析工具

文件查看、grep过滤检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具

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

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

相关文章

队列及其实现

目录 一&#xff1a;队列 1.队列的概念及结构 2.队列的实现 <1>.初始化队列 <2>.队尾入队列 <3>.队头出队列 <4>.获取队列头部元素 <5>.获取队列队尾元素 <6>.获取队列中有效元素个数 <7>.销毁队列 二&#xff1a;完整代…

如何完全卸载IDEA

工欲善其事必先利其器&#xff0c;我们在用idea的时候&#xff0c;idea的环境出现了莫名其妙的问题&#xff0c;怎么也找不到问题原因。有时候也可能是安装了不知名VB脚本&#xff0c;给系统装了一大堆的环境变量(如下图所示)&#xff0c;这个时候你可以试着把idea卸载重新安装…

Jetpack Compose UI预览

Android开发 Jetpack_Compose_2 UI预览Preview 前言 在学习jetpack compose如何编写ui之前&#xff0c;我认为还是应该先了解与Android studio配合的UI预览Preview。 这样就可以立刻看到UI效果&#xff0c;从而方便后续学习验证代码。 所需依赖 implementation "androidx…

CAPL(vTESTStudio) - 自动创建带有时间戳的报告和log

目录 getLocalTime - 获取本地时间函数 代码示例 获取当前时间并形成格式:"2023_05_22_23_20_18"

Qt中的坐标系

Qt中的坐标系 Qt中的坐标系与win10上画图工具的联系 上面这个图片的水印挡住了重要信息,然后又截了一张,显然,画图工具的像素就是Qt中的坐标系,所以,以后查坐标系直接打开Qt:画笔位置所显示的像素就是Qt的坐标!!! 再总结一下: 好奇:win10上的画图工具是qt写的吗? 答: 不是…

【SpringCloud】Nacos

文章目录 一、Nacos1、安装2、服务注册和发现3、服务分级存储模型4、负载均衡策略--NacosRule5、服务实例的权重设置 一、Nacos 1、安装 官网&#xff1a;https://nacos.io/zh-cn/ 下载 Github主页: https://github.com/alibaba/nacos Github的Release下载页: https://githu…

linux命令行如何查看命令帮助信息

一&#xff0c;简介 “授之以鱼不如授之以渔”&#xff0c;我们再学习linux命令的时候&#xff0c;想查看某个命令的详细说明&#xff0c;有哪些方法呢&#xff1f;本文来介绍一下如何在命令行查找命令的帮助信息。 二&#xff0c;linux命令格式介绍 Linux命令一般由三部分组…

【深度学习】- 作业1: Softmax实现手写数字识别

课程链接: 清华大学驭风计划 代码仓库&#xff1a;Victor94-king/MachineLearning: MachineLearning basic introduction (github.com) 驭风计划是由清华大学老师教授的&#xff0c;其分为四门课&#xff0c;包括: 机器学习(张敏教授) &#xff0c; 深度学习(胡晓林教授), 计算…

【深度学习】 - 作业7: 图像超分辨率重建

课程链接: 清华大学驭风计划 代码仓库&#xff1a;Victor94-king/MachineLearning: MachineLearning basic introduction (github.com) 驭风计划是由清华大学老师教授的&#xff0c;其分为四门课&#xff0c;包括: 机器学习(张敏教授) &#xff0c; 深度学习(胡晓林教授), 计算…

Linux网络编程—Day10

Linux服务器程序规范 Linux服务器程序一般以后台进程形式运行。后台进程又称守护进程。它没有控制终端&#xff0c;因而也不会意外接收到用户输入。 守护进程的父进程通常是init进程&#xff08;PID为1的进程&#xff09;&#xff1b;Linux服务器程序通常有一套日志系统&#…

Android 11.0 系统设置显示主菜单添加屏幕旋转菜单实现旋转屏幕功能

1.前言 在android11.0的系统rom定制化开发中,在对系统设置进行定制开发中,有产品需求要求增加 旋转屏幕功能的菜单,就是在点击旋转屏幕菜单后弹窗显示旋转0度,旋转 90度,旋转180度, 旋转270度针对不同分辨率的无重力感应的大屏设备的屏幕旋转功能的实现, 接下来就来分析…

chatgpt赋能Python-python_dill

Python dill - 更高效&#xff0c;更强大的对象序列化工具 在Python编程中&#xff0c;对象序列化是一个非常常见的操作&#xff0c;它将Python对象转换为可以存储或传输的格式。Python默认提供了pickle模块来实现序列化&#xff0c;但是pickle存在一些限制&#xff0c;比如无…

usb摄像头驱动-core层usb设备的注册

usb摄像头驱动-core层driver.c 文章目录 usb摄像头驱动-core层driver.cusb_bus_typeusb_device_matchusb_uevent usb_register_driver 在ubuntu中接入罗技c920摄像头打印的信息如下&#xff1a; 在内核中&#xff0c;/driver/usb/core/driver.c 文件扮演了 USB 核心驱动程序管…

复现ms17-010漏洞

复现ms17-010 复现条件环境操作效果 让我们来看看“hkl”在干嘛 复现 条件 1.靶机必须为win8以下。 2.靶机必须同攻击机处于相同网段&#xff08;即倒数第二位相同&#xff09;。 3.靶机的445端口必须要开启。 环境 虚拟机kali为攻击机&#xff0c;win7虚拟机为靶机。 kali…

SELECT LAST_INSERT_ID()自增主键冲突或者为0问题

问题 数据库为mysql&#xff1b; mapper.xml文件为mybatis-generator自动生成的&#xff1b; 连接池使用DruidDataSource&#xff1b; 最终生成的insertSelective如下&#xff1a; 出现问题&#xff1a; 主键冲突&#xff1a;[WMyBatisTraceInterceptor:54][com.mysql.jdbc.…

如何定位OOM

造成OOM的原因 定位OOM 针对第一和第二种情况需要定位OOM 系统已经挂了&#xff1a; 通过堆dump文件定位。 当JVM发生OOM时&#xff0c;自动生成DUMP文件&#xff1a; -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath${目录} java -Xms10M -Xmx10M -XX:HeapDumpOnOutOfMemo…

c#中的json数据

JSON数据 数据传输的语言&#xff0c;用于前后端数据交互的语言&#xff0c;注意xml的区别。 json和xml的区别 xml&#xff1a;可扩展标记语言&#xff0c;是一种用于标记电子文件使其具有结构性的标记语言。 json&#xff1a;(JavaScript Object Notation, JS 对象简谱) 是…

昆仲被投企业「鲲游光电」近期完成新一轮数亿元融资,继续致力于探索前沿光电子领域产品与创新应用|昆仲·链

鲲游光电(North Ocean Photonics)是专注于晶圆级光学、光集成领域的高科技企业&#xff0c;总部位于中国上海。依托自身深厚的技术积累、高精度的制造工艺&#xff0c;鲲游光电通过融合集成光学与集成电路的创新思路&#xff0c;致力于探索前沿光子、光电子领域的实现与创新应用…

MyBatis环境搭建配置、增删改查操作、分页、事务操作、动态SQL、缓存机制、注解开发

MyBatis 文章目录 MyBatisXML语言简介用途各部分注解声明元素属性注释CDATA转义字符 搭建环境读取实体类创建实体与映射关系的文件 配置MyBatis创建工具类接口实现 Mybatis工作流程增删改查指定映射规则指定构造方法字段名称带下划线处理条件查询插入数据复杂查询和事务一对多查…

Codeforces Round 860 (Div. 2)

A Showstopper 题意&#xff1a;给你两个长度为n的数组a和b&#xff0c;每次操作你可以互换a[i]与b[i]&#xff0c;问最终能否满足 思路&#xff1a;若a[i]>b[i]&#xff0c;我们就进行操作。这样数组b元素都是较大的&#xff0c; 一定比不操作更优。最后判断是否满足条件…