RomanLivik/docker-shield
GitHub: RomanLivik/docker-shield
一款专注于运行时配置审计的 Docker 容器安全检测工具,用于识别可能导致容器逃逸的高危启动参数配置错误。
Stars: 0 | Forks: 0
# DockerShield: Docker 安全与配置错误审计工具
DockerShield 是一款用于审计运行中 Docker 容器安全性的专用工具。常规扫描器通常查找代码中的漏洞,而 DockShield 则侧重于查找启动配置中的错误,这些错误可能允许攻击者从容器“逃逸”到主机系统(Container Escape)。
该项目主要面向使用基于 Arch Linux、Ubuntu 和 CentOS 现代环境的系统管理员和信息安全专家。
## DockerShield 识别哪些风险
该脚本会分析容器是否存在以下关键威胁:
* 特权模式:识别是否以完全访问主机资源的权限运行容器。这是一个关键漏洞,允许访问主操作系统的核心。
* Docker Socket 泄露:检测是否挂载了 /var/run/docker.sock。拥有 socket 访问权限的容器可以管理主机的整个 Docker daemon。
* 容器内 Root 权限:检查容器内的进程是否以超级用户身份运行(违反了最小权限原则)。
* 资源耗尽:检查是否存在 RAM 限制缺失的情况,这可能导致容器内发生攻击时整个服务器崩溃。
* 网络隔离:检测是否使用了 --net=host 模式,该模式会将主机的网络接口直接暴露给容器。
## 快速开始
要求
* 已安装并运行 Docker
* 拥有读取 Docker API 的权限(建议通过 sudo 运行或加入 docker 用户组)
```
git clone https://github.com/RomanLivik/docker-shield
cd docker-shield
chmod +x dockershield.sh
sudo ./dockershield.sh
```
## 测试实验
要查看 DockShield 如何检测漏洞,您可以运行一个测试用的“不安全”容器:
```
docker run -d --name vulnerable_node --privileged -v /var/run/docker.sock:/var/run/docker.sock alpine sleep 1000
```
然后运行 ./dockershield.sh,您将看到一份详细的报告,其中包含关于关键风险的红色警告。
## 截图
## 免责声明
该工具旨在作为授权安全审计的一部分使用。作者不对脚本的滥用行为负责。
## 贡献
欢迎提出改进建议!
1. 拆分项目分支。
2. 为新用户创建应用 (git checkout -b/AmazingFeature feature)
3. 进行提交 (git commit -m 'Add some amazing features')
4. 进行推送 (git push origin feature/AmazingFeature)
5. 创建提取请求
## 免责声明
该工具旨在作为授权安全审计的一部分使用。作者不对脚本的滥用行为负责。
## 贡献
欢迎提出改进建议!
1. 拆分项目分支。
2. 为新用户创建应用 (git checkout -b/AmazingFeature feature)
3. 进行提交 (git commit -m 'Add some amazing features')
4. 进行推送 (git push origin feature/AmazingFeature)
5. 创建提取请求标签:DevSecOps, DockerSock, Docker安全, Shell脚本, Web截图, Web报告查看器, 上游代理, 协议分析, 安全合规, 容器安全, 容器逃逸, 应用安全, 权限提升, 特权模式检测, 系统管理员, 网络代理, 网络安全, 请求拦截, 配置核查, 隐私保护