Linux 被入侵后,真正危险的往往不是“木马本身”,而是:
所以生产环境里,入侵排查的核心目标不是“删病毒”,而是:
“确认攻击路径、控制范围、持久化方式、数据影响范围,并完成彻底清除与加固。”
一、Linux 入侵排查总体流程(标准流程)
1. 发现异常 ↓2. 现场保护 ↓3. 判断是否失陷 ↓4. 查攻击入口 ↓5. 查权限提升 ↓6. 查持久化后门 ↓7. 查横向移动 ↓8. 查数据泄露 ↓9. 清理与恢复 ↓10. 安全加固 ↓11. 复盘总结
二、第一阶段:发现异常(入侵迹象)
典型异常现象
三、第二阶段:现场保护(极其重要)
很多人第一件事:
这是严重错误。
因为:
正确做法
1)不要重启
先保留现场。
2)隔离网络
限制外连:
或者:
3)备份日志
重点:
/var/log//tmp//var/tmp//root/.bash_history/home/*/.bash_history
4)记录当前状态
四、第三阶段:系统失陷判断
1)检查登录情况
当前登录
历史登录
重点看:
SSH日志
RHEL/Kylin
Ubuntu
排查:
grep "Failed password" /var/log/securegrep "Accepted password" /var/log/secure
2)检查账户异常
查看UID=0账户
awk-F: '$3==0 {print $1}' /etc/passwd
正常一般只有:
检查空密码
awk -F: 'length($2)==0 {print $1}' /etc/shadow
检查新增账号
重点:
五、第四阶段:进程排查(核心)
1)CPU异常
2)查看恶意进程
重点:
例如:
3)查看进程对应文件
4)查看已删除但仍运行程序
这是高级后门常见手法:
5)检查启动来源
六、第五阶段:网络连接排查
1)查看外联IP
或者:
重点:
2)查看监听端口
重点:
3)定位进程
七、第六阶段:计划任务排查(重灾区)
攻击者最喜欢:
实现持久化。
1)检查crontab
用户级
全局
cat /etc/crontabls /etc/cron.d/
2)检查恶意命令
重点:
例如:
3)检查开机启动
systemctl list-unit-files
rc.local
八、第七阶段:WebShell 排查
生产环境最常见攻击入口:
1)查最近修改文件
2)查可疑PHP函数
grep-R"eval(" /var/wwwgrep-R"base64_decode" /var/wwwgrep-R"assert(" /var/www
3)查一句话木马
常见:
<?php@eval($_POST['cmd']);?>
九、第八阶段:Rootkit 排查
Rootkit 会隐藏:
工具:
rkhunter
chkrootkit
十、第九阶段:日志分析(溯源核心)
1)SSH爆破分析
grep"Failed password" /var/log/secure \| awk'{print $(NF-3)}' \| sort | uniq -c | sort-nr
2)成功登录IP
grep"Accepted" /var/log/secure
3)Web攻击日志
Nginx:
/var/log/nginx/access.log
重点:
十一、第十阶段:文件完整性检查
检查关键文件
重点:
Debian/Ubuntu
十二、第十一阶段:内存与高级排查
高级攻击:
1)检查LD_PRELOAD
2)检查隐藏模块
3)检查异常so
十三、第十二阶段:数据泄露排查
重点:
查大文件
find / -type f -size+500M
查压缩包
十四、第十三阶段:应急处置
1)封禁恶意IP
firewall-cmd --add-rich-rule='rule family="ipv4" source address="x.x.x.x" reject'
2)杀掉恶意进程
3)删除计划任务
4)删除后门账号
十五、第十四阶段:恢复与重建
真正安全的做法:
不建议:
因为:
推荐:
重装系统
并:
十六、Linux 入侵常见攻击路径
十七、企业级安全加固建议
SSH安全
PermitRootLogin noPasswordAuthentication no
Fail2ban
推荐部署:
Fail2Ban
开启审计
文件完整性
推荐:
最小权限
不要:
十八、企业级入侵排查标准工具箱
十九、真实案例(典型)
案例1:Redis未授权导致挖矿
现象:
发现:
攻击路径:
Redis未授权→ 写SSH Key→ 下载挖矿程序→ 定时守护
案例2:Nginx WebShell
现象:
发现:
日志:
二十、企业标准化入侵排查 Checklist
基础检查
[ ] 登录日志[ ] SSH异常[ ] 新增用户[ ] sudo异常
进程检查
[ ] 高CPU[ ] deleted进程[ ] /tmp执行
网络检查
持久化检查
[ ] crontab[ ] rc.local[ ] systemd
Web检查
[ ] WebShell[ ] 上传漏洞[ ] access.log
二十一、生产环境最佳实践总结
真正专业的应急响应:
不是:
而是:
发现攻击链→ 判断影响范围→ 确认横向移动→ 阻断扩散→ 保留证据→ 重建系统→ 安全加固
二十二、Linux 入侵排查核心思维(最重要)
企业里真正危险的不是:
而是:
所以高级运维/SRE/安全工程师做应急时:
而不是: