Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、Trivyの代表的な利用シーンを取り上げながら、実践的に利用するための検討ポイントを解説する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する本連載「Cloud Nativeチートシート」。前回はTrivyの単体機能を中心に紹介しました。
Trivyを組織やプロジェクトで取り入れるには、開発のライフサイクルから運用まで幅広く検討する必要があります。本稿では、Trivyの代表的な利用シーンを取り上げながら、実践的に利用するための検討ポイントを解説します。
アプリケーション開発はソースコードを書いて、ビルドやテストを行い、デプロイするといった流れを繰り返します。このような開発のライフサイクルの中、どこでTrivyを利用するのがよいのでしょうか? どのようなことを検討しなくてはならないのでしょうか?
本稿では下記3つの利用シーンを取り上げて解説します。
Trivy利用シーン | 狙い | |
---|---|---|
【1】 | ローカル開発環境 | 開発の初期段階から脆弱性の混入を防ぐ |
【2】 | CI/CDパイプライン | 脆弱性を含むアプリケーションのデプロイを防ぐ |
【3】 | 実行中のアプリケーション | リリース後に発見された新規脆弱(ぜいじゃく)性を継続的に検知する |
ローカル開発環境は、開発者個人の作業場所です。「Docker」「Minikube」などを利用してコンテナを動かせるようにしたり、試行錯誤しながらコードを実装してテストしたりといった作業を繰り返します(上図の「個人作業のインナーループ」に該当)。
Trivyは、次のような開発ツールと連携することで、ローカル開発環境上でも効率的なスキャンを可能にします。
ローカル開発環境上でスキャンを有効にすると、開発の初期段階から脆弱な設定を検知できます。つまり、シフトレフト(後工程で行っていたセキュリティ対策を、開発工程の早い段階に組み込む考え方)なセキュリティ対策を実現できるといえるでしょう。
では、ローカル開発環境上のスキャンを試してみましょう。今回はVisual Studio Code(以後、VSCode)を利用したTrivyのスキャンを紹介します。
VSCodeには「Trivy Vulnerability Scanner」という拡張機能があります。この拡張機能を利用すると、VSCode上でTrivyのスキャンが可能になります。
まずは環境構築ですが、筆者はWindowsを利用しているので、直接Trivyを動かせません。今回はWindows利用者でもTrivyのスキャンを試せるように、VSCodeの拡張機能「Remote WSL」を利用したTrivyのスキャン方法を紹介します。
今回利用したソフトウェアのバージョンは次の通りです。
セットアップからTrivyスキャンまでの大まかな流れは次の通りです。
順に進めていきます。
・1.VSCodeをWindowsにインストール
Copyright © ITmedia, Inc. All Rights Reserved.