5 款漏洞扫描工具:实用、强力、全面(含开源)(二)

简介: 5 款漏洞扫描工具:实用、强力、全面(含开源)

第三款:Clair


image.png

概述


  Clair 是基于 API 的漏洞扫描程序,可对开源容器层的任何已知安全漏洞进行检测,更加便于创建持续监控容器并查找安全漏洞的服务。Clair 能定期从各个来源收集漏洞元数据,对容器镜像索引,并提供用于检索

镜像发现的特征的 API。漏洞元数据一旦更新,用户就会收到提醒,这样就能从之前扫描的镜像中及时发现新的漏洞。另外,Clair 还提供了可用于查询特定容器镜像漏洞的 API。

安装


1、在 OpenShift 安装 Clair 环境

  1. 创建项目
  2. 创建 clairv4-postgres.yaml 文件,内容如下:
  3. 执行命令,根据 clairv4-postgres.yaml 创建对象
  4. 创建 config.yaml 文件,内容如下:
  5. 执行命令,根据 config.yaml 文件创建 secret
  6. 创建 clairv4-postgres.yaml 文件,内容如下:
  7. 执行命令,根据 clairv4-postgres.yaml 创建对象
  8. 创建 config.yaml 文件,内容如下:
  9. 执行命令,根据 config.yaml 文件创建 secret

步骤详细命令如下:

1.

$ oc new-project quay-enterprise

2.

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: clairv4-postgres
  namespace: quay-enterprise
  labels:
    quay-component: clairv4-postgres
spec:
  replicas: 1
  selector:
    matchLabels:
      quay-component: clairv4-postgres
  template:
    metadata:
      labels:
        quay-component: clairv4-postgres
    spec:
      volumes:
        - name: postgres-data
          persistentVolumeClaim:
            claimName: clairv4-postgres
      containers:
        - name: postgres
          image: postgres:11.5
          imagePullPolicy: "IfNotPresent"
          resources:
            limits:
              cpu: '2'
              memory: 6Gi
            requests:
              cpu: '1'
              memory: 4Gi
          ports:
            - containerPort: 5432
          env:
            - name: POSTGRES_USER
              value: "postgres"
            - name: POSTGRES_DB
              value: "clair"
            - name: POSTGRES_PASSWORD
              value: "postgres"
            - name: PGDATA
              value: "/etc/postgres/data"
          volumeMounts:
            - name: postgres-data
              mountPath: "/etc/postgres"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: clairv4-postgres
  labels:
    quay-component: clairv4-postgres
spec:
  accessModes:
    - "ReadWriteOnce"
  resources:
    requests:
      storage: "10Gi"
    volumeName: "clairv4-postgres"

3.

1. $ oc create -f clairv4-postgres.yaml
2. $ oc expose deployment/clairv4-postgres

4.

introspection_addr: :8089
http_listen_addr: :8080
log_level: debug
indexer:
  connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disable
  scanlock_retry: 10
  layer_scan_concurrency: 5
  migrations: true
matcher:
  connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disable
  max_conn_pool: 100
  run: ""
  migrations: true
  indexer_addr: clair-indexer
notifier:
  connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disable
  delivery: 1m
  poll_interval: 5m
  migrations: true

5.

$ oc create secret generic clairv4-config-secret --from-file=./config.yaml

6.

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    quay-component: clair-combo
  name: clair-combo
spec:
  replicas: 1
  selector:
    matchLabels:
      quay-component: clair-combo
  template:
    metadata:
      labels:
        quay-component: clair-combo
    spec:
      containers:
        - image: quay.io/projectquay/clair:4.1.0
          imagePullPolicy: IfNotPresent
          name: clair-combo
          env:
            - name: CLAIR_CONF
              value: /clair/config.yaml
            - name: CLAIR_MODE
              value: combo
          ports:
            - containerPort: 8080
              name: clair-http
              protocol: TCP
            - containerPort: 8089
              name: clair-intro
              protocol: TCP
          volumeMounts:
            - mountPath: /clair/
              name: config
      imagePullSecrets:
        - name: redhat-pull-secret
      restartPolicy: Always
      volumes:
        - name: config
          secret:
            secretName: clairv4-config-secret
---
apiVersion: v1
kind: Service
metadata:
  name: clairv4
  labels:
    quay-component: clair-combo
spec:
  ports:
    - name: clair-http
      port: 80
      protocol: TCP
      targetPort: 8080
    - name: clair-introspection
      port: 8089
      protocol: TCP
      targetPort: 8089
  selector:
    quay-component: clair-combo
  type: ClusterIP

7.

1. $ oc apply -f clair-combo.yaml 
2. $ oc expose svc/clairv4

8.

$ 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          2m51s
NAME                       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          119s
NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/clair-combo        1/1     1            1           34s
deployment.apps/clairv4-postgres   1/1     1            1           2m51s
NAME                                         DESIRED   CURRENT   READY   AGE
replicaset.apps/clair-combo-6754dcfd75       1         1         1       34s
replicaset.apps/clairv4-postgres-b9f679dc6   1         1         1       2m51s
NAME                               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:~/
目录
相关文章
|
Prometheus Kubernetes 安全
5 款漏洞扫描工具:实用、强力、全面(含开源)(一)
5 款漏洞扫描工具:实用、强力、全面(含开源)
2594 1
5 款漏洞扫描工具:实用、强力、全面(含开源)(一)
|
7月前
|
安全 Linux iOS开发
【漏洞扫描工具】Acunetix-Web应用系统漏扫工具
Acunetix-Web应用系统漏扫工具,下载安装包以及破解补丁。
208 1
|
安全 定位技术
漏洞扫描工具 -- Skipfish
漏洞扫描工具 -- Skipfish
476 0
漏洞扫描工具 -- Skipfish
|
数据采集 安全
漏洞扫描工具 -- awvs13
漏洞扫描工具 -- awvs13
347 0
漏洞扫描工具 -- awvs13
|
SQL 安全 Oracle
5 款漏洞扫描工具:实用、强力、全面(含开源)(三)
5 款漏洞扫描工具:实用、强力、全面(含开源)
1250 0
5 款漏洞扫描工具:实用、强力、全面(含开源)(三)
|
安全 Linux 网络安全
【网安神器篇】——WPScan漏洞扫描工具
这是网安神器专栏的第一篇博客,本专栏主要是为了和大家分享平时遇见的冷门但实用的网安工具或项目,希望能帮助到同学们,今天给大家带来的是wordpress渗透神器——wpscan
839 0
【网安神器篇】——WPScan漏洞扫描工具
|
SQL 安全 网络协议
2022渗透测试-3款最常用的漏洞扫描工具
2022渗透测试-3款最常用的漏洞扫描工具
2022渗透测试-3款最常用的漏洞扫描工具
|
SQL 安全 网络协议
2022渗透测试-推荐一款漏洞扫描工具-AWVS安装与使用
2022渗透测试-推荐一款漏洞扫描工具-AWVS安装与使用
2022渗透测试-推荐一款漏洞扫描工具-AWVS安装与使用
|
安全 Linux 网络安全
2022-渗透测试-推荐一款好用的网站漏洞扫描工具-WPscan
2022-渗透测试-推荐一款好用的网站漏洞扫描工具-WPscan
2022-渗透测试-推荐一款好用的网站漏洞扫描工具-WPscan
|
Web App开发 安全 Java
开源漏洞扫描工具(OWASP-Dependency-Check)探索
背景 随着公司逐渐发展壮大,网络信息安全变得越来越重要。由此激发了我们成立兴趣小组(凯京爆破小组)研究网络信息安全的欲望。然而信息安全的防范,还得从底层编码开始做起。这样依赖性扫描工具(OWASP-Dependency-Check)就进入了我们的视线,既符合我们当前的需求又使用方便简单,自然而然的成为了我们探索的对象。
17481 0