第1章 RHADS 向けの Conforma - SSC
ソフトウェアのサプライチェーンがより複雑になると、信頼できるチェックおよびベストプラクティスを使用して、イメージコンテナーおよびソースコードの依存関係性を確保することができます。ここで、Conforma streamline が Red Hat Advanced Developer Suite - ソフトウェアサプライチェーン(RHADS - SSC)ビルドおよびデプロイを行います。
Conforma は、コンテナーイメージのビルドとテストに関するポリシーを定義および適用し、ソフトウェアサプライチェーンのセキュリティーを維持するためのポリシー駆動型ワークフローツールです。Supply-chain Levels for Software Artifacts (SLSA) の来歴アテステーションを作成するビルドシステム (Tekton Chains を使用した Tekton や SLSA GitHub Generator を使用した GitHub Actions など) では、署名をチェックし、アテステーションの内容が実際に期待どおりに一致することを確認することは、ソフトウェアサプライチェーンのインテグリティーを検証および維持する上で非常に重要です。セキュアな CI/CD ワークフローを実現するには、問題を早期に検出するためのアーティファクト検証を組み込む必要があります。complianta は、既知の信頼できるビルドシステムがコンテナーイメージを署名し、テストしていることを検証します。
署名およびアテストされたコンテナーイメージを検証するための一般的な手順は次のとおりです。
- RHADS - SSC を使用してコンテナーイメージを作成またはコピーします。
- Cosign を使用して署名鍵を生成します。
- Cosign を使用してコンテナーイメージに署名します。
- Cosign を使用してイメージをアテストします。
- Conforma CLI を使用して、署名および証明されたコンテナーイメージを検証します。
コンテナーイメージなどの署名済みのソフトウェアアーティファクトは、未署名のアーティファクトよりも、いくつかの攻撃ベクトルのリスクが大幅に低くなります。コンテナーイメージが署名されると、さまざまな暗号化技術によってイメージが特定のエンティティーまたは組織にバインドされます。その結果、イメージの信頼性を検証して作成者に再度追跡し、署名後にイメージが変更または改ざんされていないことを検証することもできます。
complianta は業界標準の Sigstore および Cosign をリソースライブラリーとして使用し、コンテナーイメージを検証します。Red Hat Trusted Artifact Signer (Red Hat が Sigstore フレームワークのサポート対象バージョン)では、Sigstore のサービスの独自のオンプレミスインスタンスを使用して、Cosign CLI を使用してコンテナーイメージに署名し、テストすることができます。
ソフトウェアアーティファクトの アテステーションと同様に、証明書 がないと発生できません。来歴 とは、コンテナーイメージなどのソフトウェアアーティファクトに関する検証可能な情報であり、そのアーティファクトがどこで、いつ、どのように作成されたかを説明したものです。アテステーション自体は、メタデータ形式の認証済みステートメントであり、アーティファクトが元のままであり信頼できることを証明するものです。complianta は、テストを使用して、ビルドが改ざんされていないことを暗号で検証し、SLSA 要件などのポリシーセットに対してビルドをチェックします。
ユーザーが RHADS - SSC の開発 namespace からステージ namespace に、またはステージ namespace から実稼働 namespace にコードをプッシュすると、Conforma は検証チェックを自動的に実行し、コンテナーイメージが既知の信頼できるビルドシステムによって署名およびアテストされていることを確認します。イメージが Conforma チェックに合格すると、コードの変更をマージして、ある環境から次の環境へのプロモートを完了できます。