Fehler "x509: Zertifikat von unbekannter Autorität signiert" beim Scannen des Registrierungsabbilds in Prisma Cloud

Fehler "x509: Zertifikat von unbekannter Autorität signiert" beim Scannen des Registrierungsabbilds in Prisma Cloud

13617
Created On 04/25/22 09:28 AM - Last Modified 03/02/23 04:00 AM


Symptom


  • Folgender Fehler beim Scannen eines Registrierungsabbilds:
Failed to pull image xxxxxxxreg/xxxxxxx:v1.0.0, error Error initializing source docker://registry.xxxxx/xxxxx/xxxxxxx:v1.0.0: error pinging docker registry registry.xxxxx: Get "https://urldefense.com/v3/__https://registry.xxxxx/v2/__;!!Gt_FR42WkD9csi9Y!NYhH91g2nYoQOfa3jNTZVtUdvAwu-vt30mQ2XXiY-cvy0sjkmol_xx8S-U0uKSRnm_zIxg$ ": x509: certificate signed by unknown authority


Environment


  • Prisma Cloud Compute Enterprise Edition
  • Prisma Cloud Compute selbst gehostet
  • Containerd Runtime
  • CRI-O
Hinweis : / etc/containerd/certs.d/ wurde in der Version Kepler zu den standardmäßigen vertrauenswürdigen Zertifikatspeichern hinzugefügt, damit der Defender die Zertifikate für Registry-Scan-Verbindungen abrufen kann. Es ist jedoch notwendig, diese Speicherorte auf dem Pod/Container zu mounten, wenn Container Defender verwendet wird.


Cause


  • Der Zertifikatpfad wurde von Prisma Cloud Compute nicht erkannt.
  • Bei Verwendung von Containerd Runtime lautet der Standardpfad für das Registrierungszertifikat /etc/containerd.
  • Prisma Cloud Compute konnte das Registrierungszertifikat unter /etc/containerd noch nicht ermitteln.
  • Bis 22.01.xxx Prisma Cloud Compute nur /etc/containers/certs.d/$REGISTRY_NAME/ oder /etc/docker/certs.d/$REGISTRY_NAME/ unterstützt.


Resolution


  • Erstellen Sie ein Verzeichnis auf dem Defender-Knoten , wie unten gezeigt:
/etc/containers/certs.d/$REGISTRY_NAME/ or /etc/docker/certs.d/$REGISTRY_NAME/
  • Hinweis: Ab Kepler(22.06+) wird ein weiterer Ordner unterstützt:
/etc/containerd/certs.d/$REGISTRY_NAME/
  • Legen Sie das Zertifikat im Ordner $REGISTRY_NAME ab.
  • Der Zertifikatname spielt keine Rolle, solange das Zertifikat im Registrierungsordner vorhanden ist.
  • Ändern Sie für Container Defender die Daemon-Set-yaml-Datei des Containers, um den Ordner einzuhängen. Hier ist das Beispiel:
    • Befehl:
      kubectl edit ds -n twistlock twistlock-defender-ds
    • Fügen Sie unter "volumeMounts:" Folgendes hinzu:
                 - name: registry-scan
                   mountPath: /etc/docker/certs.d
                 - name: registry-scan2
                   mountPath: /etc/containers/certs.d
                 - name: registry-scan3
                   mountPath: /etc/containerd/certs.d
    • Fügen Sie unter "volumes:" Folgendes hinzu:
             - name: registry-scan
               hostPath:
                 path: /etc/docker/certs.d
                 type: ''
             - name: registry-scan2
               hostPath:
                 path: /etc/containers/certs.d
                 type: ''
             - name: registry-scan3
               hostPath:
                 path: /etc/containerd/certs.d
                 type: ''

NOTE : Ab sofort sind die oben genannten Schritte die einzige anwendbare Lösung für dieses Problem.


Additional Information


Konfigurieren des Registrierungsscans

Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000oNgjCAE&lang=de&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language