公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

5944cf5dc72c99db72ccac4a9da1e70e.png


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

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

Trivy简介

  • Tivy官网:https://aquasecurity.github.io/trivy/v0.33/

  • 项目地址:https://github.com/aquasecurity/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}
182bd97405c639586388b9f4b103ef41.png

扫描kubernetes集群

$ trivy k8s --report summary cluster

be069090c0dbc6819c618bd366a573d0.pngVulnerabilities:漏洞;
Misconfigurations:表示配置错误;

Trivy & Harbor

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

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

Harbor中安装Trivy插件

  在安装Harbor时,可以通过--with-trivy参数来安装Trivy插件。1ae7c3fec7e5321e048437213fb096e4.png  如果已经安装好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看到:

6d6a4722936f64bdd354b2a97e95a3cd.png
1)定时进行漏洞扫描

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

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

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

67a440b7351c21ad4c331c9614d6a813.png

本文转载自:「Harbor进阶实战」,原文:https://url.hi-linux.com/8Wt00,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

9409687f79e4b41eb4df8a27a4cc884b.gif

最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。

ddb97c9fe93e12fa84dc3f7b47aa4fde.png

你可能还喜欢

点击下方图片即可阅读

d56a2c062fab9b9ace5a289e3d2bc913.jpeg

『百分百有效』的程序员正确提问方式,你知道吗?

df8b553e9f394213b1bdb4f05d6cbfb6.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

3fc382cf307d54fa55014f7797503203.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐