您现在的位置是:首页 >其他 >k8s学习-CKS真题-K8S安全策略PodSecurityPolicy网站首页其他

k8s学习-CKS真题-K8S安全策略PodSecurityPolicy

lady_killer9 2023-05-13 08:00:04
简介k8s学习-CKS真题-K8S安全策略PodSecurityPolicy


题目

Task
使用 Trivy 开源容器扫描器检测 namespace kamino 中 Pod 使用的具有严重漏洞的镜像。
查找具有 High 或 Critical 严重性漏洞的镜像,并删除使用这些镜像的 Pod。
注意:Trivy 仅安装在 cluster 的 master 节点上,在工作节点上不可使用。
你必须切换到 cluster 的 master 节点才能使用 Trivy。

环境搭建

下载trivy

https://github.com/aquasecurity/trivy/releases/tag/v0.34.0

安装
在这里插入图片描述
读者根据自己的操作系统版本安装即可。

创建命名空间和pod
命令

kubectl create ns kamino
kubectl run nginx --image=nginx -n kamino
kubectl run alpine --image=alpine:3.14 -n kamino

截图
在这里插入图片描述

解题

获取所有镜像
命令

kubectl get po -n kamino -o yaml | grep image:

截图
在这里插入图片描述
第一需要下载库(考试时不需要)
命令

trivy image -s "HIGH,CRITICAL" alphine:3.14

截图
在这里插入图片描述
之后添加–skip-update参数即可
命令

trivy image --skip-update -s "HIGH,CRITICAL" nginx:latest

结果
在这里插入图片描述
一个个镜像手动扫描也不方便,问了下ChatGPT,搞成了一条命令。
在这里插入图片描述

kubectl get pods -n kamino -o jsonpath='{range .items[*]}{.metadata.name}{"	"}{range .spec.containers[*]}{.image}{"
"}{end}{end}' | tr ' ' '
' | sort -u | xargs -I {} trivy --skip-update --severity "HIGH,CRITICAL" {} | tee res.txt

删除pod命令

kubectl delete po xxx -n kamino

参考

github-trivy
更多k8s相关内容,请看文章:k8s学习-思维导图与学习笔记

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。