0

0

Linux 日志中如何发现安全入侵迹象

舞夢輝影

舞夢輝影

发布时间:2026-01-29 18:44:03

|

240人浏览过

|

来源于php中文网

原创

成功登录记录是攻击者突破口令或密钥后的首要痕迹,需重点排查Accepted password、异常IP、非工作时间及高频登录;结合last/lastb/lastlog分析时空异常,并交叉验证其他系统痕迹以确认入侵。

linux 日志中如何发现安全入侵迹象

/var/log/secure/var/log/auth.log 抓“成功登录”线索

攻击者一旦突破口令或密钥,最常留下的第一处痕迹就是合法的 SSH 登录记录。别只盯着“Failed password”,Accepted password 才是关键信号——尤其是来自陌生 IP、非工作时间、或高频短时多次登录的情况。

  • grep "Accepted" /var/log/secure | tail -50 快速翻最近 50 条成功登录;CentOS/RHEL 默认用 /var/log/secure,Ubuntu/Debian 用 /var/log/auth.log
  • 注意匹配 from 后的 IP 和 port:比如 from 203.124.87.15 port 56231,这个端口不是标准 SSH 端口(22),说明对方可能在扫描或已控制跳板机
  • 如果日志里大量出现同一 IP 对不同用户名的 Accepted 记录(如 rootadmintest01),基本可判定是暴力破解得手后的横向尝试

lastlastblastlog 追踪登录时空异常

这三个命令背后分别读取的是 /var/log/wtmp(历史登录)、/var/log/btmp(失败登录)和 /var/log/lastlog(每个用户最后一次登录)。它们不依赖 syslog,即使攻击者清空了 secure,只要没删或覆盖这些二进制文件,痕迹仍在。

  • last -n 30 查最近 30 次登录,重点看 pts/0 类远程会话的登录时间、IP、持续时长;突然出现凌晨 3 点从俄罗斯 IP 登录并持续 12 小时的记录,大概率异常
  • lastb -n 20 查最近 20 次失败登录,若发现某 IP 在 1 秒内触发 17 次失败(Invalid user + Failed password 组合),说明正在跑字典爆破
  • lastlog | awk '$3 != "" && $3 可快速筛出“最后登录时间早于今年 1 月 1 日”的账号——这类长期未用却突然活跃的账户,极可能是被植入的后门账号

检查 /etc/passwd 里有没有“不该有 shell”的人

攻击者加号账户,往往直接给 /bin/bash/bin/sh,而不是系统默认的 /usr/sbin/nologin/bin/false。但更隐蔽的是 UID=0 的隐藏 root 变体(如 roootadmim),或 UID 小于 1000 却不在初始系统用户列表里的账号。

Magician
Magician

Figma插件,AI生成图标、图片和UX文案

下载
  • awk -F: '$3 == 0 {print}' /etc/passwd 列出所有 UID 为 0 的用户,除 root 外都需人工确认
  • awk -F: '$7 !~ /(nologin|false|sync|halt|shutdown)$/ {print $1, $3, $7}' /etc/passwd 找出所有能真正登录的用户(shell 不是受限类型),再结合 lastlog 看他们是否真有活动
  • 特别警惕用户名含数字/下划线/非常规拼写的账号(如 www_data_2x99),这些不像管理员手动创建,倒像脚本批量生成

比对 wtmp/btmp 时间戳与系统时间是否严重偏移

高级攻击者有时会篡改系统时间来混淆日志时间轴,让 last 显示的登录时间变成“未来”或“远古”。这时 wtmp 文件本身的修改时间(stat /var/log/wtmp)就成关键证据。

  • stat /var/log/wtmp | grep "Modify:" 查文件最后修改时间;如果显示是“2026-01-28 23:59:59”,但 last 里却有“2026-01-29 01:00:00”的登录记录,说明时间被调过
  • ls -lt /var/log/*.log /var/log/*/*.log 2>/dev/null | head -5 快速扫一遍日志文件的修改顺序:正常情况下 securemessageswtmp 应该是相近时间更新;若 wtmp 时间明显晚于其他日志几小时,且内容又“恰好”缺失某段时间,就要怀疑被裁剪过
  • 注意:btmp 默认只有 root 可读,普通用户执行 lastb 会报权限错误——这不是异常,是设计如此;但如果你发现 lastb 返回空,而 stat /var/log/btmp 显示大小为 0,则说明它已被清空

真正的难点不在命令会不会敲,而在判断“多异常才算入侵”。比如单次异地登录未必是问题,但配合 /etc/passwd 新增低 UID 账户、/tmp 下出现无名 ELF 文件、以及 netstat 显示一个监听在 31337 端口的未知进程——这三者同时出现,才构成强证据链。日志只是起点,不是终点。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

186

2023.09.27

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

236

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

458

2024.03.01

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1395

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

706

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

295

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

782

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

575

2023.07.06

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

19

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8万人学习

Git 教程
Git 教程

共21课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号