Affichage de l’erreur « x509 : certificat signé par une autorité inconnue » lors de l’analyse de l’image du Registre dans Prisma Cloud

Affichage de l’erreur « x509 : certificat signé par une autorité inconnue » lors de l’analyse de l’image du Registre dans Prisma Cloud

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


Symptom


  • Erreur suivante lors de l’analyse d’une image du Registre :
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 Calcul auto-hébergé
  • Runtime conteneurisé
  • CRI-O
Remarque : / etc/containerd/certs.d/ a été ajouté dans la version Kepler aux magasins de certificats approuvés par défaut que le Defender peut obtenir les certificats pour les connexions d’analyse du registre. Il est toutefois nécessaire de monter ces emplacements sur la capsule / conteneur lors de l’utilisation de container defender.


Cause


  • Le chemin d’accès du certificat n’a pas été découvert par Prisma Cloud Compute.
  • Lorsque vous utilisez Containerd Runtime, le chemin d’accès par défaut pour le certificat de Registre est /etc/containerd.
  • Prisma Cloud Compute n’a pas encore été en mesure de découvrir le certificat de registre sous /etc/containerd.
  • Jusqu’à ce que 22.01.xxx Prisma Cloud Compute ne prenne en charge que /etc/containers/certs.d/$REGISTRY_NAME/ ou /etc/docker/certs.d/$REGISTRY_NAME/


Resolution


  • Créez un répertoire sur le nœud Defender comme indiqué ci-dessous :
/etc/containers/certs.d/$REGISTRY_NAME/ or /etc/docker/certs.d/$REGISTRY_NAME/
  • Remarque: à partir de Kepler (22.06+), un dossier supplémentaire est pris en charge:
/etc/containerd/certs.d/$REGISTRY_NAME/
  • Placez le certificat dans le dossier $REGISTRY_NAME .
  • Le nom du certificat n'a pas d'importance, tant que le certificat est présent dans le dossier du Registre.
  • Pour Container Defender, modifiez le fichier yaml du démon du conteneur pour monter le dossier. Voici l'exemple :
    • Commande:
      kubectl edit ds -n twistlock twistlock-defender-ds
    • Sous « volumeMounts: », ajoutez :
                 - name: registry-scan
                   mountPath: /etc/docker/certs.d
                 - name: registry-scan2
                   mountPath: /etc/containers/certs.d
                 - name: registry-scan3
                   mountPath: /etc/containerd/certs.d
    • Sous « volumes: », ajouter:
             - 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 : À partir de maintenant, les étapes ci-dessus sont la seule solution applicable disponible pour ce problème.


Additional Information


Configuration de l’analyse du Registre

Actions
  • Print
  • Copy Link

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

Choose Language