page icon

Trivyによるコンテナイメージの脆弱性スキャン


はじめに

ECRイメージのセキュリティを強化するためにTrivyを導入しました。Trivyは、コンテナイメージ、ファイルシステム、Gitリポジトリなど多様な環境をスキャンし、脆弱性や誤設定を簡単に検出できるツールです。
この記事では、Trivyを使用してECRイメージの脆弱性スキャンを行う方法について説明します。さらに、Trivyの簡単なセットアップと基本的な使用方法についても詳しく見ていきます。
 

Trivyのインストールとセットアップ

Trivyを始めるための最初のステップとして、インストールと基本的な設定について説明します。

Trivyのインストール方法

Trivyのインストールはシンプルで、幅広いプラットフォームでサポートされています。以下にインストール手順を紹介します。
 
  1. Ubuntu/Debian
 
  1. Mac (Homebrew)
 
他のプラットフォームでのインストール方法については、Trivyの公式ドキュメントをご覧ください。

スキャンの実行

インストールが完了したら、以下のコマンドを使用して脆弱性スキャンを実行できます。
 

実行例:イメージスキャン

このコマンドを実行すると、指定したイメージの脆弱性スキャン結果が表示されます。
 

実行例:Dockerビルドのスキャン

Dockerビルドコマンドを使用してイメージを作成した後、Trivyを使って脆弱性スキャンを行います。
  1. Dockerイメージのビルド
Dockerfileを基にイメージをビルドします
 
  1. Trivyによるスキャン
ビルドされたイメージに対してTrivyでスキャンを実行します。
このプロセスにより、ビルドされたイメージのセキュリティ状態を確認し、必要な修正を行うことができます。

スキャン結果の解析

スキャン結果には、脆弱性のID、パッケージ名、インストールされているバージョン、修正可能なバージョン、脆弱性の重大度が表示されます。
重大度は「LOW」、「MEDIUM」、「HIGH」、「CRITICAL」の4つに分類され、対応の優先度を判断するのに役立ちます。

スキャンのカスタマイズ

Trivyは高度なカスタマイズが可能で、特定のニーズに合わせてスキャンを調整できます。
 

重大度に基づくフィルタリング

オプションを使用して、特定の重大度レベルの脆弱性のみをスキャンすることができます。
 
このコマンドは、重大度が「HIGH」または「CRITICAL」の脆弱性のみを報告します。
 

さいごに

Trivyの定期実行

Trivyは、ECRイメージのセキュリティを強化するための強力なツールです。インストールとセットアップは簡単で、実行もシンプルです。定期的な実行を設定することで、常に最新の脆弱性情報に基づいてイメージをスキャンできます。今後は、GitHub Actionsを活用してこれらのスキャンを自動化し、さらなる効率化を図っていきたいと思います。