でレジストリ イメージをスキャンすると、エラー「x509: 不明な機関によって署名された証明書」が表示される Prisma Cloud

でレジストリ イメージをスキャンすると、エラー「x509: 不明な機関によって署名された証明書」が表示される Prisma Cloud

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


Symptom


  • レジストリ イメージのスキャン時に次のエラーが表示されます。
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 コンピューティング エンタープライズ エディション
  • Prisma Cloud 自己ホスト型コンピューティング
  • Containerd ランタイム
  • CRI-O
ノート: /etc/containerd/certs.d/バージョンで追加されましたケプラーDefender がレジストリ スキャン接続用の証明書を取得できるデフォルトの信頼できる証明書ストアに。 ただし、コンテナー ディフェンダーを使用する場合は、これらの場所をポッド/コンテナーにマウントする必要があります。


Cause


  • によって証明書パスが検出されていませんPrisma Cloud計算します。
  • Containerd ランタイムを使用する場合、レジストリ証明書のデフォルト パスは /etc/containerd です。
  • Prisma Cloud Compute はまだ /etc/containerd の下にあるレジストリ証明書を検出できていません。
  • 22.01.xxxまでPrisma CloudCompute は /etc/containers/certs.d/$REGISTRY_NAME/ または /etc/docker/certs.d/$REGISTRY_NAME/ のみをサポートします


Resolution


  • Defender にディレクトリを作成するノード以下に示すように:
/etc/containers/certs.d/$REGISTRY_NAME/ or /etc/docker/certs.d/$REGISTRY_NAME/
  • 注: Kepler(22.06+) から、もう 1 つのフォルダーがサポートされています。
/etc/containerd/certs.d/$REGISTRY_NAME/
  • 証明書を中に入れる$REGISTRY_NAMEフォルダ。
  • 証明書がレジストリ フォルダーに存在する限り、証明書の名前は重要ではありません。
  • コンテナ ディフェンダーの場合、コンテナのデーモン セット yaml ファイルを変更して、フォルダをマウントします。 次に例を示します。
    • 指図:
      kubectl edit ds -n twistlock twistlock-defender-ds
    • 「volumeMounts:」の下に以下を追加します。
                 - name: registry-scan
                   mountPath: /etc/docker/certs.d
                 - name: registry-scan2
                   mountPath: /etc/containers/certs.d
                 - name: registry-scan3
                   mountPath: /etc/containerd/certs.d
    • 「ボリューム:」の下に以下を追加します。
             - 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 :現時点では、上記の手順がこの問題に適用できる唯一の解決策です。


Additional Information


レジストリ スキャンの設定

Actions
  • Print
  • Copy Link

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

Choose Language