漏洞扫描器:Trivy

 本文讨论 Trivy,它是一个简单而全面的容器和其他工件的漏洞扫描器,适用于持续集成和测试。

目录

  • 介绍
  • 安装
  • 扫描 Git 存储库
  • 扫描容器图像
  • 扫描文件系统
  • 扫描正在运行的容器
  • 在 Dockerfile 中嵌入 Trivy

介绍

Trivy 是aqua security的开源工具,用于扫描漏洞和配置错误。该工具适用于多个级别:它可以评估基础架构即代码、检查容器映像、提供配置文件帮助、分析 Kubernetes 实现以及查看 Git 存储库中的代码。由于易于使用,trivy 可以通过安装和添加二进制文件到项目中简单地集成到 CI/CD 管道 (DevSecOps) 中。Trivy 提供跨编程语言和操作系统包的完整可见性,并拥有广泛的漏洞数据库,允许快速扫描关键 CVE。随着该工具的各种新进步,它已帮助渗透测试人员和网络安全研究人员确保连续扫描,从而使 DevSecOps 过程更快、更高效。

安装

安装非常简单。按照以下给出的命令在您的 ubuntu 机器上从官方存储库安装 Trivy。


sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/trivy.list

sudo apt-get update
sudo apt-get install trivy

安装和更新该工具后,您就可以扫描文件了。

扫描 Git 存储库

 正如我上面所描述的,我们可以使用 trivy 来扫描多个平台之间的安全漏洞。

 如果您使用的是 Git Repository,则可以直接扫描 git 文件而无需下载整个包。

sudo trivy repo https://github.com/appsecco/dvna

扫描容器图像

随着对 docker 安全性的威胁不断增加,Trivy 是市场上用于扫描容器镜像的最佳工具之一。 

您可以按照以下给出的步骤轻松地对 docker 映像运行快速扫描以报告任何漏洞。

Step1:查看要扫描的Container镜像的镜像ID。

sudo docker images

Step2:使用下面给出的命令扫描容器镜像。

sudo trivy image 4621d4fe2959

您还可以扫描图像以查找特定严重程度的漏洞,并使用以下给出的命令以文本格式保存报告。

sudo trivy image --severity HIGH 4621d4fe2959 > result.txt
tail result.txt

扫描文件系统

Trivy 可用于扫描文件系统(例如主机、虚拟机映像或未打包的容器映像文件系统)。

(注意:我们使用Filesystem 中的漏洞节点来实现这一点。)

使用下面给出的命令扫描任何文件系统的漏洞。

trivy conf services/

扫描正在运行的容器

您可以从内部快速扫描正在运行的容器。按照以下给出的步骤扫描 docker 文件。

Step1:运行要扫描的docker文件。

sudo docker run -it alpine

Step2:将 Trivy 扫描仪添加到文件并运行它

apk add curl \
&& curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin \ && trivy filesystem --exit-code 1 --no-progress /

在 Dockerfile 中嵌入 Trivy

您还可以通过在 Dockerfile 中嵌入 Trivy 来扫描镜像作为构建过程的一部分。这种方法可用于更新当前使用 Aqua 的 Micro 扫描仪的 Dockerfile。按照以下给出的步骤在构建 docker 文件时对其进行扫描。

Step1:将 trivy 添加到 docker 文件中。

FROM alpine:3.7
RUN apk add curl \
&& curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/master/contrib/install.sh | sh -s -- -b /usr/local/bin \
&& trivy filesystem --exit-code 1 --no-progress /

第二步:构建镜像。

sudo docker build -t vulnerable image .

它将在构建映像时扫描 docker 文件并给出如下所示的报告。

感谢您阅读文章。

发表评论

后一页 前一页