服务器异常磁盘写排查手册 · 已删除文件句柄篇

适用范围

适用于磁盘写满 ≥ 90 %,但 du 与 df 差距 ≥ 50 % 的紧急事件。


1. 现象确认

bash 复制代码
# 1.1 确认已删除文件占用
lsof +L1 2>/dev/null | awk '$7 > 50000000 {print $2, $7/1024/1024 "MB", $9}'
# 输出示例:2817 7832MB /tmp/.x86_64 (deleted)

2. 样本提取与静态分析

bash 复制代码
PID=2817
cp /proc/$PID/exe /tmp/sample.bin
file /tmp/sample.bin
# ELF 64-bit LSB executable, statically linked, stripped
strings /tmp/sample.bin | grep -E 'stratum|gulf\.moneroocean\.stream'

3. 网络行为取证(无 rootkit 时)

使用 auditd 记录进程外联:

bash 复制代码
# /etc/audit/rules.d/mine.rules
-a always,exit -F arch=b64 -S connect -F pid=2817 -k mine_out

重载并查看:

bash 复制代码
sudo systemctl restart auditd
sudo ausearch -k mine_out -i

若出现 saddr=45.142.214.12 则与威胁情报匹配。


4. 止血(不停业务)

bash 复制代码
# 4.1 临时黑洞矿池网段
ip route add blackhole 45.142.214.0/24

# 4.2 释放已删除文件占用的空间
kill -9 2817
echo 2 > /proc/sys/vm/drop_caches

5. 加固与长期方案

  1. 挂载层加固
    将 /tmp 改为独立 tmpfs 并加 ro,nosuid,nodev:

    bash 复制代码
    mount -t tmpfs -o ro,nosuid,nodev,size=1G tmpfs /tmp
  2. 接入层收敛
    业务域名解析到高防 Anycast IP,源站仅暴露 922 (SSH) 和 443 (HTTPS);边缘节点提供托管 WAF 规则集,自动拦截已知挖矿 User-Agent。

  3. 日志留存
    高防平台以 Parquet 格式投递 7 天原始请求日志至 S3 兼容桶,生命周期 30 天后自动冷存,符合企业内部审计要求。


6. 小结

  • lsof +L1 是定位"已删未关"文件的最快路径
  • 黑洞路由 + drop_caches 可在不重启服务的情况下恢复磁盘空间
  • 将入口流量托管至具备 Anycast + 行为识别能力的边缘网络,比本地堆叠 iptables 规则更具可扩展性
相关推荐
知已难寻5 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
冬奇Lab5 小时前
开源项目第258期:Harness² —— Google Research 的「递归式 Agent Harness 优化」,模型权重不动,只改 Agent 的外壳
人工智能·开源
黎羽_6 小时前
《开源 PR 实战》系列(三):22 个 PR 之后,批量提 PR 的打法
开源·github·代码评审·pull request·协作
Hone9 小时前
juejin-skills 系列 ②:我把「看掘金热榜」也做成了 Agent 技能
开源·node.js·ai编程
fthux10 小时前
总想着“忙完再休息”?让 Tick Rest 提醒你,先歇一会儿
开源·github·mac·swift·提醒·消息提醒·tick rest·tick rest for mac·消息提醒app
SL_staff11 小时前
企业AI落地难?JVS-AI渐进式实践:安全可控、小切口验证、标准化沉淀与规模化复制
java·开源·aigc
一知半解仙11 小时前
乌镇2026:当“智能互联网”第一次被数据照进现实
人工智能·物联网·机器人·开源
星恒随风11 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
Alluxio12 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
努力努力再努力wz14 小时前
【Lua 进阶系列】从 C++ 对象到 Lua 变量:一文理解 userdata、Lua 栈与元表绑定机制
c++·junit·lua