Harbor-as-a-Service で作成されたすべての Harbor インスタンスは、Trivy 脆弱性スキャナに接続して、コンテナ イメージのセキュリティ リスクを特定して対処できるようにします。Trivy は、Harbor バージョン 2.2 以降のデフォルトのスキャナです。Trivy は、コンテナ イメージの内容を分析し、National Vulnerability Database などの既知の脆弱性データベースと比較して、潜在的な問題を特定します。詳細については、https://github.com/aquasecurity/trivy をご覧ください。
始める前に
脆弱性をスキャンするには、次のものが必要です。
- Trivy。インストール オプション
--with-trivy
を追加して Harbor インスタンスをインストールしたときに、Trivy を有効にする必要があります。Trivy を使用して Harbor をインストールする方法については、https://goharbor.io/docs/2.8.0/install-config/run-installer-script/ をご覧ください。 - Harbor のロールベース アクセス制御の
ProjectAdmin
ロールを持つアカウント。詳細については、API と Harbor インスタンス内のアクセスを構成するをご覧ください。 - 既存の Harbor プロジェクト。詳細については、Harbor プロジェクトを作成するをご覧ください。
Harbor で個々のアーティファクトをスキャンするか、Harbor プロジェクトで脆弱性設定を構成できます。
Harbor 内の個々のアーティファクトをスキャンする
Harbor で個々のアーティファクトをスキャンする手順は次のとおりです。
ProjectAdmin
ロールを持つアカウントで Harbor インターフェースにログインします。- [プロジェクト] に移動して、プロジェクトを選択します。
- [スキャナ] タブをクリックします。[スキャナ] タブには、このプロジェクトで使用されている現在のスキャナが表示されます。
- [編集] をクリックして、この Harbor インスタンスに接続されているスキャナのリストから別のスキャナを選択し、[OK] をクリックします。
- [リポジトリ] タブをクリックし、リポジトリを選択します。
- リポジトリ内の各アーティファクトの [脆弱性] 列には、脆弱性スキャンのステータスと関連情報が表示されます。
アーティファクトを選択するか、上部のチェックボックスを使用してリポジトリ内のすべてのアーティファクトを選択し、[スキャン] をクリックして、このアーティファクトで脆弱性スキャンを実行します。
修正可能な脆弱性の数にポインタを合わせると、脆弱性レポートの概要が表示されます。
アーティファクト ダイジェストをクリックすると、脆弱性に関する詳細なレポートが表示されます。
詳細については、Harbor のドキュメント(https://goharbor.io/docs/2.8.0/administration/vulnerability-scanning/scan-individual-artifact/)をご覧ください。
Harbor 内のすべてのアーティファクトをスキャンする
Harbor インスタンス内のすべてのアーティファクトをスキャンする手順は次のとおりです。
ProjectAdmin
ロールを持つアカウントで Harbor インターフェースにログインします。- [管理] メニューで、[Interrogation Services] をクリックします。
Harbor インスタンス内のすべてのアーティファクトのスキャンを実行するには、[脆弱性] タブを選択して [今すぐスキャン] をクリックします。
詳細については、Harbor のドキュメント(https://goharbor.io/docs/2.8.0/administration/vulnerability-scanning/scan-all-artifacts/)をご覧ください。
Harbor プロジェクトで脆弱性設定を構成する
脆弱性スキャンを Harbor ワークフローに統合して、コンテナ化されたアプリケーションのセキュリティをプロアクティブに管理し、組織を潜在的な脅威から保護します。脆弱性のあるイメージを実行できないようにプロジェクトを構成し、イメージがプロジェクトに push されるとすぐに自動的にスキャンするようにします。
Harbor プロジェクトの脆弱性設定を構成する手順は次のとおりです。
ProjectAdmin
ロールを持つアカウントで Harbor インターフェースにログインします。- [プロジェクト] に移動して、プロジェクトを選択します。
- [構成] タブをクリックします。
- プロジェクト内の脆弱なイメージが pull されないようにするには、[脆弱なイメージの実行を防止する] チェックボックスをオンにします。
イメージの実行を阻止する脆弱性の重大度レベルを選択します。
プロジェクトに push された新しいイメージで脆弱性スキャンをすぐに有効にするには、[push 時にイメージを自動的にスキャンする] チェックボックスをオンにします。
詳細については、Harbor のドキュメント(https://goharbor.io/docs/2.8.0/working-with-projects/project-configuration/)をご覧ください。