Linux 排查必看文件

news2024/11/16 7:37:27

目录

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.coloradmin.cn/o/1247765.html

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

相关文章

16.Python 多进程和多线程

进程是应用程序正在执行的实体,当程序执行时,也就创建了一个主线程。进程在创建和执行需要占用一定的资源,如内存、文件、I/O设备等。 线程是CPU使用的基本单元,由主线程创建,并使用这个进程的资源,因此线…

大模型能否生成搜索引擎的未来?

文|郝 鑫 编|刘雨琦 ChatGPT火爆之前,水面下,也有中国公司也在朝着智能助手的方向努力。夸克便是其中之一。在GPT风靡科技圈后,国内就开始陆续冒出一些大模型厂商。对当时夸克而言,做大模型毋庸置疑&am…

3.2 Windows驱动开发:内核CR3切换读写内存

CR3是一种控制寄存器,它是CPU中的一个专用寄存器,用于存储当前进程的页目录表的物理地址。在x86体系结构中,虚拟地址的翻译过程需要借助页表来完成。页表是由页目录表和页表组成的,页目录表存储了页表的物理地址,而页表…

马克思主义基本原理课后题答案

吐血整理马原word版课后题答案,大家可以自行修改,持续更新中... 【限于篇幅原因,需要的同学可以点赞收藏后👍,扫码下方的公众号,回复相应关键词(马原)自行领取⭐~】

Hive内置表生成函数

Hive内置UDTF 1、UDF、UDAF、UDTF简介2、Hive内置UDTF 1、UDF、UDAF、UDTF简介 在Hive中,所有的运算符和用户定义函数,包括用户定义的和内置的,统称为UDF(User-Defined Functions)。如下图所示: UDF官方文档…

一站式企业快递管理平台使用教程

因公寄件在企业中重要性的提升,催生出了企业快递管理平台。为什么这么说呢? 随着经济和快递行业的发展,因公寄件在企业中成了一件“常事”,寄文件合同、发票、节假日慰问品、样品等等,这种情况之下,因公寄件…

需求变更导致估算不精准 6大措施

需求变更可能导致估算不精准、项目成本增加、进度延迟等问题,如果不能准确地估算项目,往往会造成资源浪费和开发效率的降低,因此亟需解决因需求变更导致地估算不精准的问题。 一般来说,主要是从以下6个方面入手解决: 1…

智驾芯片全矩阵「曝光」,这家企业的车载品牌正式官宣

随着汽车智能化加速,智能驾驶芯片格局逐渐清晰。 针对L0-L2,业内基本采用智能前视一体机方案;要实现高速NOA、城市NOA等更为高阶的智驾功能等,则基本采用域控制器方案。从前视一体机至域控,再逐步演进到舱驾一体、中央…

功率半导体器件CV测试系统

概述 电容-电压(C-V)测量广泛用于测量半导体参数,尤其是MOS CAP和MOSFET结构。MOS(金属-氧化物-半导体)结构的电容是外加电压的函数,MOS电容随外加电压变化的曲线称之为C-V曲线(简称C-V特性),C-V 曲线测试可以方便的确…

缓存组件状态,提升用户体验:探索 keep-alive 的神奇世界

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Mac OS 干货教学-超详细Wifi破解教学

Mac OS 干货教学🔥-超详细Wifi破解教学 尊重原创,编写不易 ,帮忙点赞关注一下~转载小伙伴请注明出处!谢谢 PS:学术交流,私自破解他人wifi可能要负担法律责任或让办公电脑被Hack黑客风险!本次本…

bat批处理文件

常用的bat批处理命令 1、遍历移动文件最好将文件编码保存为 ANSI编码 新的改变 1、遍历移动文件 把子目录里面的文件批量移动到当前目录 (或根目录) 项目中要批量导入附件,但是收集的子公司员工信息,都是每个人一个文件夹的&…

电影《无价之宝》观后感

上周看了电影《无价之宝》,虽然电影已经出了两周了,但是看网上评分还挺好的,就没看当周新的电影,而是选择了这部。整部电影,偏向小生活的情景剧,讲述两个成年人,偏向地痞无赖的人物,…

openstack(2)

目录 块存储服务 安装并配置控制节点 安装并配置一个存储节点 验证操作 封装镜像 上传镜像 块存储服务 安装并配置控制节点 创建数据库 [rootcontroller ~]# mysql -u root -pshg12345 MariaDB [(none)]> CREATE DATABASE cinder; MariaDB [(none)]> GRANT ALL PR…

机器视觉尺寸测量仪 助力打造智能工厂!

摘要:机器视觉系统基本的特点就是提高生产的灵活性和自动化程度,目前机器视觉技术在蓬勃发展中,机器视觉尺寸测量仪是基于机器视觉原理制造而成的在线几何尺寸精密仪器。本文系统介绍一下该类测量设备。 机器视觉是什么? 简单来讲…

9.输出国际象棋盘【2023.11.24】

1.问题描述 要求输出国际象棋棋盘。 2.解决思路 国际象棋棋盘由64个黑白相间的格子组成&#xff0c;分为8行*8列。用i控制行&#xff0c;j控制列&#xff0c;根据ij的和的变化来控制输出黑方格还是白方格。 3.代码实现 #include<stdio.h> int main(){for(int i0;i&…

2.多行输入【2023.11.24】

1.问题描述 编写一个Python程序&#xff0c;将字符串 ‘Hello World!’ 存储在变量 str1 中&#xff0c;将字符串 ‘Hello Python!’ 存储在变量 str2 中&#xff0c;然后使用 print 语句分别将它们在不同行打印出来。 2.解决思路 使用print()函数即可 3.代码实现 str1&qu…

MMFN-AL

MMFN means ‘multi-modal fusion network’ 辅助信息 作者未提供代码

解决Resolving Android Dependencies问题

无论是谷歌的Admob&#xff0c;还是Unity的Level play&#xff0c; 在windows&#xff08;win10, win11&#xff09;下&#xff0c;都出现了resolving android dependencies 报错并且卡住的问题&#xff0c;如图: 主要错误&#xff0c;是找不到这个gradlew.bat文件。 在指定位置…

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

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