linux 服务器病度查杀
- 云服务器
- 2025-08-16
- 6
Linux服务器病度特征及常见威胁类型
| 类别 | 典型表现 | 危害等级 |
|---|---|---|
| 生产木码 | CPU/内存占用率突增、陌生进程(如xmrig)、出站矿池连接 | |
| 索要软件 | 文件扩展名被改动(.encrypted)、弹出赎金通知窗口 | |
| 后们程序 | 异常SSH登录记录、未知网络端口开放、计划任务新增 | |
| Webshell | 网站根目录出现可疑PHP/JSP文件、访问日志含非法参数 | |
| 分布僵尸主机 | 大量对外发包请求、流量带宽长期占满 |
应急响应全流程操作手册
初步排查阶段
关键命令组合:
# 实时监控系统调用(抓现行) sudo ausearch -i -ts recent # 查看30天内新建文件TOP50 find / -ctime -30 -type f -exec ls -l {} + | sort -nrk9 | head -n50 # 检索进程启动参数 ps auxfww | grep -E 'base64|wget|curl|php'
️ 重点检查区域:
- /dev/shm(共享内存空间,常驻临时后们)
- /tmp/(注意伪装成系统服务的进程)
- /etc/rc.local & /etc/cron.(持久化机制)
- Nginx/Apache的错误日志(查找Web入侵痕迹)
专业工具扫描方案
| 工具名称 | 适用场景 | 优势 | 注意事项 |
|---|---|---|---|
| ClamAV | 基础病度查杀 | 免费/多平台/每日更新 | 需配合自定义规则库 |
| Rkhunter | Rootkit专项检测 | 专门针对内核级隐藏技术 | 高误报率,慎用于生产环境 |
| Chkrootkit | 轻量级后们检测 | 快速定位已知漏洞利用方式 | 无法识别新型攻破手法 |
| Wazuh/OSSEC | 实时入侵检测 | SIEM系统集成+行为分析 | 部署复杂,适合中大型企业 |
ClamAV增强用法:
# 更新病度库并扫描关键目录 sudo freshclam && sudo clamscan -r --infected --remove=no /bin /boot /etc /lib /usr/bin /var/log # 创建每日定时任务(写入/etc/crontab) 0 3 root clamscan -r / > /var/log/virus_scan.log 2>&1
人工深度取证分析
二进制逆向技巧:

- 使用file命令识别可疑ELF文件特性: file suspicious_file # 危险信号示例:'data' section executable、'upx' packed
- 通过strings提取敏感字符串: strings suspicious_file | grep -E 'password|token|api'
- 动态调试跟踪(gdb): gdb --args ./suspicious_file (gdb) break main (gdb) run (gdb) backtrace full
YARA规则编写示例(检测Mimikatz内存取证工具):
rule Mimikatz_Detection { meta: description = "Mimikatz Process Injection" strings: $a = { 8B C7 ???? ???? ???? ???? F3 C3 } // 典型汇编模式 $b = { 4D 69 6D 69 6B 61 74 7A } // ASCII "Mimikatz" condition: any of them }
系统净化与修复
️ 标准化处理流程:

- 隔离环境:立即断开网络(iptables -P INPUT DROP),挂载只读文件系统(mount -o remount,ro /)
- 证据保全:制作磁盘镜像(dd if=/dev/sda of=/backup/disk.img bs=4M)
- 精准清除:
- 删除病度文件前先转存副本供后续分析
- 重置文件属性:chattr -a /path/to/file
- 清理历史记录:history -c + 清空~/.bash_history
- 账户安全:
- 强制密码重置:passwd [user]
- 禁用危险SUID程序:find / -perm /4000 -exec ls -l {} ;
- 系统重建:
- 最小化安装原则重新部署服务
- 启用AppArmor/SELinux强制访问控制
长效防御体系建设
核心加固策略
| 层面 | 实施措施 | 预期效果 |
|---|---|---|
| 网络层 | 关闭不必要的RPC服务(rpcbind/portmap)、限制SSH源IP | 减少80%以上暴露面 |
| 应用层 | 启用Web应用防火墙(ModSecurity)、SQL载入过滤 | 阻断自动化攻破链 |
| 数据层 | 实施透明加密(LUKS+dm-crypt)、每日增量备份+异地归档 | 确保业务连续性 |
| 监控层 | 部署Elastic Stack收集审计日志、设置异常行为基线阈值 | 实现分钟级威胁感知 |
推荐工具链组合
| 功能模块 | 开源方案 | 商业替代 | 互补价值 |
|---|---|---|---|
| EDR终端防护 | Wazuh Agent | CrowdStrike Falcon | 进程行为监控+威胁情报联动 |
| 漏洞管理 | OpenVAS | Qualys Guard | 周期性全端口扫描+补丁优先级排序 |
| 沙箱分析 | Cuckoo Sandbox | FireEye Threat Analyzer | 未知样本动态行为捕获 |
| 日志分析 | Graylog | Splunk Enterprise | 跨设备日志关联分析 |
常见问题与解答
Q1: 发现/usr/bin/microcode_ctl正在频繁发起外网请求怎么办?
诊断思路:
- 验证数字签名:rpm -V microcode_ctl → 若显示”missing digest”则已被改动
- 抓取完整数据包:tcpdump -nnX port 443 and host external_ip
- 比对官方版本哈希值:从intel官网下载对应版本的SHA256SUMS文件校验
- 应急处理:auditctl -W /usr/bin/microcode_ctl 开启审计追踪后删除文件
Q2: 如何在不影响业务的前提下彻底清除Kernel模块级别的Rootkit?
专业处置方案:
- 进入救援模式:cd /run/initramfs/init; ./init
- 挂载原始分区:mkdir /mnt/sysimg; mount -o ro /dev/mapper/vg0-lv_root /mnt/sysimg
- 使用未感染系统的chroot环境:chroot /mnt/sysimg
- 执行以下操作:
- rmmod malicious_module.ko
- dracut --force 重建initramfs
- update-grub 修复引导加载器
- 重启后立即运行checkmodules验证内核模块完整性
️ 注意:某些高级Rootkit会感染MBR扇区,必要时需使用dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1
