排查Linux服务器是否被入侵步骤

2023-11-04

作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,以下是结合centos7.9操作系统进行排查Linux操作系统是否被入侵,其他Linux发行版的操作类似

1.入侵者可能会删除机器的日志信息

可以查看日志信息是否还存在或者是否被清空,相关命令

[root@master01 ~]# ls /var/log/*
/var/log/boot.log           /var/log/dmesg.old           /var/log/messages-20221113  /var/log/vmware-network.1.log
/var/log/btmp               /var/log/maillog             /var/log/secure-20221113    /var/log/vmware-vmsvc.3.log
/var/log/cron               /var/log/maillog-20221106    /var/log/spooler            /var/log/wtmp
/var/log/dmesg              /var/log/messages-20221106   /var/log/tallylog

[root@master01 ~]# du -sh /var/log/
183M    /var/log/
[root@master01 ~]# du -sh /var/log/*
2.6M    /var/log/anaconda
39M    /var/log/audit
0    /var/log/boot.log
20K    /var/log/boot.log-20200417
12K    /var/log/boot.log-20200816
24K    /var/log/boot.log-20220216
12K    /var/log/boot.log-20221001
8.0K    /var/log/btmp
2.入侵者可能创建一个新的存放用户名及密码文件

可以查看/etc/passwd及/etc/shadow文件,相关命令:

[root@master01 ~]# ll /etc/pass*
-rw-r--r--. 1 root root 1022 Jan 25  2022 /etc/passwd
-rw-r--r--. 1 root root  986 Apr 16  2020 /etc/passwd-

[root@master01 ~]# ll /etc/shado*
----------. 1 root root 653 Nov 15 10:33 /etc/shadow
----------. 1 root root 634 May  5  2020 /etc/shadow-

3.入侵者可能修改用户名及密码文件

可以查看/etc/passwd及/etc/shadow文件内容进行鉴别,看看是否有异常用户,相关命令:

[root@master01 ~]# more /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
[root@master01 ~]# more /etc/shadow
root:$6$67Tijq/P$AcFLf9.4334pEKLAc1jFWTYzzLp92.qAl2El5MSZEjfm8YsW.3m3I1C7Oi.SMntqIUQr4eF.Fcm.EVfbdDEWf0:19311:0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::
adm:*:17834:0:99999:7:::
lp:*:17834:0:99999:7:::

4.查看机器最近成功登陆的事件和最后一次不成功的登陆事

对应日志“/var/log/lastlog”,相关命令:

[root@master01 ~]# last
root     pts/0        10.3.180.178     Tue Nov 22 08:27   still logged in   
root     pts/0        10.0.252.47      Sat Nov 19 22:52 - 14:23  (15:31)    
root     pts/0        10.0.252.47      Sat Nov 19 04:49 - 22:52  (18:02)    
root     pts/0        10.3.180.178     Fri Nov 18 14:51 - 14:54  (00:02)    
root     pts/1        10.3.180.178     Fri Nov 18 14:51 - 14:51  (00:00)    
root     pts/1        10.3.180.178     Fri Nov 18 13:45 - 14:45  (00:59)

5.查看机器当前登录的全部用户

对应日志文件“/var/run/utmp”,相关命令

[root@master01 ~]# who
root     pts/0        2022-11-22 08:27 (10.3.180.178)

6.查看机器创建以来登陆过的用户

对应日志文件“/var/log/wtmp”,相关命令

[root@master01 ~]# last
root     pts/0        10.3.180.178     Tue Nov 22 08:27   still logged in   
root     pts/0        10.0.252.47      Sat Nov 19 22:52 - 14:23  (15:31)    
root     pts/0        10.0.252.47      Sat Nov 19 04:49 - 22:52  (18:02)    
root     pts/0        10.3.180.178     Fri Nov 18 14:51 - 14:54  (00:02)    
root     pts/1        10.3.180.178     Fri Nov 18 14:51 - 14:51  (00:00)    
root     pts/1        10.3.180.178     Fri Nov 18 13:45 - 14:45  (00:59)

7.查看机器所有用户的连接时间(小时)

对应日志文件“/var/log/wtmp”,相关命令

[root@master01 ~]# ac -dp | more
    root                                28.89
Apr 16    total       28.89
    root                               151.58
Apr 19    total      151.58
    root                                52.11
Apr 20    total       52.11
    root                                62.00
Apr 21    total       62.00
    root                                60.41

备注:如果操作系统提示没有ac命令,centos系统可以通过命令 yum install psacct安装

8.如果发现机器产生了异常流量

可以使用命令“tcpdump”抓取网络包查看流量情况或者使用工具”iperf”查看流量情况。

tcpdump命令可以重点学习一下,这个单独讲解,通过流量分析异常问题虽说比较难,但是可以定位到深层次的网络问题

9.可以查看/var/log/secure日志文件

尝试发现入侵者的信息,相关命令

[root@master01 ~]# cat /var/log/secure | grep -i "accepted"
Nov 22 08:27:02 master01 sshd[17081]: Accepted publickey for root from 10.3.180.178 port 62392 ssh2: RSA SHA256:KdRyYMK79OVOE5pIc5fTp9kW0YyA9eyydEPyevqYGVY

10.查询异常进程所对应的执行脚本文件

a.top命令查看异常进程对应的PID

top

b.在虚拟文件系统目录查找该进程的可执行文件

ll /proc/PID/ | grep -i exe  #PID要替换成真实的PID数字

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

排查Linux服务器是否被入侵步骤 的相关文章

  • Scrapy FakeUserAgentError:获取浏览器时发生错误

    我使用 Scrapy FakeUserAgent 并在我的 Linux 服务器上不断收到此错误 Traceback most recent call last File usr local lib64 python2 7 site pack
  • 如何调用位于其他目录的Makefile?

    我正在尝试这样做 我想打电话给 make Makefile存在于其他目录中 abc可以使用位于不同目录中的 shell 脚本的路径 我该怎么做呢 由于 shell 脚本不允许我cd进入Makefile目录并执行make 我怎样才能编写she
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • numpy 未定义符号:PyFPE_jbuf

    我正在尝试使用一百万首歌曲数据集 为此我必须安装 python 表 numpy cython hdf5 numexpr 等 昨天我设法安装了我需要的所有内容 在使用 hdf5 遇到一些麻烦之后 我下载了预编译的二进制包并将它们保存在我的 b
  • 在 LINUX 上使用 Python 连接到 OLAP 多维数据集

    我知道如何在 Windows 上使用 Python 连接到 MS OLAP 多维数据集 嗯 至少有一种方法 通常我使用 win32py 包并调用 COM 对象进行连接 import win32com client connection wi
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 适用于 KDE 和 Gnome 的 Gui [重复]

    这个问题在这里已经有答案了 我想为一个现在是 CLI 的应用程序编写一个 gui 它需要在 KDE 和 Gnome DE 中 看起来不错 充分利用用户的外观设置 如果我选择 Qt 或 GTK 我能够做到这一点吗 它们与两个 DE 集成良好吗
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • 在 /dev/input/eventX 中写入事件需要哪些命令?

    我正在开发一个android需要将触摸事件发送到 dev input eventX 的应用程序 我知道C执行此类操作的代码结构如下 struct input event struct timeval time unsigned short
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 并行运行 make 时出错

    考虑以下制作 all a b a echo a exit 1 b echo b start sleep 1 echo b end 当运行它时make j2我收到以下输出 echo a echo b start a exit 1 b star
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • 在Linux上编译C# + WPF以便在Windows上运行

    我有一个 C 应用程序 其中某些部分是使用 WPF 编写的 Mono 不支持 可以在 Linux 上编译这个应用程序吗 最终 该应用程序将在 Windows 上运行 但它是更大框架的一部分 并且我们的整个构建过程在 Linux 上运行 因此
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 如何修复“iptables:没有该名称的链/目标/匹配”?

    我在我的 Linux 嵌入式系统上构建并安装了 iptables 如果我列出所有规则 则一切正常 iptables list Chain INPUT policy ACCEPT target prot opt source destinat
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内

随机推荐

  • linux kernel文件系统数据结构file_system_type

    linux kernel文件系统数据结构file system type 文件系统类型用于表示各种不同的文件系统 如fat sysfs proc等等 对于每个不同的文件系统 都以struct file system type进行描述 内核将
  • 202310读书笔记|《大白鲸原创图画书优秀作品:虾一跳》——蝴蝶效应之最,你值得一读

    202310读书笔记 大白鲸原创图画书优秀作品 虾一跳 蝴蝶效应之最 你值得一读 大白鲸原创图画书优秀作品 虾一跳 作者 耿彦红 文 齐海潮 图 由虾一跳的连锁反应构成了整本书的故事脉络 很生动 故事及叙述的重复都不冗杂 反而很朗朗上口 并
  • 密码学--CTF Crypto 总结

    密码学简介 密码学 Cryptography 一般可分为古典密码学和现代密码学 其中 古典密码学 作为一种实用性艺术存在 其编码和破译通常依赖于设计者和敌手的创造力与技巧 并没有对密码学原件进行清晰的定义 其主要包含以下几个方面 单表替换加
  • TCP与UDP

    前言 TCP和UDP是两个传输层最有代表性的传输层协议 TCP一般提供可靠的信息传输 而UDP常被用于广播和细节控制交给应用的通信传输 传输层的定义 在传输层 IP首部有一个协议字段 用来区分使用的是什么协议 用端口号进行处理的具体程序 在
  • 在Vitis IDE中使用第三方库 libtiff 保存 tiff 文件

    目的和思路 一个Vitis IDE 裸机项目 需要将视频帧无损地保存下来 由于每帧的像素数据是 16bit 1通道的 bayer 格式 满足这一需求的图像格式似乎只有 tiff 格式 开源的tiff 库是 libtiff 而在 Vitis
  • nginx安装及部署

    下载 官方网站 https nginx org en download html Windows下安装 安装 下载后解压 切记不能含有中文路径 文件结构如图 我解压的路径就有中文 记得拷贝放置于英文目录下即可 启动 两种方法 1 直接双击该
  • C语言(函数与预处理、指针)

    一 函数与预处理 一 一维数组 1 一维数组的定义格式为 类型说明符 数组名 常量表达式 例如 int a 10 它表示定义了一个整形数组 数组名为a 有10个元素 2 在定义数组时 需要指定数组中元素的个数 方括弧中的常量表达式用来表示元
  • 基于 FFmpeg 的跨平台视频播放器简明教程(七):使用多线程解码视频和音频

    系列文章目录 基于 FFmpeg 的跨平台视频播放器简明教程 一 FFMPEG Conan 环境集成 基于 FFmpeg 的跨平台视频播放器简明教程 二 基础知识和解封装 demux 基于 FFmpeg 的跨平台视频播放器简明教程 三 视频
  • 69. Sqrt(x)

    Implement int sqrt int x Compute and return the square root of x where x is guaranteed to be a non negative integer Sinc
  • 新闻分析:解密代号A1S

    本周二SAP董事长特拉普纳 Hasso Plattner 在Software 2007会议上发言时阐述了SAP新的软件设计方法 SAP表示在过去的三年中有3000多名工程师都在运用这种新的软件设计方法在开发代号为A1S的新产品 虽然这一代号
  • HTML的input类型为hidden导致无法reset改字段的value问题

    问题关键 根据HTML规范 hidden是非ui类元素 不接受用户处理 所以form的 reset并不影响它 http stackoverflow com questions 6367793 why does the reset butto
  • 一种通用的业务监控触发方案设计

    一 背景 业务监控是指通过技术手段监控业务代码执行的最终结果或者状态是否符合预期 实现业务监控主要分成两步 一 在业务系统中选择节点发送消息触发业务监控 二 系统在接收到mq消息或者定时任务调度时 根据消息中或者任务中的业务数据查询业务执行
  • go-micro 在linux下安装出现service auth not found

    1 安装micro linux下执行该命令 wget q https raw githubusercontent com micro micro master scripts install sh O bin bash 2 micro se
  • vue 实现md5、base64加密

    背景 前端使用密码登录的时候 一般都会使用密文传输 否则控制台就能看到密码 具体实现如下 使用 md5 进行加密 1 安装 cnpm install save js md5 2 在 main js 全局引用 import md5 from
  • pycharm console 报错

    描述 pycharm的console本来用的好好地 但是我也不知道自己改了啥 结果报错了 报错 Error Console process terminated with error Traceback most recent call l
  • Inheritance___CH_17

    17 1 Introduction to inheritance A hierarchy is a diagram that shows how various objects are related Most hierarchies ei
  • 华为交换机配置链路聚合

    文章目录 1 拓扑图 2 任务描述 3 Sw1配置 4 Sw2配置 5 Lacp模式链路聚合演示 https blog csdn net qq 45042462 article details 120938052 1 拓扑图 2 任务描述
  • 正则表达式校验版本号

    需求 校验版本号 规则 X Y Z 1 99 0 99 0 99 要求 1 必须是三位 例如 x x x的形式 2 每位x的范围分别为1 99 0 99 0 99 3 不允许的情况 0 x x 01 x x x 0x x x 00 x x
  • Python根据Excel名单实现文件夹下文件批量改名

    班级收集截图 通过缓存快速获取图片 可是文件夹内的文件是乱码 所以采用Python进行批量改名操作 import os import xlrd count 1 path C Users White Desktop 18 文件所在文件夹 ex
  • 排查Linux服务器是否被入侵步骤

    作为一个Linux运维工程师 能够清晰地鉴别异常机器是否已经被入侵了显得至关重要 以下是结合centos7 9操作系统进行排查Linux操作系统是否被入侵 其他Linux发行版的操作类似 1 入侵者可能会删除机器的日志信息 可以查看日志信息