文章目錄
- 場景
- 一、問題
- 二、原因
- 三、解決方案
- 1、控制臺處理
- 2、 [清除與防護](https://blog.csdn.net/ladymorgana/article/details/148921668?spm=1001.2014.3001.5501)
- 1. 緊急處理:停止挖礦進程
- 2. 清理被感染的容器
- 3. 防護措施:防止再次被入侵
- 4. 排查入侵來源
- 四、實戰
- Step 1:<font color="green">檢查服務器是否被植入挖礦程序
- Step 2:<font color="green">刪除被感染的文件
- Step 3:<font color="green">關閉docker api端口
- Step 4:<font color="green">改造容器:防止再次被入侵
- Step 5:<font color="green">刪除感染容器和鏡像后,重新創建容器
場景
- 服務器:阿里云
- 容器化平臺:docker (docker-compose)
- 容器:spring boot 項目
一、問題
- 部署的業務卡頓,服務器CPU異常占用接近100%
二、原因
- 服務器被而且運行挖礦程序
三、解決方案
1、控制臺處理
阿里云–控制臺–云安全中心–檢測響應–安全警告—找到惡意挖礦告警–處理–立即處理(不處理5天后服務器回關停
)
2、 清除與防護
1. 緊急處理:停止挖礦進程
- 查找并終止
xmrig
進程 - 刪除惡意文件
2. 清理被感染的容器
- 停止并刪除容器
- 檢查鏡像是否被污染
3. 防護措施:防止再次被入侵
- 使用最小化鏡像
- 限制容器資源
- 禁止容器內運行可疑進程
- 監控容器行為
- 避免暴露 Docker API
4. 排查入侵來源
- 檢查 Docker 日志
- 檢查宿主機是否被入侵
- 檢查 Dockerfile 是否被篡改
四、實戰
Step 1:檢查服務器是否被植入挖礦程序
ps aux | grep -E "xmrig|minerd|cpuminer|c3pool"
多行返回記錄表示系統被感染,下圖表示系統未被感染
Step 2:刪除被感染的文件
find / -name "*xmrig*" -exec rm -rf {} \;
find / -name "*c3pool*" -exec rm -rf {} \;
Step 3:關閉docker api端口
- 這里作者只關閉了安全組里的2375和2376,有興趣的小伙伴可以參考
【攻防篇】阿里云服務器中 如何關閉docker api端口
Step 4:改造容器:防止再次被入侵
- docker-copmose.yaml 中加入如下代碼
cap_drop:- ALL # 移除所有 Linux Capabilitiesread_only: true # 只讀文件系統tmpfs: # 僅允許臨時目錄寫入- /tmpdeploy:resources:limits:cpus: '1' # 限制最多使用 1 個 CPU 核心memory: 10G # 限制內存為 10G
Step 5:刪除感染容器和鏡像后,重新創建容器
docker-compose --compatibility up -d --build