type
status
date
summary
tags
category
URL
password
slug
icon
一、镜像扫描
docker scan
Trivy(推荐使用)
clair
针对上述解决方案,我们调查了
Trivy
、Claire
、Anchore Engine
、Quay
、Docker hub
和 GCR
等几种扫描工具,从不同维度进行对比。(来源于网络)本文主要介绍下 docker scan 和 Trivy
二、镜像扫描可以存在的场景
docker scan
Trivy
构建镜像的整个流水线
ImagePolicyWebhook
运行时,在镜像拉取到主机节点,启动时扫描镜像漏洞,禁止镜像运行。
三、 docker scan
docker scan
是 docker
官方推出来的插件。使用之前需要安装此插件
3.1、Centos 安装插件
获取当前安装的版本
3.2、登录 dockerhub 用户
在使用
docker scan
之前,我们需要登录我们的 dockerhub
用户,否则扫描不了。登录
3.3、扫描
3.4、使用限制
免费扫描限制为10/月。
四、Trivy(推荐使用)
Trivy
是 漏洞、配置错误、Secret
等 全面且多功能的安全扫描仪。支持扫描
- Container Image
- Filesystem
- Git Repository (remote)
- Virtual Machine Image
- Kubernetes
- AWS
4.1、 安装
示例命令
4.2、下载DB
注意下载
DB
是比较慢的,如果我们有对应的梯子,可以用的话最好使用梯子。 我这边是通过我电脑的 Clash
监听的端口,然后我服务器配置 http 和 https 代理。临时使用代理
4.3、使用
结果
五、镜像扫描到部署阶段
5.1、ImagePolicyWebhook 容器镜像扫描
具体的操作可以查看
k8s
官方文档: ImagePolicyWebhook。其中我们可以看到需要调用到第三方的
webhook
, 是存在一个kainlite/kube-image-bouncer:ImagePolicyWebhook 和 GenericAdmissionWebhook Kubernetes 入场控制器的简单端点 (github.com) 组件。 这个组件实现的内容就是判断我们当前的镜像是否为 latest
的镜像。 是返回 "allowed": false
我们其实是可以对于这个组件进行改造,增加一些定制化的内容, 比如去调用一些接口获取对应的镜像的安全扫描结果,如果扫描结果是pass 的话,就可以部署,否则的话,就不允许部署。
作者:理想三旬
本人承接各种项目维护和python项目开发, 如果觉得文章写得不错,或者帮助到您了,请点个赞,加个关注哦。运维学习交流群:544692191
本文版权归作者所有,欢迎转载,如果文章有写的不足的地方,或者是写得错误的地方,请你一定要指出,因为这样不光是对我写文章的一种促进,也是一份对后面看此文章的人的责任。谢谢。
- Author:NetSec
- URL:https://blog.51sec.org/article/127ba58b-fba1-4260-b25c-20a740591236
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!