Linux 排查必看文件

目录

1. 登录日志

1.1 /var/log/wtmp

1.2 /var/log/btmp.*

1.3 /var/log/lastlog

1.4 /var/log/faillog 

1.5 /var/log/secure 

1.6 /var/log/auth.log 

2. 系统日志

2.1 /var/log/cron.*

2.2 /var/log/syslog

2.3  /var/log/audit/audit.*log

3. 历史命令

3.1 ~/.bash_history

3.2 history

3.3 /var/log/audit/audit.*log


1. 登录日志

登录日志通常记录了用户的登录和注销活动,包括登录时间、来源IP地址、使用的用户名等信息。通过分析登录日志,你可以追踪入侵者的活动轨迹,确定入侵的时间和方式,比如:ssh 爆破。

1.1 /var/log/wtmp

登录成功后会记录的信息:用户、终端名、ip、时间、登录/注销状态。data 类型文件,使用 last 命令查看

1.2 /var/log/btmp.*

记录失败的登录尝试信息:用户、终端名、ip、时间。data 类型文件,使用 lastb 命令查看。

1.3 /var/log/lastlog

记录最近一次账户登录成功的信息:用户名、终端名、ip、登录时间。data类型文件,使用 lastlog 命令查看

1.4 /var/log/faillog 

相同的还有 /var/log/tallylog ,用于记录登录失败次数的文件,它通常用于限制用户登录失败次数的功能,使用 faillog 命令查看。当用户登录失败时,系统会记录失败的次数和时间戳到这个文件中。一旦失败次数达到一定限制,系统可能会暂时禁止该用户登录。

这个文件通常出现在一些早期的Linux系统中,在较新的系统中,这种登录失败次数限制的功能通常由 PAM 模块和 /var/log/secure 或 /var/log/auth.log 文件来实现和记录。

1.5 /var/log/secure 

一个常见于Red Hat 系统(如CentOS、Fedora)的安全日志文件,用于记录系统的安全相关事件,包括用户认证、授权和安全相关的事件,如 SSH,telnet,ftp 登录的成功和失败尝试。

# 查看 sshd 的登录日志
sudo grep sshd /var/log/secure

1.6 /var/log/auth.log 

 Ubuntu 系统下的,用于记录系统的安全相关事件,包括用户认证、授权和安全相关的事件,如SSH登录的成功和失败尝试。

# 查看 sshd 的登录日志
sudo grep sshd /var/log/auth.log

2. 系统日志

2.1 /var/log/cron.*

centos 下 crontab 计划任务执行记录

2.2 /var/log/syslog

linux 系统中的一个日志文件,用于记录系统的各种事件和消息。这些事件包括系统启动、关机、用户登录、网络连接、硬件故障、计划任务等。

# 查看 cron 执行的命令
sudo grep CRON /var/log/syslog

2.3  /var/log/audit/audit.*log

当 Linux 系统启用了审计功能,审计服务 audit 的日志文件会记录各种系统调用和进程操作。

审计日志可以包含以下类型的信息:

  1. 登录和登出事件: 记录用户的登录和登出活动,包括成功和失败的尝试。

  2. 文件和目录访问: 记录对文件和目录的访问,包括读取、写入和执行等操作。

  3. 进程启动和停止: 记录新进程的启动和终止,包括由哪个用户启动的。

  4. 系统调用: 记录系统调用的使用情况,允许审计每个进程的行为。

  5. SELinux 异常: 如果系统启用了 SELinux (Security-Enhanced Linux),那么相关的 SELinux 异常也会记录在审计日志中。

  6. 特权提升尝试: 记录尝试提升进程权限的操作,如尝试使用 sudo 或 su 命令。

  7. 网络活动: 记录网络相关的事件,如连接建立和断开、防火墙规则追踪等。

  8. 时间同步: 记录系统时间同步的事件,有助于确保系统时钟的准确性。

查看 ssh 登录失败的日志

sudo grep sshd /var/log/audit/audit.log|grep failed

3. 历史命令

3.1 ~/.bash_history

用户 home 目录下的隐藏文件,记录了该用户在终端中执行过的命令,可以永久保存用户的命令历史。这个文件会在用户退出登录时被更新,以记录最新的命令历史。

3.2 history

这是一个内置的 Bash 命令,用于显示用户在当前会话中执行过的命令历史。它会从用户的.bash_history文件中读取命令历史,并以编号的形式列出最近执行的命令。这个命令只会显示当前会话中的命令历史,不会保存到文件中。

HISTTIMEFORMAT 环境变量:设置HISTTIMEFORMAT环境变量可以让history命令显示命令的执行时间

 export HISTTIMEFORMAT="%F %T "history

3.3 /var/log/audit/audit.*log

当 linux 系统开启了 audit 审计服务,可以在 /etc/audit/rules.d/audit.rules 中添加一条规则,把执行的所有命令都记录到 /var/log/audit/audit.*log。通过 auditctl 管理 audit 规则,ausearch 查询记录。

把 /usr/bin 目录下的所有文件执行的命令记录到 audit 日志:

sudo echo "-w /usr/bin -p x -k command_executed" >> /etc/audit/rules.d/audit.rules

也可以使用 auditctl 命令临时添加 ,选项:

  • -w path :指定要监控的路径
  • -p :指定触发审计的文件/目录的访问权限 rwxa
    指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)
  • -k:在审核规则上设置过滤名称,方便后面使用 ausearch 查找
  • -R:读取来自指定文件的规则
  • -l:显示 audit 规则

[root@localhost/var/log]#echo "-w /usr/bin -p x -k command_executed" >> /etc/audit/rules.d/audit.rules              
[root@localhost/var/log]#auditctl -l
No rules
[root@localhost/var/log]#auditctl -R /etc/audit/rules.d/audit.rules
No rules
enabled 1
failure 1
pid 726
rate_limit 0
backlog_limit 8192
lost 0
backlog 4
enabled 1
failure 1
pid 726
rate_limit 0
backlog_limit 8192
lost 0
backlog 4
[root@localhost/var/log]#auditctl -l
-w /usr/bin/nc -p x -k command_executed
[root@localhost~]#nc -lvvp 1234
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::1234
Ncat: Listening on 0.0.0.0:1234

^C
[root@localhost/var/log]#ausearch -k command_executed
...
----
time->Wed Nov 22 12:35:08 2023
type=PROCTITLE msg=audit(1700627708.490:3641): proctitle=2F7573722F62696E2F6E63002D6C7676700031323334
type=PATH msg=audit(1700627708.490:3641): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=169 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:ld_so_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=PATH msg=audit(1700627708.490:3641): item=0 name="/usr/bin/nc" inode=50708290 dev=fd:00 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=system_u:object_r:bin_t:s0 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=CWD msg=audit(1700627708.490:3641): cwd="/root"
type=EXECVE msg=audit(1700627708.490:3641): argc=3 a0="/usr/bin/nc" a1="-lvvp" a2="1234"
type=SYSCALL msg=audit(1700627708.490:3641): arch=c000003e syscall=59 success=yes exit=0 a0=1048870 a1=105b1d0 a2=105ac80 a3=7ffdb8b117e0 items=2 ppid=23207 pid=23615 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=153 comm="nc" exe="/usr/bin/ncat" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="command_executed"
----

...
[root@localhost/var/log]#

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

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

相关文章

Docker 中OpenResty下载与使用

1Panel安装OpenResty 查看到就说明安装成功 部署项目 在http中添加: server { listen 8001; //端口号 server_name localhost; location / { root /admin; //项目路径 index index.html index.htm; …

Java二级医院区域HIS信息管理系统源码(SaaS服务)

一个好的HIS系统,要具有开放性,便于扩展升级,增加新的功能模块,支撑好医院的业务的拓展,而且可以反过来给医院赋能,最终向更多的患者提供更好的服务。 系统采用前后端分离架构,前端由Angular、J…

P1028 [NOIP2001 普及组] 数的计算

时刻记住一句话:写递归,1画图,2大脑放空!!! 意思是,自己写递归题目,先用样例给的数据画图,然后想一个超级简单的思路,直接套上去就可以了。 上题干&#xff…

牛客 HJ106 字符逆序 golang实现

牛客题目算法连接 题目 golang 实现 package mainimport ("fmt""bufio""os" )func main() {str, _ : bufio.NewReader(os.Stdin).ReadString(\n)if len(str) 0 {return } else {newstr:""strLen:len(str)-1for i:strLen;i>0;i-…

生产环境出现问题,测试人如何做工作复盘?

很多时候我们能把大部分的Bug或一些部署等问题在业务上线之前就解决了,但由于某些因素,线上问题还是时而出现,影响业务生产甚至是公司效益。 避免线上问题的发生以及线上问题及时处理是测试人员的一项重要职责,如何快速地处理&am…

XG916Ⅱ轮式装载机后驱动桥设计机械设计CAD

wx供重浩:创享日记 对话框发送:装载机 获取完整论文报告工程源文件 本次设计内容为XG916Ⅱ装载机后驱动桥设计,大致上分为主传动的设计,差速器的设计,半轴的设计,最终传动的设计四大部分。其中主传动锥齿轮…

【多线程】Thread类的使用

目录 1.概述 2.Thread的常见构造方法 3.Thread的几个常见属性 4.启动一个线程-start() 5.中断一个线程 5.1通过共享的标记来进行沟通 5.2 调用 interrupt() 方法来通知 6.等待一个进程 7.获取当前线程引用 8.线程的状态 8.1所有状态 8.2线程状态和转移的意义 1.概述 …

Relabel与Metic Relabel

Prometheus支持多种方式的自动发现目标(targets),以下是一些常见的自动发现方式: 静态配置:您可以在Prometheus配置文件中直接列出要监测的目标。这种方式适用于目标相对稳定的情况下,例如固定的服务器或设…

HCIA-RS基础:动态路由协议基础

摘要:本文介绍动态路由协议的基本概念,为后续动态路由协议原理课程提供基础和引入。主要讲解常见的动态路由协议、动态路由协议的分类,以及路由协议的功能和自治系统的概念。文章旨在优化标题吸引力,并通过详细的内容夯实读者对动…

自求导的方法实现线性回归算法

线性回归是一种常用的回归算法,用于建立输入变量和连续输出变量之间的关系。传统的线性回归算法通常依赖于繁琐的数学推导和梯度计算。但是,随着深度学习的兴起,自求导的方法逐渐成为实现线性回归算法的有效途径。本文将介绍如何使用自求导的…

VMware安装windows操作系统

一、下载镜像包 地址:镜像包地址。 找到需要的版本下载镜像包。 二、安装 打开VMware新建虚拟机,选择用镜像文件。将下载的镜像包加载进去即可。

python opencv 边缘检测(sobel、沙尔算子、拉普拉斯算子、Canny)

python opencv 边缘检测(sobel、沙尔算子、拉普拉斯算子、Canny) 这次实验,我们分别使用opencv 的 sobel算子、沙尔算子、拉普拉斯算子三种算子取进行边缘检测,然后后面又使用了Canny算法进行边缘检测。 直接看代码,代…

论文导读 | 10月专题内容精选:人的预测

编者按 本次论文导读,编者选择了10月份OR和MS上与"人的预测"有关的三篇文章,分别涉及群体智慧的提取,个体序列预测的评估,以及决策者对风险的扭曲感知在分布式鲁棒优化中的应用。其中,从基于"生成式可能…

使用VUE3实现简单颜色盘,吸管组件,useEyeDropper和<input type=“color“ />的使用

1.使用vueuse中的useEyeDropper来实现滴管的功能和使用input中的type"color"属性来实现颜色盘 效果&#xff1a; 图标触发吸管 input触发颜色盘 组件代码部分 &#xff1a;<dropper> ---- vueuse使用 <template><div class"sRGBHexWrap fbc…

补充:如何提高selenium的运行速度?

已经通读该专栏文章的同学,或许对UI自动化测试有了一定的掌握,细心的同学肯定会发现一个问题,当用例量达到一定程度时,对于整体用例的执行速度肯定不会很满意。除了应用多线程运行用例的方式加快速度,有没有其他的方法呢? 今天告诉大家,方法是有的!也是本人新学的。即…

[PyTorch][chapter 66][强化学习-值函数近似]

前言 现实强化学习任务面临的状态空间往往是连续的,无穷多个。 这里主要针对这种连续的状态空间处理。后面DQN 也是这种处理思路。 目录&#xff1a; 1&#xff1a; 原理 2&#xff1a; 梯度更新 3&#xff1a; target 和 预测值 4 流程 一 原理 强化学习最重要的是得到 …

c++版本opencv计算灰度图像的轮廓点

代码 #include<iostream> #include<opencv.hpp>int main() {std::string imgPath("D:\\prostate_run\\result_US_20230804_141531\\mask\\us\\104.bmp");cv::Mat imgGray cv::imread(imgPath, 0);cv::Mat kernel cv::getStructuringElement(cv::MORPH…

任意分圆环下的 RLWE:如何产生正确的噪声分布

参考文献&#xff1a; [Con09] Conrad K. The different ideal[J]. Expository papers/Lecture notes. Available at: http://www.math.uconn.edu/∼kconrad/blurbs/gradnumthy/different.pdf, 2009.[LPR10] Lyubashevsky V, Peikert C, Regev O. On ideal lattices and learn…

thinkphp6生成PDF自动换行

composer安装 composer require tecnickcom/tcpdf 示例 use TCPDF;public function info($university,$performance,$grade,$major){//获取到当前域名$domain request()->domain();//实例化$pdf new TCPDF(P, mm, A4, true, UTF-8, false);// 设置文档信息$pdf->SetCr…

Azkaban极简使用文档

登录 地址: http://服务器ip:8081/, 用户名密码默认都是azkaban 构建项目流程 添加Project 编写工作流文件 在本机新建文件夹如test, 创建一个flow20.project 文件, 内容 azkaban-flow-version: 2.0(固定步骤)编写flow文件, 例如一个最基础的实例 test1.flow nodes:- name…