Kubernetes/Helm/Helm部署Trivy.md
offends 7a2f41e7d6
All checks were successful
continuous-integration/drone Build is passing
synchronization
2024-08-07 18:54:39 +08:00

3.2 KiB
Raw Blame History

本文作者:丁辉

Helm部署Trivy

介绍

Trivy 是一个简单而全面的容器漏洞扫描程序适用于持续集成CI环境。它能够检测操作系统包和应用程序依赖的漏洞,帮助开发人员确保镜像的安全性。

开始部署

官网 Github仓库

Github-trivy-java-db Github-trivy-db 数据同步ORAS软件

Trivy-db离线数据下载地址 Trivy-db使用介绍

  1. 添加仓库

    helm repo add aqua https://aquasecurity.github.io/helm-charts/
    helm repo update
    
  2. 配置 values.yaml 文件

    vi trivy-operator-values.yaml
    

    内容如下

    # 配置代理
    global:
      image:
        registry: "ghcr.dockerproxy.com"
    
    # 开启监控自动发现
    serviceMonitor:
      enabled: true
    
    # 配置不需要扫描的命令空间
    excludeNamespaces: "kube-system,trivy-system"
    
    operator:
      # 指定访问私有容器镜像仓库所需的认证信息
      privateRegistryScanSecretsNames:
        trivy-system: docker-registry-secret
      # 是否使用内置的 Trivy 服务器(要使用外部 Trivy 服务器则配置为"false")
      builtInTrivyServer: true
    
    trivy:
      # 配置镜像仓库检测
      insecureRegistries:
        rbdRegistry: index.docker.io # 填写镜像仓库地址,替换为自己的仓库地址
      storageClassName: "" # 指定存储卷, 不指定则需要集群内存在默认的存储卷
      mode: ClientServer # 指定了 Trivy 的运行模式为客户端模式
      serverURL: "https://trivy.trivy:4975" # 指定了 Trivy 服务器的访问 URL
      # 配置国内 Trivy 数据库
      dbRegistry: "ccr.ccs.tencentyun.com"
      dbRepository: "inative/trivy-db"
      javaDbRegistry: "ccr.ccs.tencentyun.com"
      javaDbRepository: "inative/trivy-java-db"
    
  3. 创建镜像仓库 Secret

    kubectl create secret docker-registry docker-registry-secret \
      --docker-server=index.docker.io \
      --docker-username=YOUR_USERNAME \
      --docker-password=YOUR_PASSWORD \
      --namespace=trivy-system
    
  4. 部署

    helm install trivy-operator aqua/trivy-operator \
      --namespace trivy-system \
      --create-namespace \
      -f trivy-operator-values.yaml
    
  5. 验证查看报告

    • 查询漏洞报告

      报告主要关注的是集群中的容器镜像或其他资源是否包含已知的安全漏洞。

      kubectl get vulnerabilityreports -o wide
      
    • 查询配置审计报告

      报告专注于集群资源的配置安全,检查 Kubernetes 资源的配置设置是否遵守安全最佳实践。

      kubectl get configauditreports -o wide
      

卸载

  1. 卸载 trivy-operator

    helm uninstall trivy-operator -n trivy-system
    
  2. 删除命名空间

    kubectl delete ns trivy-system