2024-02-11 19:56:37
记录一次因 Docker API 暴露导致的 NAS 挖矿病毒入侵事故,病毒通过未鉴权的 Docker API 部署恶意容器,最终通过清理容器和全盘扫描解决问题。以下是详细过程与分析:
事故起因:CPU 异常飙升

该指令会更新系统包、安装 wget 和 cron,然后从国外 IP 下载脚本 d.sh 并执行,最后保持容器运行。
安全措施:删除日志、关闭防火墙、禁用性能监控,以隐藏自身痕迹。
竞争排除:终止其他挖矿进程,确保自身独占资源。
云防护绕过:针对阿里云等国内云平台的防护机制进行破坏,表明攻击者可能为国人且主要扫描阿里云 IP。
挖矿目标:挖掘门罗币(Monero),一种注重隐私的加密货币。
未开启特权模式:Privileged: false,限制容器对宿主机的权限。
未挂载宿主机目录:Binds: null,防止病毒扩散至宿主机。
无敏感权限:CapAdd: null,未添加额外 Linux 能力。
停止并删除容器:
停止异常容器后,CPU 使用率恢复正常。
删除容器及关联卷,防止残留文件。
全盘扫描:
使用 NAS 自带的病毒查杀功能进行全盘扫描,确保无遗漏。

攻击者扫描到开放的 Docker API。
通过 API 直接部署恶意容器至 NAS。
容器内挖矿病毒运行并尝试扩散。
Docker API 默认无鉴权机制,暴露后极易被利用。
测试环境未集成 API Hub 或添加 IP 白名单,缺乏基本防护。
关闭不必要的端口:尤其是 Docker API(2375/2376),避免暴露至公网。
启用鉴权机制:通过 TLS 加密和认证保护 Docker API。
限制容器权限:避免使用特权模式,谨慎挂载宿主机目录。
定期更新与扫描:保持系统和软件更新,使用可靠杀毒工具全盘扫描。
提高安全意识:公网访问需谨慎,开发环境与生产环境隔离。
警钟长鸣:NAS 公网便利性与安全性需平衡,爱折腾的博主更需注重细节防护!