本文转载自微信公众号「云原生生态圈」,作者Marionxue。转载本文请联系云原生生态圈公众号。
1CIS是什么?
CIS[1]即Center for Internet Security (CIS) 为安全基准计划提供了定义明确、公正、基于一致性的行业最佳实践来帮助组织评估和增强其安全性
2Docker Bench Security
Docker Bench for Security[2]是一个开源的脚本。它是基于CIS Docker Benchmark v1.3.1[3]规范的,用于自动化巡检在生产环境中运行Docker容器的数十种常见的最佳实践的脚本。
通过调用tests目录的以下脚本进行巡检, 具体的巡检的内容可以参考的脚本的内容。
- 1_host_configuration.sh
- 2_docker_daemon_configuration.sh
- 3_docker_daemon_configuration_files.sh
- 4_container_images.sh
- 5_container_runtime.sh
- 6_docker_security_operations.sh
- 7_docker_swarm_configuration.sh
- 8_docker_enterprise_configuration.sh
- 99_community_checks.sh
在docker-bench-security中可以通过修改functions中的脚本选择检查的项,也可以通过命令行选项排除不需要检查的项,下面看下支持的命令行选项.
3命令选项
docker-bench-security
- -b 可选 Do not print colors 不打印颜色
- -h 可选 Print this help message 打印帮助信息
- -l FILE 可选 Log output in FILE, inside container if run using docker 日志输出文件,如果使用docker运行,在容器内部
- -u USERS 可选 Comma delimited list of trusted docker user(s) 以逗号分隔的受信任docker用户列表
- -c CHECK 可选 Comma delimited list of specific check(s) id 以逗号分隔的指定检查id列表
- -e CHECK 可选 Comma delimited list of specific check(s) id to exclude 要排除的以逗号分隔的检查id列表
- -i INCLUDE 可选 Comma delimited list of patterns within a container or image name to check 以逗号分隔的容器或图像名称中的模式列表
- -x EXCLUDE 可选 Comma delimited list of patterns within a container or image name to exclude from check 容器或图像名称中要排除的以逗号分隔的模式列表
- -n LIMIT 可选 In JSON output, when reporting lists of items (containers, images, etc.), limit the number of reported items to LIMIT. Default 0 (no limit).
- 在JSON输出中,当报告项目列表(容器,图像等)时,限制报告项目的数量为LIMIT。默认0(无限制)。
- -p PRINT 可选 Disable the printing of remediation measures. Default: print remediation measures. 禁用打印补救措施。默认值:打印补救措施。
每个CIS巡检项在脚本中是以check_<section>_<number>格式命名的. 如果要排除某项检查可以使用
也可以只检查某项 使用很简单。 在使用的时候可以通过--help查看支持的命令行选项,我在使用的时候发现docker镜像中支持的与git仓库中写的不一致,当然你可以自己打一个镜像。 下面是在Mac上执行一次巡检的Demo. 参考资料 [1]Center for Internet Security (CIS): https://www.cisecurity.org/ [2]Docker bench security: https://github.com/docker/docker-bench-security [3]CIS Docker Benchmark: https://www.cisecurity.org/benchmark/docker/构建镜像
Docker Desktop for Mac