実践的な「Trivy」利用方法〜「VSCode」によるスキャンからCI/CDパイプライン、「Trivy Operator」による継続的なスキャン〜:Cloud Nativeチートシート(18)
Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、Trivyの代表的な利用シーンを取り上げながら、実践的に利用するための検討ポイントを解説する。
Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する本連載「Cloud Nativeチートシート」。前回はTrivyの単体機能を中心に紹介しました。
Trivyを組織やプロジェクトで取り入れるには、開発のライフサイクルから運用まで幅広く検討する必要があります。本稿では、Trivyの代表的な利用シーンを取り上げながら、実践的に利用するための検討ポイントを解説します。
目次
Trivyの利用シーン
アプリケーション開発はソースコードを書いて、ビルドやテストを行い、デプロイするといった流れを繰り返します。このような開発のライフサイクルの中、どこでTrivyを利用するのがよいのでしょうか? どのようなことを検討しなくてはならないのでしょうか?
本稿では下記3つの利用シーンを取り上げて解説します。
Trivy利用シーン | 狙い | |
---|---|---|
【1】 | ローカル開発環境 | 開発の初期段階から脆弱性の混入を防ぐ |
【2】 | CI/CDパイプライン | 脆弱性を含むアプリケーションのデプロイを防ぐ |
【3】 | 実行中のアプリケーション | リリース後に発見された新規脆弱(ぜいじゃく)性を継続的に検知する |
【1】ローカル開発環境
ローカル開発環境は、開発者個人の作業場所です。「Docker」「Minikube」などを利用してコンテナを動かせるようにしたり、試行錯誤しながらコードを実装してテストしたりといった作業を繰り返します(上図の「個人作業のインナーループ」に該当)。
Trivyは、次のような開発ツールと連携することで、ローカル開発環境上でも効率的なスキャンを可能にします。
- Visual Studio Code:Trivy Vulnerability Scanner
- IntelliJ:Trivy Findings Explorer
- Docker Desktop:trivy-docker-extension
ローカル開発環境上でスキャンを有効にすると、開発の初期段階から脆弱な設定を検知できます。つまり、シフトレフト(後工程で行っていたセキュリティ対策を、開発工程の早い段階に組み込む考え方)なセキュリティ対策を実現できるといえるでしょう。
では、ローカル開発環境上のスキャンを試してみましょう。今回はVisual Studio Code(以後、VSCode)を利用したTrivyのスキャンを紹介します。
VSCodeでTrivyによるスキャン
VSCodeには「Trivy Vulnerability Scanner」という拡張機能があります。この拡張機能を利用すると、VSCode上でTrivyのスキャンが可能になります。
まずは環境構築ですが、筆者はWindowsを利用しているので、直接Trivyを動かせません。今回はWindows利用者でもTrivyのスキャンを試せるように、VSCodeの拡張機能「Remote WSL」を利用したTrivyのスキャン方法を紹介します。
今回利用したソフトウェアのバージョンは次の通りです。
- VSCode:1.68.1
- VSCode拡張機能「Remote - WSL」:v0.66.3
- VSCode拡張機能「Trivy Vulnerability Scanner」:v0.6.1
- Trivy:v0.29.2
セットアップからTrivyスキャンまでの大まかな流れは次の通りです。
順に進めていきます。
・1.VSCodeをWindowsにインストール
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Kubernetesのセキュリティ対策を整理する「脅威モデリング」のすすめ
クラウドへの移行が進み、Kubernetesなどコンテナ技術を活用するシーンが増えた昨今、管理者を悩ませるのはそのセキュリティ対策だ。GMOペパボのセキュリティエンジニアによる「Cloud Native Days Tokyo 2021」の講演から、脅威モデリングの基本やKubernetesクラスタを題材にした具体的なモデリング方法などを解説する。 - 攻撃事例で考える「コンテナセキュリティ」のリスクと対策
コンテナ基盤にセキュリティリスクがあることは認識している。セキュリティのガイドラインなどもチェックしている。だが、いまひとつ攻撃やリスクのイメージが湧かない。そんな開発者に向けて、NTTデータのクラウドエンジニア、望月敬太氏が具体的な攻撃デモを通して、意識すべきリスクや対策について分かりやすく解説する。2021年11月4〜5日にオンラインで開催された「CloudNative Days Tokyo 2021」から「乗っ取れコンテナ!!〜開発者から見たコンテナセキュリティの考え方〜」で紹介された内容だ。 - Kubernetesクラスタのセキュリティ問題の根本原因は何か、Alcideが概説
「Kubernetes」ネイティブのセキュリティプラットフォームを手掛けるAlcideは、Kubernetesクラスタのセキュリティを確保する上での課題を概説したブログを公開した。Kubernetesのセキュリティ問題の根本原因と原因を絶つコツを紹介している。