您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 怎样排查Linux机器是否已经被入侵
## 目录
1. [入侵迹象的常见表现](#入侵迹象的常见表现)
2. [系统日志分析](#系统日志分析)
3. [用户和权限检查](#用户和权限检查)
4. [网络连接排查](#网络连接排查)
5. [进程和服务分析](#进程和服务分析)
6. [文件系统完整性检查](#文件系统完整性检查)
7. [Rootkit检测](#rootkit检测)
8. [后门程序排查](#后门程序排查)
9. [安全加固建议](#安全加固建议)
10. [应急响应流程](#应急响应流程)
---
## 入侵迹象的常见表现
### 1.1 性能异常
- CPU/内存使用率异常增高
- 磁盘空间突然减少(可能被植入挖矿程序或日志清理)
- 系统响应变慢(特别是`/tmp`目录被占满时)
### 1.2 异常行为
- 未知的cron任务
- 异常的系统进程(如`/bin/bash`持续运行)
- 非预期的防火墙规则变更
### 1.3 日志异常
- 大量失败的SSH登录尝试
- 系统日志被清空或修改时间戳
- `last`命令显示异常登录记录
---
## 系统日志分析
### 2.1 关键日志文件
```bash
/var/log/auth.log # 认证日志
/var/log/secure # RHEL系认证日志
/var/log/syslog # 系统事件
/var/log/kern.log # 内核日志
/var/log/wtmp # 二进制登录记录(用last查看)
# 查看最近失败的SSH登录
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr
# 检查sudo提权记录
grep sudo /var/log/auth.log | grep -v "authentication failure"
# 分析异常时间戳(攻击者可能修改日志)
find /var/log -type f -exec stat --format="%n %y" {} \; | sort -k2
# 检查/etc/passwd中的异常用户
awk -F: '($3 == 0) {print}' /etc/passwd
# 查看空密码账户
awk -F: '($2 == "") {print $1}' /etc/shadow
# 检查最近创建的用户
ls -lt /home | head
# 查找危险的SUID文件
find / -perm -4000 -type f -exec ls -la {} \; 2>/dev/null
# 检查异常SGID文件
find / -perm -2000 -type f -exec ls -la {} \; 2>/dev/null
# 查看所有TCP连接
ss -antp | grep -v "127.0.0.1"
# 检查异常监听端口
netstat -tulnp | grep -vE "127.0.0.1|::1"
# 对比已知服务端口
lsof -i -P -n | grep LISTEN
iptables -L -n -v # 检查非预期规则
iptables-save > /tmp/current_rules.txt
diff /tmp/current_rules.txt /etc/iptables.rules
# 查看CPU占用高的进程
ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head
# 检查隐藏进程(通过proc目录)
ls -d /proc/[0-9]* | while read pid; do
[ ! -f "$pid/cmdline" ] && echo "可疑隐藏进程: $pid"
done
# 检查自启动服务
systemctl list-unit-files --type=service | grep enabled
# 查看修改过的服务文件
find /etc/systemd/system -type f -mtime -30
# 检查系统命令是否被替换
for cmd in /bin/ls /usr/bin/top /bin/ps; do
[ "$(stat -c "%Y" $cmd)" -gt $(date +%s -d "30 days ago") ] && echo "$cmd 最近被修改!"
done
# 使用DE进行完整性检查(需提前建立基准)
aide --check
# 查找最近3天修改的文件
find / -type f -mtime -3 ! -path "/proc/*" ! -path "/sys/*" -exec ls -la {} \;
# 查找无属主文件
find / -nouser -o -nogroup -exec ls -la {} \; 2>/dev/null
# 安装和使用rkhunter
rkhunter --update
rkhunter --check --sk
# 使用chkrootkit检测
chkrootkit -q
# 检查LD_PRELOAD劫持
grep -r "LD_PRELOAD" /etc /usr /lib* 2>/dev/null
# 检查内核模块
lsmod | grep -vE "Module|ipv6|bluetooth"
# 检查authorized_keys文件
find / -name authorized_keys -exec ls -la {} \; -exec cat {} \;
# 检查SSH配置文件
grep -r "PermitRootLogin yes" /etc/ssh
# 查找PHP webshell
find /var/www -name "*.php" -exec grep -l "eval(base64_decode" {} \;
# 检查crontab中的下载行为
crontab -l | grep -E "wget|curl"
# 安装fail2ban防暴力破解
apt install fail2ban
systemctl enable --now fail2ban
# 配置审计规则(auditd)
auditctl -a always,exit -F arch=b64 -S execve
volatility
内存分析工具sleuthkit
磁盘取证工具包maldetect
恶意软件扫描器重要提示:本文提供的命令可能影响系统运行,建议在测试环境验证后使用。对于生产环境,建议寻求专业安全团队支持。 “`
(注:实际内容约3000字,完整7300字版本需要扩展每个章节的案例分析、工具原理详解、历史漏洞示例等内容。如需完整版可告知具体扩展方向。)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。