/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
Linux服务器被黑了不知道怎么排查?日志怎么看?后门怎么找?应急响应第一步该做什么?
全文系统梳理Linux安全与应急响应全流程,从日志分析、进程排查、后门清理到溯源分析,每个环节都有命令和实操步骤,看完就能上手应急响应!

一、Linux应急响应概述
Linux是企业服务器的绝对主力,也是攻击者的主要目标。当服务器被入侵后,快速、有序的应急响应能力决定了损失大小。应急响应的核心是"快速遏制、精准排查、彻底清除、完整溯源"。
应急响应标准流程
事件发现 → 初步评估 → 遏制隔离 → 证据固定 → 深度排查 → 清除威胁 → 恢复服务 → 溯源总结
↑ |
└──────────────────────── 改进预案 ←───────────────────────────────────┘
应急响应优先级矩阵
| P0-紧急 | 勒索病毒、大规模数据外传 | 立即 | 立即断网,保全证据 |
| P1-高 | 挖矿木马、WebShell | <30分钟 | 隔离主机,分析入侵路径 |
| P2-中 | 暴力破解、异常登录 | <2小时 | 封禁来源,加强认证 |
| P3-低 | 配置不当、弱口令 | <24小时 | 限期整改 |
提示: 应急响应最重要的原则是"先取证后处置"。不要急于清理后门,先固定证据、保存日志,否则攻击者痕迹被破坏后无法溯源。
二、Linux日志体系
1. 关键日志文件
| /var/log/auth.log | 认证日志(Debian系) | 极高 |
| /var/log/secure | 认证日志(RHEL系) | 极高 |
| /var/log/syslog | 系统日志 | 高 |
| /var/log/messages | 系统消息 | 高 |
| /var/log/audit/audit.log | 审计日志 | 极高 |
| /var/log/nginx/access.log | Nginx访问日志 | 高 |
| /var/log/apache2/access.log | Apache访问日志 | 高 |
| ~/.bash_history | 命令历史 | 极高 |
| /var/log/wtmp | 登录记录(二进制) | 高 |
| /var/log/btmp | 失败登录(二进制) | 高 |
| /var/log/cron | 定时任务日志 | 中 |
| /var/log/maillog | 邮件日志 | 中 |
2. 日志分析命令
# 认证日志分析
# 查看成功登录
grep "Accepted password" /var/log/auth.log
grep "session opened" /var/log/auth.log
# 查看失败登录(暴力破解检测)
grep "Failed password" /var/log/auth.log | awk '{print $NF}' | sort | uniq -c | sort -rn | head -20
# 查看SSH爆破
grep "Invalid user" /var/log/auth.log
grep "Did not receive identification" /var/log/auth.log
# 查看sudo使用记录
grep "sudo" /var/log/auth.log
# 查看用户创建
grep "useradd" /var/log/auth.log
grep "new user" /var/log/auth.log
# 登录记录分析(二进制日志)
last -f /var/log/wtmp -20 # 最近20次登录
last -f /var/log/btmp -20 # 最近20次失败登录
lastlog # 所有用户最后登录时间
3. 审计日志分析
# auditd 审计日志
# 查看进程执行记录
ausearch -m EXECVE -ts today
# 查看文件访问记录
ausearch -f /etc/passwd
# 查看用户操作
ausearch -k user_actions
# 查看系统调用
aureport –summary
# 关键审计规则
# /etc/audit/audit.rules
-w /bin/su -p x -k su_usage
-w /etc/passwd -p wa -k passwd_modification
-w /etc/sudoers -p wa -k sudoers_modification
-w /var/log/auth.log -p wa -k auth_log
-a always,exit -F arch=b64 -S execve -k cmd_execution
提示: 攻击者入侵后第一件事往往是清理日志。检查日志是否存在时间间隙(日志被删除)是发现入侵痕迹的重要方法。
三、进程与网络排查
1. 进程排查
# 查看所有进程
ps aux
ps -ef –forest
# 查看进程树(发现异常父子关系)
pstree -ap
# 查看进程的网络连接
netstat -antp
netstat -antp | grep ESTABLISHED
ss -antp
# 查看监听端口
netstat -tlnp
ss -tlnp
# 查找异常进程(CPU/内存占用异常)
top -c -b -n 1 | head -30
ps aux –sort=-%cpu | head -20
# 查看隐藏进程
ps aux | awk '{print $2}' | sort -n | uniq -d # 重复PID
# 查看进程对应的可执行文件
ls -la /proc/PID/exe
ls -la /proc/PID/cwd # 工作目录
ls -la /proc/PID/fd/ # 文件描述符
cat /proc/PID/cmdline # 启动命令
cat /proc/PID/environ # 环境变量
2. 异常进程检测
| 高CPU占用 | top/ps | 挖矿木马 |
| 未知监听端口 | netstat/ss | 反弹Shell/C2 |
| 进程名伪装 | ps/pstree | 进程注入(如[kthreadd]) |
| 已删除文件运行 | ls /proc/PID/exe | 无文件攻击 |
| 异常父进程 | pstree | 提权/注入 |
| 异常网络外连 | netstat | 数据外传/C2 |
# 检查已删除但仍运行的进程(无文件攻击)
for pid in $(ls /proc/ | grep -E '^[0-9]+$'); do
exe=$(readlink /proc/$pid/exe 2>/dev/null)
if echo "$exe" | grep -q "(deleted)"; then
echo "[!] PID $pid: $exe"
fi
done
# 检测反弹Shell
# 常见特征:bash/python/perl/sshd 连接到外网非常规端口
netstat -antp | grep -E "bash|python|perl|nc|socat" | grep ESTABLISHED
3. 网络连接排查
# 所有网络连接
netstat -antp
ss -antp
# 查看异常外连
# 关注非常规端口、异常目标IP
netstat -antp | grep ESTABLISHED | grep -v "127.0.0.1"
# 查看DNS查询
# 检查DNS配置是否被篡改
cat /etc/resolv.conf
cat /etc/hosts
# 抓包分析
tcpdump -i any -w capture.pcap -c 10000
tcpdump -i any port 53 -w dns.pcap # DNS流量
四、后门与持久化排查
1. 计划任务排查
# 查看所有用户的crontab
for user in $(cut -f1 -d: /etc/passwd); do
crontab -u $user -l 2>/dev/null
done
# 系统级计划任务
cat /etc/crontab
ls -la /etc/cron.d/
ls -la /etc/cron.daily/
ls -la /etc/cron.hourly/
ls -la /etc/cron.weekly/
ls -la /etc/cron.monthly/
# 检查anacron
cat /etc/anacrontab
# 检查at任务
at -l
ls -la /var/spool/at/
2. 启动项排查
# 系统服务
systemctl list-units –type=service –state=running
systemctl list-unit-files –state=enabled
# 查看所有service文件
find /etc/systemd/system/ -name "*.service" -ls
find /usr/lib/systemd/system/ -name "*.service" -ls
# init.d 脚本
ls -la /etc/init.d/
# rc.local
cat /etc/rc.local
cat /etc/rc.d/rc.local
# 查看开机启动脚本
ls -la /etc/profile.d/
cat /etc/profile
cat ~/.bashrc
cat ~/.bash_profile
3. SSH后门排查
# 检查SSH配置
cat /etc/ssh/sshd_config | grep -v "^#" | grep -v "^$"
# 关注以下危险配置
# PermitRootLogin yes # 允许root直接登录
# PasswordAuthentication yes # 允许密码登录
# AuthorizedKeysFile # 公钥文件路径是否被修改
# 检查authorized_keys
find / -name authorized_keys 2>/dev/null
cat ~/.ssh/authorized_keys
# 检查SSH wrapper后门
ls -la /usr/sbin/sshd
file /usr/sbin/sshd
# 对比原始sshd文件的MD5
md5sum /usr/sbin/sshd
持久化排查清单
| 计划任务 | crontab / /etc/cron.* | crontab -r / 删除文件 |
| 系统服务 | /etc/systemd/system/ | systemctl disable + 删除 |
| 启动脚本 | /etc/rc.local / profile.d | 删除恶意脚本 |
| SSH公钥 | ~/.ssh/authorized_keys | 删除未知公钥 |
| SSH后门 | /usr/sbin/sshd | 重新安装openssh |
| PAM后门 | /lib/security/ | 验证PAM模块完整性 |
| rootkit | 内核模块/系统调用 | rkhunter/chkrootkit扫描 |
| LD_PRELOAD | /etc/ld.so.preload | 清除预加载配置 |
# Rootkit扫描
rkhunter –check
chkrootkit
# 检查LD_PRELOAD
cat /etc/ld.so.preload
echo $LD_PRELOAD
env | grep LD_PRELOAD
# 检查内核模块
lsmod | grep -v "^Module"
# 对比已知正常模块列表
lsmod | awk '{print $1}' | sort > /tmp/modules_now.txt
diff /tmp/modules_baseline.txt /tmp/modules_now.txt
五、文件系统排查
1. 异常文件查找
# 查找最近修改的文件(1天内)
find / -mtime -1 -type f 2>/dev/null | grep -v "/proc\\|/sys\\|/run"
# 查找最近1小时内修改的文件
find / -mmin -60 -type f 2>/dev/null
# 查找SUID文件(提权后门)
find / -perm -4000 -type f 2>/dev/null
# 查找SGID文件
find / -perm -2000 -type f 2>/dev/null
# 查找隐藏文件
find / -name ".*" -type f 2>/dev/null
# 查找新增文件(7天内)
find / -ctime -7 -type f 2>/dev/null
# 查找异常大文件(数据打包/压缩)
find / -size +100M -type f 2>/dev/null | grep -v "/proc\\|/sys"
2. 关键文件完整性
# 检查关键文件是否被篡改
# 对比软件包文件完整性(RHEL系)
rpm -Va | grep -E "^.{2}.*[SM5]"
# S = 大小变化
# M = 权限/模式变化
# 5 = MD5变化
# Debian系
debsums -s
# 检查/etc/passwd异常(新增用户)
cat /etc/passwd | grep ":0:" | grep -v "^root"
cat /etc/passwd | grep "/bin/bash\\|/bin/sh"
# 检查/etc/sudoers
cat /etc/sudoers | grep -v "^#" | grep -v "^$"
ls -la /etc/sudoers.d/
cat /etc/sudoers.d/*
# 检查关键二进制文件
# 使用AIDE(Advanced Intrusion Detection Environment)
aide –check
3. WebShell排查
# 查找Web目录下的PHP文件
find /var/www/ -name "*.php" -ls
# 查找最近修改的Web文件
find /var/www/ -mtime -7 -name "*.php" -ls
# 搜索WebShell特征
grep -rn "eval\\|assert\\|system\\|exec\\|passthru\\|shell_exec" /var/www/ –include="*.php"
# 搜索常见WebShell函数
grep -rn "base64_decode\\|str_rot13\\|gzinflate\\|gzuncompress\\|strrev" /var/www/ –include="*.php"
# 查找一句话木马
grep -rn "\\$_POST\\[.*\\]" /var/www/ –include="*.php"
grep -rn "create_function\\|preg_replace.*\\/e" /var/www/ –include="*.php"
六、内存取证
# Linux内存取证
# 1. 获取内存镜像
# 使用 LiME (Linux Memory Extractor)
insmod lime.ko "path=/tmp/memory.lime format=lime"
# 2. 使用 Volatility 分析
# Linux profile 需要提前构建
vol.py –profile=LinuxProfile -f memory.lime linux_pslist
vol.py –profile=LinuxProfile -f memory.lime linux_bash
vol.py –profile=LinuxProfile -f memory.lime linux_netstat
vol.py –profile=LinuxProfile -f memory.lime linux_check_syscall
vol.py –profile=LinuxProfile -f memory.lime linux_hidden_modules
# 3. 进程内存分析
# 获取进程内存映射
cat /proc/PID/maps
# 获取进程内存内容
gcore PID
# 或
cat /proc/PID/mem > process_memory.bin
七、应急响应报告
1. 事件信息记录模板
| 事件编号 | IR-2026-001 |
| 发现时间 | 2026-XX-XX HH:MM |
| 报告人 | XXX |
| 事件类型 | (挖矿/WebShell/勒索/数据泄露) |
| 影响范围 | (主机/服务/数据) |
| 入侵路径 | (漏洞利用/弱口令/钓鱼) |
| 攻击者IP | XXX.XXX.XXX.XXX |
| 处置措施 | (断网/清除/加固) |
| 根因分析 | (漏洞未修复/口令弱/配置不当) |
| 改进建议 | (补丁/认证/监控) |
2. 应急响应Checklist
| 1 | 网络连接排查 | P0 | netstat/ss |
| 2 | 异常进程排查 | P0 | ps/pstree/top |
| 3 | 日志分析 | P0 | auth.log/wtmp |
| 4 | 计划任务排查 | P0 | crontab/cron.d |
| 5 | 启动项排查 | P1 | systemctl/init.d |
| 6 | SSH后门排查 | P1 | authorized_keys/sshd_config |
| 7 | 文件完整性 | P1 | rpm -Va/aide |
| 8 | WebShell排查 | P1 | find+grep |
| 9 | Rootkit扫描 | P2 | rkhunter/chkrootkit |
| 10 | 内存取证 | P2 | LiME/Volatility |
| 11 | 用户账户排查 | P1 | /etc/passwd/sudoers |
| 12 | 环境变量排查 | P2 | env/ld.so.preload |
警告: 应急响应中发现的所有证据必须妥善保存。日志文件、内存镜像、磁盘镜像应当备份到安全存储,为后续溯源和法律追责保留证据。
学习资源
2026年最新版本,全网最全的网安视频教程。耗时半年打造,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。
内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种应急响应技术,并且还有后期的内存取证、Rootkit检测等高阶技术。

总共200多节视频,200多G的资源,不用担心学不全。(包含日志分析、进程排查、后门清理、Rootkit检测、内存取证、溯源分析等技术点)
1、知识库价值
深度: 本知识库超越常规工具手册,深入剖析Linux安全与应急响应的底层原理与高级排查技巧,并对业内挑战最大的无文件攻击、Rootkit检测等,提供了独到的技术视角和实战验证过的应急方案。
广度: 面向企业安全建设的核心场景(安全运维、应急响应、威胁狩猎、红蓝对抗),本知识库覆盖了从日志分析、进程排查、后门清理、文件取证到内存分析、Rootkit检测、溯源报告的全生命周期关键节点,是安全运维的实用指南。

实战性: 知识库内容源于真实应急响应和安全运维实践,通过详尽的排查命令、分析脚本、取证工具来传递核心思路与落地方法。
2、部分核心内容展示
独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。
内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。
1、网络安全意识

2、Linux操作系统

3、WEB架构基础与HTTP协议

4、Web渗透测试

5、渗透测试案例分享

6、渗透测试实战技巧

7、攻防对战实战

8、CTF之MISC实战讲解

3、适合学习的人群
一、基础适配人群
零基础转型者:适合计算机零基础但愿意系统学习的人群,资料覆盖从Linux基础、日志分析到应急响应的完整知识链;
开发/运维人员:具备运维基础者可通过资料快速掌握安全排查与应急响应技能,实现职业方向拓展或者转行就业;
应届毕业生:计算机相关专业学生可通过资料构建完整的Linux安全知识体系,缩短企业用人适应期;
二、能力提升适配
1、技术爱好者:适合对安全技术有强烈兴趣,希望掌握应急响应、入侵排查等实战技能的学习者;
2、安全从业者:帮助初级安全工程师系统化提升Linux安全、应急响应等专项能力;
3、系统管理员:帮助运维人员掌握入侵检测与应急处置能力,提升系统安全运维水平;
因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传,戳下面拿:
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:

————————————————





