云原生安全:trivy+harbor实现镜像漏洞的简单高效扫描(代码片段)

author author     2022-12-07     732

关键词:

作者 | 李大白


  “安全”一直是一个不容忽视的问题,在云原生领域同样如此。

  云原生中的服务都是以容器的方式运行,而容器则是基于镜像启动,本篇文章则从“镜像”漏洞扫描来从“根本”去发现、解决云原生的“安全”问题。

Trivy简介

  Trivy是一种适用于 CI 的简单而全面的容器漏洞扫描程序。软件漏洞是指软件或操作系统中存在的 故障、缺陷或弱点。Trivy 检测操作系统包(Alpine、RHEL、CentOS 等)和应用程序依赖 (Bundler、Composer、npm、yarn 等)的漏洞。

  Trivy 很容易使用,只要安装二进制文件,就可以扫描了。扫描只需指定容器的镜像名称。与其他镜像扫描工具相比,例如 Clair、Anchore Engine、Quay 相比,Trivy 在准确性、方便性和对 CI 的支持等方面都有着明显的优势。

  推荐在 CI 中使用它,在推送到 container registry 之前,你可以轻松地扫描本地容器镜像。


Trivy 的特点

  • 无需安装数据库、库等先决条件;
  • 使用简单,仅仅只需要指定镜像名称;
  • 易于安装测试:
  • 能检测全面的漏洞;
    (1)操作系统软件包:Alpine、Red Hat Universal Base Image、Red Hat Enterprise Linux、CentOS、Oracle Linux、Debian、Ubuntu、Amazon Linux、openSUSE Leap、SUSE Enterprise Linux、Photon OS 和 Distrioless;
    (2)应用程序依赖项: Bundler、Composer、Pipenv、Poetry、npm、yarn 和 Cargo;
  • 扫描快且无状态;
    第一次扫描将在 10 秒内完成(取决于网络)。随后的扫描将在一秒钟内完成。 与其他扫描器在第一次运行时需要很长时间(大约 10 分钟)来获取漏洞信息,并鼓励你维护持久的漏洞 数据库不同,Trivy 是无状态的,不需要维护或准备;

Trivy安装

  基于CentOS系统的rpm包进行安装,其它系统安装包可从项目地址进行下载。

$ wget https://github.com/aquasecurity/trivy/releases/download/v0.31.3/trivy_0.31.3_Linux-64bit.rpm
$ rpm -ivh trivy_0.31.3_Linux-64bit.rpm

Trivy使用

扫描镜像

使用Trivy扫描镜像的漏洞。

$ trivy image image_name:tag

扫描kubernetes集群

$ trivy k8s --report summary cluster

Vulnerabilities:漏洞;
Misconfigurations:表示配置错误;

Trivy & Harbor

  在前面对介绍了Trivy镜像漏洞扫描工具的安装和使用。那么,在启用大规模的镜像中,一个一个的进行漏洞扫描显然是不太现实的。

   我们都知道,企业的容器镜像一般都是存放在Harbor私有镜像仓库的,值得令人庆幸的是:Harbor以插件化的方式集成了Trivy镜像漏洞扫描工具,可以在Harbor的UI界面设置当镜像上传到Harbor的时候自动对该镜像进行扫描。同时,对于扫描出高危漏洞的镜像可以禁止被应用进行拉取。当然,如果您可以接受该高危漏洞的镜像,希望可以继续使用它们,

Harbor中安装Trivy插件

  在安装Harbor时,可以通过--with-trivy参数来安装Trivy插件。   如果已经安装好Harbor,但是没有安装Trivy,需要停止harbor再安装Trivy插件:

$ cd /app/harbor/  #进入到Harbor安装目录
$ docker-compose down   #停止Harbor服务
$ ./install.sh  --with-notary --with-trivy --with-chartmuseum

Harbor中Trivy的使用

在Harbor中安装好Trivy后,可以在Harbor UI看到:

1)定时进行漏洞扫描

在“系统管理”-“审查服务”-“漏洞”出设置计划任务来定时自动进行漏洞扫描。

2)镜像上传自动扫描及阻止漏洞镜像被拉取

在“项目”—“项目名称”-“配置”管理来对指定项目进行单独配置镜像上传自动扫描并阻止漏洞镜像被拉取。

11.12-11.18博客精彩回顾

一、优秀文章推荐1.​​云原生安全:Trivy+Harbor实现镜像漏洞的简单、高效扫描​​2.​​配置haproxy负载均衡群集​​3.​​【建议收藏】15755字,讲透MySQL性能优化​​4.​​Java几分钟处理完30亿个数据?​​5.​​深入浅出学习... 查看详情

镜像安全扫描建设指南-管理员篇

0x00产品介绍Trivy是一种适用于CI的简单而全面的容器漏洞扫描程序。软件漏洞是指软件或操作系统中存在的故障、缺陷或弱点。 Trivy检测操作系统包(Alpine、RHEL、CentOS等)和应用程序依赖(Bundler、Composer、npm、yarn等&... 查看详情

镜像安全扫描建设指南-管理员篇

0x00产品介绍Trivy是一种适用于CI的简单而全面的容器漏洞扫描程序。软件漏洞是指软件或操作系统中存在的故障、缺陷或弱点。 Trivy检测操作系统包(Alpine、RHEL、CentOS等)和应用程序依赖(Bundler、Composer、npm、yarn等&... 查看详情

「开源摘星计划」containerd拉取harbor中的私有镜像,云原生进阶必备技能

 【摘要】 配置Containerd拉取harbor私有仓库中的镜像,打工人必备技能!本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:​​https://github.com/weopenprojects/WeOpen-Star​​前言在k8s的1.20版本发布之后,对外宣... 查看详情

k8s部署harbor仓库实战

...、腾讯云等都有镜像仓库,但是总是有各自的限制,出于安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的DockerRegistry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界... 查看详情

云原生devops:集成harbor(代码片段)

@TOC一、Harbor介绍前面在部署项目时,我们主要采用Jenkins推送jar包到指定服务器,再通过脚本命令让目标服务器对当前jar进行部署,这种方式在项目较多时,每个目标服务器都需要将jar包制作成自定义镜像再通过docker进行启动,... 查看详情

利用阿里云ecs部署自己的私有harbor镜像仓库(代码片段)

...rbor简介虽然Docker官方提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们 查看详情

利用阿里云ecs部署自己的私有harbor镜像仓库(代码片段)

...rbor简介虽然Docker官方提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们 查看详情

让业务容器化更安全便捷,阿里云容器镜像服务acr推出免费制品中心

将业务进行容器化改造并打包成容器镜像是云原生化实践的第一步,为了使企业开发者更简便地打造云原生应用交付流程,2023年1月,阿里云容器镜像服务ACR正式推出“云原生制品中心”,为容器开发者免费提供了来源于阿里云... 查看详情

云原生时代必须具备的核心技能之docker高级篇(harbor-镜像私服)(代码片段)

  本文给大家介绍下Docker中的常用的镜像私服仓库,DockerHub,阿里云仓库和Harbor镜像私服仓库。1Dockerhub官网地址:hub.docker.com(1)在docker机器上登录dockerlogin(2)输入用户名和密码(3)dockerpushq279583842q/tomcat-ip[注意镜像名... 查看详情

使用harbor管理镜像(6)

...推送到阿里云上,但在有些情况下,比如公司政策或出于安全的考虑,并不希望将镜像交由外部的网络,只允许在公司内网中访问,那这时可以使用Harbor来解决这个问题。本文将通过部署Harbor来存储Jenkins最终生成的docker镜像。Ha... 查看详情

kubernetes1.21搭建harbor(代码片段)

...眼感觉略贵。个人也就50个之内的image。就想用一下镜像安全,漏洞扫描。也没有那么强硬的需求。600多块一个月还是感觉略贵!还是老老实实搭建一下harbor吧!kubernetes1.21搭建harbor注:开始在tke上面尝 查看详情

docker深入浅出系列|5分钟搭建你的私有镜像仓库(代码片段)

...规性,性能和互操作性,以帮助您跨Kubernetes和Docker等云原生计算平台持续,安全地管理镜像。简单来说,Harbor就是一个开源的镜像管理仓库,类似Github一样,可以让我们存放一些镜像文件更多详细内容,可以查看Harbor官方文档... 查看详情

hummerrisk使用教程:k8s检测

1.概览HummerRisk是开源的云原生安全平台,以非侵入的方式解决云原生环境的安全和治理问题。核心能力包括混合云的安全治理和容器云安全检测。本文将介绍如何使用HummerRisk进行kubernetes检测,包括使用流程、配置信息详细说明... 查看详情

如何检查docker镜像是否存在漏洞(代码片段)

...,Docker镜像中存在的漏洞可能会导致应用程序的整体安全性受到威胁。因此,我们需要检查Docker镜像是否存在漏洞。Docker镜像漏洞扫描工具为了检查Docker镜像是否存在漏洞,我们可以使用一些工具,如Clair、Trivy、... 查看详情

docker学习笔记——镜像仓库制作(公有+私有+harbor)(代码片段)

...docker本地容器镜像仓库1.使用registry容器镜像实现本地非安全镜像仓库1)下载registry容器镜像2)创建用于挂载至registry镜像启动的仓库中,便于容器镜像持久保存3)启动容器获取镜像仓库4) 查看详情

docker学习笔记——镜像仓库制作(公有+私有+harbor)(代码片段)

...docker本地容器镜像仓库1.使用registry容器镜像实现本地非安全镜像仓库1)下载registry容器镜像2)创建用于挂载至registry镜像启动的仓库中,便于容器镜像持久保存3)启动容器获取镜像仓库4) 查看详情

漏洞扫描工具都有哪些

...具也有扫描漏洞的功能,比如X-scan如果你要做的是网站的安全漏洞检测,网上都有那些漏洞的检测平台(比如360)参考技术A第一款:TrivyTrivy是一个开源漏洞扫描程序,能够检测开源软件中的CVE。这款工具针对风险提供了及时的... 查看详情