OpenShift 4 - 镜像漏洞扫描软件 Clair
《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.9环境中验证
文章目录
- Clair 是什么?
- 在 OpenShift 安装 Clair 环境
- 安装 Clair 客户端
- 使用 Clair 对容器镜像进行扫描
- 参考
Clair 是什么?
Clair 最早是 CoreOS 公司开发的一个容器镜像漏洞扫描工具,后来 CoreOS 被红帽收购,Clair 成为 Red Hat 主导的容器镜像安全漏洞扫描的开源软件 。
作为一款开源软件,Clair 即可单独运行,也可集成到其他软件中运行。红帽镜像注册产品 Quay 就内置了 Clair 作为镜像库的扫描软件。
在 OpenShift 安装 Clair 环境
- 创建项目
$ oc new-project quay-enterprise
- 创建 clairv4-postgres.yaml 文件,内容如下:
---
apiVersion: apps/v1
kind: Deployment
metadata:name: clairv4-postgresnamespace: quay-enterpriselabels:quay-component: clairv4-postgres
spec:replicas: 1selector:matchLabels:quay-component: clairv4-postgrestemplate:metadata:labels:quay-component: clairv4-postgresspec:volumes:- name: postgres-datapersistentVolumeClaim:claimName: clairv4-postgrescontainers:- name: postgresimage: postgres:11.5imagePullPolicy: "IfNotPresent"resources:limits:cpu: '2'memory: 6Girequests:cpu: '1'memory: 4Giports:- containerPort: 5432env:- name: POSTGRES_USERvalue: "postgres"- name: POSTGRES_DBvalue: "clair"- name: POSTGRES_PASSWORDvalue: "postgres"- name: PGDATAvalue: "/etc/postgres/data"volumeMounts:- name: postgres-datamountPath: "/etc/postgres"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: clairv4-postgreslabels:quay-component: clairv4-postgres
spec:accessModes:- "ReadWriteOnce"resources:requests:storage: "10Gi"volumeName: "clairv4-postgres"
- 执行命令,根据 clairv4-postgres.yaml 创建对象。
$ oc create -f clairv4-postgres.yaml
$ oc expose deployment/clairv4-postgres
- 创建 config.yaml 文件,内容如下:
introspection_addr: :8089
http_listen_addr: :8080
log_level: debug
indexer:connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disablescanlock_retry: 10layer_scan_concurrency: 5migrations: true
matcher:connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disablemax_conn_pool: 100run: ""migrations: trueindexer_addr: clair-indexer
notifier:connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disabledelivery: 1mpoll_interval: 5mmigrations: true
- 执行命令,根据 config.yaml 文件创建 secret 。
$ oc create secret generic clairv4-config-secret --from-file=./config.yaml
- 创建 clair-combo.yaml 文件,内容如下:
---
apiVersion: apps/v1
kind: Deployment
metadata:labels:quay-component: clair-comboname: clair-combo
spec:replicas: 1selector:matchLabels:quay-component: clair-combotemplate:metadata:labels:quay-component: clair-combospec:containers:- image: quay.io/projectquay/clair:4.1.0imagePullPolicy: IfNotPresentname: clair-comboenv:- name: CLAIR_CONFvalue: /clair/config.yaml- name: CLAIR_MODEvalue: comboports:- containerPort: 8080name: clair-httpprotocol: TCP- containerPort: 8089name: clair-introprotocol: TCPvolumeMounts:- mountPath: /clair/name: configimagePullSecrets:- name: redhat-pull-secretrestartPolicy: Alwaysvolumes:- name: configsecret:secretName: clairv4-config-secret
---
apiVersion: v1
kind: Service
metadata:name: clairv4labels:quay-component: clair-combo
spec:ports:- name: clair-httpport: 80protocol: TCPtargetPort: 8080- name: clair-introspectionport: 8089protocol: TCPtargetPort: 8089selector:quay-component: clair-combotype: ClusterIP
- 执行命令,根据 clair-combo.yaml 文件创建对象。
$ oc apply -f clair-combo.yaml
$ oc expose svc/clairv4
- 查看部署的资源
$ oc get all
NAME READY STATUS RESTARTS AGE
pod/clair-combo-6754dcfd75-wwbt9 1/1 Running 0 34s
pod/clairv4-postgres-b9f679dc6-fhmcs 1/1 Running 0 2m51sNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/clairv4 ClusterIP 10.217.4.159 <none> 80/TCP,8089/TCP 34s
service/clairv4-postgres ClusterIP 10.217.5.64 <none> 5432/TCP 119sNAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/clair-combo 1/1 1 1 34s
deployment.apps/clairv4-postgres 1/1 1 1 2m51sNAME DESIRED CURRENT READY AGE
replicaset.apps/clair-combo-6754dcfd75 1 1 1 34s
replicaset.apps/clairv4-postgres-b9f679dc6 1 1 1 2m51sNAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
route.route.openshift.io/clairv4 clairv4-quay-enterprise.crc-dzk9v-master-0.crc.fa7bdknrdb3y.instruqt.io clairv4 clair-http None
安装 Clair 客户端
从 https://github.com/quay/clair/releases 下载 Clair 客户端。
$ curl -L https://github.com/quay/clair/releases/download/v4.3.5/clairctl-linux-amd64 -o ~/clairctl
$ chmod +x clairctl
$ PATH=$PATH:~/
使用 Clair 对容器镜像进行扫描
$ CLAIR_HOST=http://$(oc get route clairv4 -o jsonpath={.spec.host})
$ clairctl report -host ${CLAIR_HOST} redhat/ubi8
$ clairctl report -host ${CLAIR_HOST} redhat/ubi8:8.4-206
参考
https://quay.github.io/clair/whatis.html
https://github.com/rhthsa/openshift-demo/blob/main/clair4-on-ocp.md
OpenShift 4 - 镜像漏洞扫描软件 Clair相关推荐
- 使用 docker 安装 OpenVAS 漏洞扫描软件
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/78804624 未经博主允许不得转载. 博主地址是:http://blog.csd ...
- 扫描docker安装的工具_使用 docker 安装 OpenVAS 漏洞扫描软件
1,关于 OpenVAS OpenVAS(Open Vulnerability Assessment System)是开放式漏洞评估系统,其核心部分是一个服务器.该服务器包括一套网络漏洞测试程序,可以 ...
- linux中OpenVas 漏洞扫描软件
CentOS 安装OpenVas端口漏洞扫描软件 简单来说openvas是一个开源的漏洞检测扫描软件 openvas-manager(openvasmd) 9390openvas-scanner (o ...
- OpenShift构建镜像
OpenShift构建镜像 使用镜像和仓库作为source和output 1.准备一个git仓库,包含一个Dockerfile,以下仅包含一行内容用于最简单的演示. FROM docker.io/bi ...
- avws扫描出来的漏洞怎么利用_如何用Acunetix网站漏洞扫描软件快速进行扫描?告诉您几个小妙招!...
扫描网站和网站应用需要花费很长时间.影响扫描速度的因素有: 1.网页服务器性能和响应时间 2.网站大小 3.后台数据库速度 4.扫描软件同时扫描的网站数量 5.漏洞检测的数量 6.Acunetix服务 ...
- web项目漏洞扫描软件
重要节假日期间,对于网络安全将更升级,而平时都是由安全公司来进行检测,那么如何对自己的系统进行初级扫漏呢?现在两个软件推荐一下:Nessus和AWVS. Nessus Nessus 是全世界最多人使用 ...
- 基于网络的漏洞扫描软件主要包括哪些组成部分?各组成部分分别发挥什么功能?
基于网络的漏洞扫描软件主要包括哪些组成部分?各组成部分分别发挥什么功能? 扫描控制台.为用户提供了执行扫描操作的控制界面,用户可以指定扫描的地址范围.需扫描的漏洞类型.使用多少个线程进行扫描,以及扫描 ...
- 镜像漏洞扫描工具:Trivy
镜像漏洞扫描工具:Trivy Trivy常用方法 容器镜像扫描 打印指定(高危.严重)漏洞信息 JSON格式输出并保存到文件 Trivy常用方法 容器镜像扫描 # 扫描容器镜像 trivy image ...
- 【质量】镜像漏洞扫描工具Trivy原理和操作
目录 Trivy工作原理 cve ID和CVE数据库 Trivy扫描镜像流程 快速入门 Trivy工作原理 cve ID和CVE数据库 个人理解: 当有人发现漏洞时,在社区提交漏洞,然后被cve 官方 ...
最新文章
- ModuleNotFoundError: No module named 'tools.nnwrap' pytorch 安装
- flex图表数据动态更新效果示例
- 贵州高二会考计算机考试题,20167月贵州普通高中学业水平考试会考试题
- 利用钥匙串,在应用里保存用户密码的方法
- TikTok电商去年赚了60亿?短视频的尽头是带货?
- GraphPad Prism 的统计显著性报告中*或**或**的含义是什么?
- C# XML 添加,修改,删除Xml节点
- 经典查找算法及其Python实现
- Leetcode每日一题:925.Long Pressed Name(长按键入)
- 【Java小工匠聊密码学】--对称加密--DES
- 精心整理2万字c++知识点
- 2015 年全国电赛题——风力摆控制系统(B 题)
- html中图片太大了,css背景图片太大的坏处与解决方法
- 『喜报』WoS数据C1和EM字段不再重复
- 学习AI人工智能,你必须要知道的4件事!
- GitHub 项目徽章的添加和设置
- Linux学习(五):挂载新的硬盘
- RS232电平 RS485电平 RS422电平
- 纽约程序媛 VS 硅谷程序媛的花钱风格
- 读书笔记_卓越程序员密码
热门文章
- beautifulsoup爬取网页中的表格_PYTHON爬取数据储存到excel
- 微信公众号自动回复html,[.NET] 简单接入微信公众号开发:实现自动回复
- mac android手机调试,mac os开发android应用通过usb真机调试
- 传输层端口号的范围是多少?被分为哪两部分_第三章, 传输层
- linux 解压 视频插件,linux下压缩解压缩命令
- 游戏迷必备桌面|穿越火线壁纸,燃动少年心
- 最有创意的万圣节借势海报都在这里
- 电商促销插画风PSD分层模板,直击底价!吸睛容情!
- python编程入门到实践笔记-python基础(《Python编程:从入门到实践》读书笔记)...
- Go语言学习Day03