云原生安全开源项目CNSI(项目代号:Narrows)发布了0.4版本,新增了“cnsi-scanner-trivy”的组件,帮助用户更容易的进行工作负载的漏洞扫描。使用该组件也可以非常方便的进行镜像内软件包漏洞、错误配置和license信息的扫描。除此之外,该版本引入了Redis DB 用来存储扫描结果。在配置镜像扫描器之后,就可以使用Trivy进行镜像扫描。
同时,在这个版本中更新了安装部署脚本。
具体使用的方式如下:
首先克隆CNSI的代码,并使用deploy.sh脚本进行安装部署。
克隆代码:
git clone git@github.com:vmware-tanzu/cloud-native-security-inspector.git
切换目录进行安装部署:
cd cloud-native-security-inspector
./deploy.sh install
在完成安装之后,“cnsi-scanner-trivy”会作为deployment被部署在Kubernetes集群中,并创建对应的配置和服务。可以查看对应组建情况:
同时cnsi-scanner-trivy会暴露两个endpoint(对应下图中的/scan和/scan/{scan_request_id}/report),分别用来请求对相应的容器进行扫描以及返回对应的扫描结果。
同时,cnsi-scanner-redis的集群也会不部署在Kubernetes中。Redis负责存储由Trivy扫描之后的报告数据。具体结构如下图:
在用户登陆到CNSI的portal之后,在创建policy的页面中,当用户选择启用了inspector这个扫描器之后,在每次扫描被触发时,会优先尝试使用集群内的扫描器为用户进行扫描并生成报告。
之后,可以点击Reports -> Image Risks Reports菜单获取扫描结果。
下图是生成的扫描结果中的报告内容:
其中包含了镜像中存在的漏洞信息以及配置文件清单。
与此同时,用户也可以选择在命令行进行漏洞的扫描。
运行以下命令获取trivy扫描器的pod名称:
kubectl get po -n cnsi-system
使用下面的命令,可以通过命令行的方式对任意指定镜像进行扫描并获取结果。
kubectl exec -n cnsi-system cnsi-scanner-trivy-6bf77df5d-xwhjz — trivy image –scanners config,vuln,license grafana/grafana
Narrows已经由VMware公司开源,采用商业化友好的阿帕奇 2.0软件许可,方便用户作扩展和创新。欢迎广大用户参与到我们的开源项目中,并期待您的使用和反馈。如果您对Narrows开源项目感兴趣,希望与我们更密切地合作,或者希望进行测试和试用、提出建议或bug,请发邮件至narrows @ vmware.com。
内容来源|公众号:VMware 中国研发中心
有任何疑问,欢迎扫描下方公众号联系我们哦~