容器中不安装没有必要的软件包
描述
容器往往是操作系统的最简的版本,不要安装任何不需要的软件。
隐患分析
安装不必要的软件可能会增加容器的攻击风险。因此,除了容器的真正需要的软件之外,不要安装其他多余的软件。
审计方式
1.通过执行以下命令列出所有运行的容器实例:
```shell script $ docker ps
> 对于每个容器实例,执行以下或等效的命令
```shell script
$ docker exec <container-id> rpm -qa
rpm -qa
命令可根据容器镜像系统类型进行相应变更
修复建议
- 中间件等应用使用官方镜像
- 构建镜像时选用
alpine
、CentOS
等官方精简后的镜像
从源头杜绝安装没有必要的软件包
仅安装已经验证的软件包
描述
在将软件包安装到镜像中之前,验证软件包可靠性
隐患分析
验证软件包的可靠性对于构建安全的容器镜像至关重要。不合法的软件包可能具有恶意或者存在一些可能被利用的已知漏洞
审计方式
第 1 步:运行以下命令以获取镜像列表:
```shell script $ docker images
第 2 步:对上面列表中的每个镜像运行以下命令,并查看软件包的合法性
```shell script
$ docker history <imageID>
若可以访问镜像的Dockerfile
,请验证是否检查了软件包的合法性
修复建议
使用GPG
密钥下载和验证您所选择的软件包或任何其他安全软件包分发机制
参考文档
- Docker容器最佳安全实践白皮书(V1.0)
- Docker官方文档