cert-manager 署名検証
サプライチェーン攻撃を防ぐため、cert-manager のリリースアーティファクトの一部は暗号的に署名されています。これにより、インストールしようとしている cert-manager のバージョンが実際に cert-manager のメンテナーによってビルドおよび提供されたものであることを確認できます。
この署名は、何らかの理由で cert-manager のミラーバージョンを使用する必要がある場合に非常に重要です。ミラーがインストールしようとしているコードを改ざんしていないことを確認できます。
検証に必要な署名キーはすべてこのウェブサイトで入手できますが、実際に必要なキーは、今後検証しようとするアーティファクトによって異なる場合があります。執筆時点では、すべての署名に同じ基盤となるキーが使用されています。
コンテナイメージ / Cosign
v1.8.0
以降のすべてのcert-managerバージョンでは、コンテナイメージはcosign
を使用して署名され、検証可能です。
IMAGE_TAG=v1.16.1 # change as neededKEY=https://cert-manager.dokyumento.jp/public-keys/cert-manager-pubkey-2021-09-20.pemcosign verify --signature-digest-algorithm sha512 --insecure-ignore-tlog --key $KEY quay.io/jetstack/cert-manager-acmesolver:$IMAGE_TAGcosign verify --signature-digest-algorithm sha512 --insecure-ignore-tlog --key $KEY quay.io/jetstack/cert-manager-cainjector:$IMAGE_TAGcosign verify --signature-digest-algorithm sha512 --insecure-ignore-tlog --key $KEY quay.io/jetstack/cert-manager-ctl:$IMAGE_TAGcosign verify --signature-digest-algorithm sha512 --insecure-ignore-tlog --key $KEY quay.io/jetstack/cert-manager-startupapicheck:$IMAGE_TAGcosign verify --signature-digest-algorithm sha512 --insecure-ignore-tlog --key $KEY quay.io/jetstack/cert-manager-controller:$IMAGE_TAGcosign verify --signature-digest-algorithm sha512 --insecure-ignore-tlog --key $KEY quay.io/jetstack/cert-manager-webhook:$IMAGE_TAG
Kubernetesでより機能豊富な署名検証プロセスについては、connaisseur
をご覧ください。
- PEMエンコードされた公開キー:
cert-manager-pubkey-2021-09-20.pem
なぜ--insecure-ignore-tlog
?
検証コマンドにinsecure
というフラグを含めることは避けたいと考えており、将来的にはこれを修正する予定です。現時点では、透過ログを無視することで検証が機能します。
cert-managerキーはGoogle Cloud KMSに保存されており、cert-managerリリースの署名時にのみGoogle Cloud Buildで使用されます。
Helmチャート
Helmでは検証にPGPの使用が必要です。キー形式は異なります。
検証時に「プレーン」なPEMエンコードされた公開キーを使用しようとすると、失敗します。
v1.6.0
以降のすべてのcert-managerバージョンでは、HelmチャートはHelm CLIを介して署名および検証できます。
最も簡単な検証方法は、GPGキーリングを直接取得し、次のようにhelm verify
に渡すことです。
curl -sSL https://cert-manager.dokyumento.jp/public-keys/cert-manager-keyring-2021-09-20-1020CF3C033D4F35BAE1C19E1226061C665DF13E.gpg > cert-manager-keyring-2021-09-20-1020CF3C033D4F35BAE1C19E1226061C665DF13E.gpghelm verify --keyring cert-manager-keyring-2021-09-20-1020CF3C033D4F35BAE1C19E1226061C665DF13E.gpg /path/to/cert-manager-vx.y.z.tgz
ご自身の責任において、GPGに簡単にインポートできる形式で署名キーが必要な場合は、ASCIIアーマードバージョンをご利用いただけます。