102.镜像的安全

1通过签名防篡改:Notary

从Docker安全模块剥离出来的新项目,地址https://github.com/theupdateframework/notary

notary -d ~/.docker/trust status docker.io/library/alpine

2.漏洞的扫描:Snyk ,Trivy,Clair

2.1 Snyk
#测试扫描
$ snyk test --docker tomcat:8.0 --file=/data/image/Dockerfile
#监控奖项是否发生变化
$ snyk monitor --docker tomcat:8.0
2.2 Trivy

下载地址:https://github.com/knqyf263/trivy/releases
镜像版本:knqyf263/trivy

#通过镜像扫描
$ docker run --rm -v [YOUR_CACHE_DIR]:/root/.cache/ knqyf263/trivy [YOUR_IMAGE_NAME]
# 扫面本地仓库或者远程仓库(需要配置仓库信息)
$ trivy tomcat:8.0
# 扫面本地文件
$ docker save tomcat:8.0 > tomcat-8.0.tar
$ trivy --input tomcat-8.0.tar
#保存结果
$ trivy -f json -o results.json  tomcat-8.0.tar
#按照级别过滤结果
$ trivy --severity HIGH,CRITICAL tomcat-8.0.tar
#按类型过滤结果
$ trivy --vuln-type [os | library ] tomcat-8.0.tar
#不同的漏洞制定不同的错误退出码
$ trivy --exit-code 0 --severity MEDIUM,HIGH tomcat-8.0.tar
$ trivy --exit-code 1 --severity CRITICAL tomcat-8.0.tar

3.hadolint 分析 Dockerfile 并列出不符合最佳实践规则的地方。

docker run -rm hadolint/hadolint  < Dockerfile 

你可能感兴趣的:(102.镜像的安全)