[CKS] 利用Trivy对image进行扫描

最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于Trivy镜像安全扫描的题目。

What’s Trivy

Trivy的官方仓库https://github.com/aquasecurity/trivy,Trivy是一个开源的容器镜像漏洞扫描工具。它通过分析容器镜像中的操作系统包和应用程序依赖库,检测其中存在的已知漏洞。Trivy可以帮助用户及时发现容器镜像中的漏洞,并提供修复建议,从而提高容器镜像的安全性。它支持多种镜像仓库,如Docker镜像仓库、Container Registry等,并且可以与CI/CD工具集成,实现漏洞扫描的自动化。

Question 1

Scan all of the images used by Pods in the sunnydale namespace.
这个的目的就是让你利用Trivy对所有sunnydale下面的pod进行扫描

Practice

为了跟Question 2做铺垫,需要在Trivy中添加一些参数,至于参数的内容,我们可以使用trivy --help进行查看

Usage:trivy [global flags] command [flags] targettrivy [command]Examples:# Scan a container image$ trivy image python:3.4-alpine# Scan a container image from a tar archive$ trivy image --input ruby-3.1.tar# Scan local filesystem$ trivy fs .# Run in server mode$ trivy serverScanning Commandsaws         [EXPERIMENTAL] Scan AWS accountconfig      Scan config files for misconfigurationsfilesystem  Scan local filesystemimage       Scan a container imagekubernetes  [EXPERIMENTAL] Scan kubernetes clusterrepository  Scan a repositoryrootfs      Scan rootfssbom        Scan SBOM for vulnerabilities and licensesvm          [EXPERIMENTAL] Scan a virtual machine imageManagement Commandsmodule      Manage modulesplugin      Manage pluginsUtility Commandscompletion  Generate the autocompletion script for the specified shellconvert     Convert Trivy JSON report into a different formathelp        Help about any commandserver      Server modeversion     Print the versionFlags:--cache-dir string          cache directory (default "/home/cloud_user/snap/trivy/276/.cache/trivy")-c, --config string             config path (default "trivy.yaml")-d, --debug                     debug mode-f, --format string             version format (json)--generate-default-config   write the default config to trivy-default.yaml-h, --help                      help for trivy--insecure                  allow insecure server connections-q, --quiet                     suppress progress bar and log output--timeout duration          timeout (default 5m0s)-v, --version                   show version

通过trivy image --help可以看到扫描镜像的用法

Examples:# Scan a container image$ trivy image python:3.4-alpine# Scan a container image from a tar archive$ trivy image --input ruby-3.1.tar# Filter by severities$ trivy image --severity HIGH,CRITICAL alpine:3.15# Ignore unfixed/unpatched vulnerabilities$ trivy image --ignore-unfixed alpine:3.15# Scan a container image in client mode$ trivy image --server http://127.0.0.1:4954 alpine:latest# Generate json result$ trivy image --format json --output result.json alpine:3.15# Generate a report in the CycloneDX format$ trivy image --format cyclonedx --output result.cdx alpine:3.15

因为Question 2问需要我们对HIGH,CRITICAL的pod进行删除,所以我们需要使用trivy image --severity HIGH,CRITICAL xxx对所有镜像进行扫描
在扫描前,你需要使用kubectl get pod -n sunnydale来看到所有的pod的名称,如果你需要查看镜像你可以使用如下的命令,列出所有的image和pod

kubectl get pod -n sunnydale -o custom-columns="Name:.metadata.name,Image:.spec.containers[*].image"

这里会出现结果:
在这里插入图片描述
此时你就可以依次对Image进行扫描了,如trivy image --severity HIGH,CRITICAL busybox:1.33.1

Question 2

Delete any Pods in the sunnydale namespace that have high or critical-level vulnerabilities. Feel free to use --force, as these Pods do not need to shift down gracefully.
这一问的目的就是让你对所有high or critical-level vulnerabilities的pod进行删除

Practice

对于上诉Question 1的扫描结果,如果出现如下的类似的内容,那么删除对应pod
在这里插入图片描述
至于怎么删除,不做过多赘述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/9900.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

vue3入门知识(一)

vue3简介 性能的提升 打包大小减少41%初次渲染快55%,更新渲染快133%内存减少54% 源码的升级 使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tree-Shaking 新的特性 1. Composition API(组合API) setupref与reactivecomput…

数据结构和算法入门

复杂度 大O记法 计算机怎么判断程序性能? 我们都知道编程基本上是在和数据打交道,大多数程序基本都在处理获取数据、查询数据、操作数据、返回数据相关的逻辑。 因此出现了数据结构和算法,这两者出现本质为了解决如何能够更快、更省进行数…

【Linux第八课-进程间通信】管道、共享内存、消息队列、信号量、信号、可重入函数、volatile

目录 进程间通信为什么?是什么?怎么办?一般规律具体做法 匿名管道原理代码 命名管道原理代码 system V共享内存消息队列信号量信号量的接口 信号概念为什么?怎么办?准备信号的产生信号的保存概念三张表匹配的操作和系统…

串的模式匹配

子串的定位操作通常称为串的模式匹配,它求的是子串(常称模式串)在主串中的位置。 子串——主串的一部分,一定存在 模式串——不一定能在主串中找到 朴素模式匹配 将主串中所有长度为m的子串(共有n-m1个)依次与模式串对比&…

继承的学习

1.继承 继承权限在类外,访问权限在类内部 1.1继承的概念 继承是面向对象程序设计使代码可以复用的重要手段(解决类层次的复用问题) 派生类:类特性的基础上进行扩展,增加方法(成员函数)和属性…

YOLOPv2论文翻译

YOLOPv2: Better, Faster, Stronger for Panoptic Driving Perception 摘要 在过去的十年中,多任务学习方法在解决全景驾驶感知问题方面取得了令人鼓舞的成果,既提供了高精度又具备高效能的性能。在设计用于实时实际自动驾驶系统的网络时,这…

跳表原理-课堂笔记

课程地址 跳表是一种基于随机化的有序数据结构,它提出是为了赋予有序单链表以 O(logn) 的快速查找和插入的能力 创建 首先在头部创建一个 sentinel 节点,然后在 L1 层采用“抛硬币”的方式来决定 L0 层的指针是否增长到 L1 层 例如上图中,L…

贪心day04(买卖股票的最佳时机)

1.买卖股票的最佳时机 题目链接:. - 力扣(LeetCode) 思路:我们其实只需遍历一篇就可以解决这个问题。首先我们定义一个min为无穷大值,再遍历只要有数字比min跟小我们就更改min的值就好,此时我们只需要找出…

【Python爬虫实战】深入解锁 DrissionPage:ChromiumPage 自动化网页操作指南

🌈个人主页:易辰君-CSDN博客 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html ​ 目录 前言 一、ChromiumPage基础操作 (一)初始化Drission 和 ChromiumPage 对象 &#xff0…

VS Code 插件 MySQL Shell for VS Code

https://marketplace.visualstudio.com/items?itemNameOracle.mysql-shell-for-vs-code

稳压二极管详解

目录 1. 工作原理 2. 稳压二极管的伏安特性曲线 3. 正向特性: 4. 反向特性 5. 稳定电压(Vz) 6. 动态电阻(rz) 7.最大耗散功率(PzM) 8. 最大稳定工作电流(IzMAX)和…

Springboot 一个西餐主题网站-计算机设计毕业源码73020

目录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 2.2.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 系统总体设…

JS渗透(安全)

JS逆向 基本了解 作用域: 相关数据值 调用堆栈: 由下到上就是代码的执行顺序 常见分析调试流程: 1、代码全局搜索 2、文件流程断点 3、代码标签断点 4、XHR提交断点 某通js逆向结合burp插件jsEncrypter 申通快递会员中心-登录 查看登录包…

世界技能竞赛大数据应用开发环境1:1还原

关注我,私信我获得集群环境 集群情况 模块A搭建环境,在容器中搭建大数据平台 Hadoop HA环境 Pc机,安装安装比赛需要软件 模块B中使用idea快速开发完成数据处理 模块E包含了接口数据,使用vs code快速搭建vue数据可视化

【c++丨STL】vector模拟实现

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C、STL 目录 前言 一、vector底层刨析 二、模拟实现 1. 属性、迭代器以及函数声明 2. 功能实现 交换两个容器的内容 构造函数 拷贝构造 赋值重载 析构…

指针的运用

接下来我将会用的话,讲解我对指针运用仅有的印象 1.解引用 int a23; int*p&a; *p666; 而*p666;,便是解引用操作,跟简单地说*p便是解引用,它的意思是,对p中所储存的地址所在位置的内容进行操作&#xf…

三周精通FastAPI:38 针对不同的编程语言来生成客户端

官方文档:https://fastapi.tiangolo.com/zh/advanced/generate-clients/ 生成客户端 因为 FastAPI 是基于OpenAPI规范的,自然您可以使用许多相匹配的工具,包括自动生成API文档 (由 Swagger UI 提供)。 一个不太明显而又特别的优势是&#…

广告联盟有哪些

随着互联网的发展,越来越多的人开始投身于网站建设和运营。对于站长来说,如何在提供优质内容的同时获取收益是一个重要的问题。广告联盟作为一种常见的盈利模式,受到了广大站长的青睐。本文将介绍5个适合国内站长的广告联盟平台,帮…

兵马未动,粮草先行-InnoDB统计数据是如何收集的

我们前面介绍查询成本的时候经常用到一些统计数据,比如通过SHOW TABLE STATUS可以看到关于表的统计数据,通过SHOW INDEX可以看到关于索引的统计数据,那么这些统计数据是怎么来的呢?它们是以什么方式收集的呢?本章将聚焦…

【Promise】JS 异步之宏队列与微队列

文章目录 1 原理图2 说明3 相关面试题3.1 面试题13.2 面试题23.3 面试题33.4 面试题4 1 原理图 2 说明 JS 中用来存储待执行回调函数的队列包含 2 个不同特定的队列:宏队列和微队列。宏队列:用来保存待执行的宏任务(回调),比如:定…