【AWSサービス 基礎編】Amazon Inspector でインスタンスとコンテナの脆弱性をスキャンする

目次

概要

EC2 インスタンスやコンテナイメージに脆弱性が残ったまま運用していると、攻撃者に悪用されるリスクがあります。しかし、運用中のリソースの脆弱性を手動で調査・管理するのは現実的ではなく、見落としも発生しやすくなります。

Amazon Inspector は、EC2 インスタンス、コンテナイメージ(Amazon ECR)、Lambda 関数を自動的にスキャンし、ソフトウェアの脆弱性やネットワーク到達性の問題を検出するマネージドサービスです。有効化するだけで継続的にスキャンが実行され、新しい脆弱性(CVE)が公開されるたびに対象リソースが再評価されます。

本記事では、Amazon Inspector の基本概念を理解し、有効化から検出結果の確認までを体験します。

Amazon Inspector の全体像: リソースを継続的にスキャンし、重要度付きの検出結果から対処する
Amazon Inspector の全体像: リソースを継続的にスキャンし、重要度付きの検出結果から対処する
クラウドおさる

弊猿はこの記事で、Inspector を有効にして、検出結果から「どれから直すか」を読み取るところまでやってみるでござる。有効化のあとは、勝手に見回りを続けてくれるのでござるよ。

この記事のメリット

  • Amazon Inspector を有効化し、自動スキャンを開始する手順を習得できる
  • 検出結果の重要度と種類を理解し、優先順位を付けて対処する方法を把握できる
  • EC2 インスタンスの脆弱性スキャン結果を確認し、具体的な対処方法を確認できる
  • ネットワーク到達性スキャンとソフトウェア脆弱性スキャンの違いを理解できる
  • Inspector のダッシュボードで環境全体のセキュリティ状況を把握する方法を習得できる

執筆者とキャラクター紹介

執筆者:土肥(とひ)

株式会社ジェニュインの代表であり元エンジニア。これまでオンプレミスと AWS 環境のインフラ業務を担当。AWS 認定資格の学習で得た知識を、ハンズオンとともに解説するのが得意。直近では新人の教育も行っており、これから技術を学ぶ方が納得できる解説を心がけています。基礎編・Cloud Practitioner の記事では、解説役としても登場します。

土肥

クラウドおさる

クラウドおさる

はじめましてでござる。弊猿はクラウドおさる。IT インフラが異常に発達した猿山から、雲に乗って地上の AWS を学びに降りてきたのでござる。

クラウドおさる

基礎編や Cloud Practitioner の記事では、とひさんに素朴な疑問をぶつける役でござるな。Security - Specialty などの記事では、要所でワンポイントや注意点をひとこと添えるでござる。

クラウドおさる

猿山にもデータセンターや監視当番があって、地上で起きることはだいたい猿山にも同じ仕組みがあるのでござる。例え話がつい猿山に寄るのは、弊猿の癖でござる。

技術解説

クラウドおさる

とひさん、Amazon Inspector とはどんなサービスでござるか?

土肥

Amazon Inspector は、AWS リソースの脆弱性を自動的に検出するセキュリティ評価サービスだよ。2021 年にリニューアル(Amazon Inspector v2)されて、継続的に自動でスキャンするようになったんだ。専用のエージェントも要らなくなって、Systems Manager(SSM)のエージェントを使う形になったよ。その後、エージェントを入れずに EBS スナップショットからスキャンする方式も加わったんだ。

クラウドおさる

脆弱性を自動で見つけてくれるのでござるな。どんなものを調べてくれるのでござる?

土肥

主なユースケースはこんな感じだよ。

  • EC2 インスタンスの OS やミドルウェアの脆弱性検出
  • ECR コンテナイメージのパッケージ脆弱性検出
  • Lambda 関数のコード依存関係の脆弱性検出
  • EC2 インスタンスのネットワーク到達性の評価
  • コンプライアンス要件に基づくセキュリティ評価
クラウドおさる

EC2 だけでなく、コンテナや Lambda まで見てくれるのでござるか!スキャンには、どんな種類があるでござる?

土肥

大きく分けて 2 種類のスキャンがあるんだ。

スキャン種類対象検出内容
ソフトウェア脆弱性スキャンEC2、ECR、Lambdaインストールされたパッケージやライブラリの既知の脆弱性(CVE)
ネットワーク到達性スキャンEC2インターネットからの到達可能なポートやネットワーク経路
2 種類のスキャン: ソフトウェア脆弱性は中身を、ネットワーク到達性は外からの経路を見る
2 種類のスキャン: ソフトウェア脆弱性は中身を、ネットワーク到達性は外からの経路を見る
クラウドおさる

中身の弱点だけでなく、外から入り込めるかまで見るのでござるな。猿山でいえば、倉庫の錠前が古くないかを調べる係と、柵の破れ目から倉庫まで歩いて行けるかを調べる係、二手に分かれて見回るようなものでござる。EC2 のスキャンは、どうやって動くのでござるか?

土肥

EC2 インスタンスのスキャンには 2 つの方式があるよ。

方式説明特徴
SSM エージェントベースAWS Systems Manager(SSM)エージェントを使用OS 内部のパッケージ情報を詳細にスキャン。SSM エージェントのインストールが必要
エージェントレスEBS スナップショットを使用SSM エージェント不要。EBS ボリュームのスナップショットからスキャン
クラウドおさる

エージェントを入れなくても、スキャンできるのでござるか?

土肥

そうなんだ。エージェントレスの場合は EBS スナップショットを使ってスキャンするよ。ちなみに SSM エージェントベースの方は、Amazon Linux 2023 などの主要な AMI にはプリインストールされているから、そのまま使えることが多いんだ。

クラウドおさる

見つかった脆弱性は、どうやって優先度を決めるのでござる?

土肥

重要度の決め方は、検出結果の種類で違うんだ。ソフトウェアパッケージの脆弱性は、CVSS(Common Vulnerability Scoring System)スコアを基準に、こう分類されるよ。

重要度CVSS スコア対応の目安
Critical(緊急)9.0 〜 10.0即座に対応が必要。リモートからの権限昇格やコード実行の可能性
High(高)7.0 〜 8.9速やかに対応が必要
Medium(中)4.0 〜 6.9計画的に対応が必要
Low(低)0.1 〜 3.9確認推奨
Informational(情報)0情報提供のみ
土肥

ベンダーがまだスコアを付けていない脆弱性は「未選別」になるよ。それから、ネットワーク到達性の検出結果は CVSS ではなく、開いているポート(サービス)と、インターネットからの経路かどうかで重要度が決まるんだ。

クラウドおさる

Critical が出たら、すぐに手を打たねばまずいでござるな…。弊猿、深夜 2 時の通知音を思い出したでござる。

土肥

そうだね。さらに Amazon Inspector は CVSS スコアだけじゃなくて、インターネットへの経路があるかどうかなど、自分の環境の事情を加味した「Inspector スコア」を独自に算出してくれるんだ。たとえば、ネットワーク経由で悪用される脆弱性でも、インスタンスからインターネットへの経路が無ければスコアが下がることがあるよ。

クラウドおさる

CVSS スコアに、自分の環境ならではの事情が上乗せされるのでござるな。検出結果には、具体的にどんな情報が入っているでござるか?

土肥

検出結果にはこういった情報が含まれるよ。

要素説明
脆弱性 IDCVE 番号(例: CVE-2023-12345)
影響を受けるリソースEC2 インスタンス ID、ECR リポジトリ名、Lambda 関数名
影響を受けるパッケージ脆弱性のあるパッケージ名とバージョン
修正バージョン脆弱性が修正されたパッケージバージョン
Inspector スコア独自の重要度スコア
CVSS スコア業界標準の脆弱性スコア
クラウドおさる

修正バージョンまで教えてくれるのでござるか!それは助かるでござる。

土肥

便利だよね。しかも Inspector は一度スキャンして終わりじゃなくて、継続的にスキャンしてくれるんだ。以下のイベントをトリガーに自動で再スキャンが走るよ。

  • 新しい EC2 インスタンスの起動
  • 新しいコンテナイメージの ECR へのプッシュ
  • EC2 インスタンスへの新しいパッケージのインストール
  • 新しい CVE の公開
クラウドおさる

新しい CVE が公開されたときにも再スキャンされる、と。猿山の見張り番も、隣の山で泥棒の新しい手口が見つかったら、その晩のうちに倉庫を見回り直すのでござる。常に最新の目で見てくれるのは心強いでござるな。

新卒・未経験の方へ
クラウドおさる

AWS を仕事にしたい方へ ── 新卒・未経験から

この記事を書いているのは、AWS の設計・構築を仕事にしている現役エンジニアです。運営元の株式会社ジェニュインでは、新卒・未経験の方も募集しています。異業種や文系からインフラエンジニアになり活躍しているメンバーもいます。

  • ✓システム開発・WEB エンジニア / インフラ構築などの職種で、未経験から応募できます
  • ✓未経験から入社した社員の声を含む社員アンケートを掲載
  • ✓応募フォームから 1 分で応募できます

実践

ハンズオンガイド9 ステップ画面 8 枚

コンソールの横に開いて、チェックしながら進めましょう。

ガイドを開く

別タブで開きます。チェックはこのブラウザに保存されます。

前提条件

  • リージョン: ap-northeast-1(東京)
  • IAM ユーザーまたはロールに Amazon Inspector の操作権限があること
  • 以下のリソースが作成済みであること
リソース種別リソース名用途
VPC・パブリックサブネットinspector-lab-vpcスキャン対象のインスタンスを置くネットワーク
EC2 インスタンスinspector-lab-instanceスキャン対象(Amazon Linux 2023。SSM エージェントはプリインストール済み)
IAM ロールAmazonSSMManagedInstanceCore を付けたインスタンスプロファイルインスタンスを Systems Manager のマネージドインスタンスにする

Inspector の EC2 スキャンは、インスタンスが Systems Manager のマネージドインスタンスになっていることが前提です。

作成するリソース一覧

リソース種別リソース名用途
Amazon Inspector(有効化)脆弱性スキャンの有効化(15 日間の無料トライアル)

ステップ1: Amazon Inspector の有効化

AWS マネジメントコンソールにログインし、リージョンが ap-northeast-1(東京)であることを確認します。

上部の検索バーに Inspector と入力し、表示された「Inspector」を選択します。

Amazon Inspector の開始画面が表示されます。「使用を開始する」をクリックします。

Amazon Inspector の開始画面(「使用を開始する」ボタンが表示されている状態)
Amazon Inspector の開始画面(「使用を開始する」ボタンが表示されている状態)

「Inspector をアクティブ化」の画面で、「このアカウントをアクティブにする」をクリックします。EC2・ECR・Lambda 標準・コードリポジトリのスキャンがまとめて有効になり、15 日間の無料トライアルが始まります。

AWS Organizations の管理アカウントで開いた場合は、委任管理者や委任ポリシーを設定する欄も表示されます。単独のアカウントで試す場合は、そのまま「このアカウントをアクティブにする」をクリックします。

有効化が完了すると、Amazon Inspector のダッシュボード(「概要」)に遷移します。

Inspector 有効化直後のダッシュボード画面
Inspector 有効化直後のダッシュボード画面

ステップ2: ダッシュボードの確認

ダッシュボードには、環境全体のセキュリティ状況が表示されます。以下の情報を確認します。

  • 環境カバレッジ: 仮想マシン・コンテナリポジトリ・サーバーレス関数・コードリポジトリごとの、スキャン対象になっているリソースの割合
  • 緊急の検出結果: リソースの種類ごとの検出結果の件数(「緊急 / 高 / 中 / Low」で切り替え)

有効化した直後は、inspector-lab-instance がまだスキャンされていないため、仮想マシンのカバレッジは 0% です。インスタンスが Systems Manager に登録されると、スキャンが始まります。今回は 5 分ほどで EC2 の検出結果が出始めました。

ダッシュボード画面(環境カバレッジと緊急の検出結果が表示されている状態)
ダッシュボード画面(環境カバレッジと緊急の検出結果が表示されている状態)

ステップ3: アカウントカバレッジの確認

左側ナビゲーションの「設定」→「アカウントカバレッジ」を選択します。

現在のアカウントでどのスキャンタイプが有効になっているかを確認できます。Amazon EC2 スキャン・Amazon ECR スキャン・AWS Lambda スキャン・コードリポジトリスキャンの列が、それぞれ Activated になっています。

スキャンタイプごとに有効・無効を切り替えることもできます。

アカウントカバレッジ画面(各スキャンタイプのステータスが表示されている状態)
アカウントカバレッジ画面(各スキャンタイプのステータスが表示されている状態)
クラウドおさる

有効化のボタン 1 つで、EC2・ECR・Lambda などのスキャンがまとめて始まったでござるな。対象をあとから絞りたいときは、このアカウントカバレッジの画面で切り替えるのでござる。

ステップ4: 検出結果の確認

左側ナビゲーションの「検出結果」を選択します。「すべて」「脆弱性」「仮想マシン別」「コンテナイメージ別」などのタブがあり、「すべて」タブに検出結果の一覧が表示されます。

検索欄の「フィルターを追加」で「リソース ID」を選び、inspector-lab-instance のインスタンス ID を指定して、このインスタンスの検出結果だけに絞り込みます。各検出結果には以下の情報が表示されます。

  • 重大性(Critical / High / Medium / Low / Informational)
  • タイトル(CVE 番号と、影響を受けるパッケージ名)
  • 影響を受けるリソース
  • Inspector スコア
検出結果一覧画面(inspector-lab-instance で絞り込んだ状態)
検出結果一覧画面(inspector-lab-instance で絞り込んだ状態)

ステップ5: 検出結果のフィルタリング

さらに重大性で絞り込みます。

  • 「フィルターを追加」で「重大性」を選択します
  • 値の一覧から High にチェックを入れ、「Apply」をクリックします(複数の重大性をまとめて選ぶこともできます)

「リソースタイプ」(AWS_EC2_INSTANCE など)で絞り込むこともできます。

フィルター適用後の検出結果画面(リソース ID と重大性 High で絞り込んだ状態)
フィルター適用後の検出結果画面(リソース ID と重大性 High で絞り込んだ状態)

ステップ6: 検出結果の詳細確認

検出結果一覧から任意の検出結果をクリックすると、画面右側に詳細が表示されます。

詳細には以下の情報が表示されます。

  • 影響を受けるパッケージ: パッケージ名、インストール済みバージョン、修正済みバージョン
  • 対策: 対処の方針(例: 修正されたバージョンへのアップグレード)
  • 脆弱性の詳細: CVE 番号、説明、CVSS スコアなど
  • 影響を受けるリソース: リソースの種類と ID
検出結果の詳細画面(影響を受けるパッケージ・対策・脆弱性の詳細が表示されている状態)
検出結果の詳細画面(影響を受けるパッケージ・対策・脆弱性の詳細が表示されている状態)

「対策」には具体的なコマンドまでは表示されません。Amazon Linux 2023 であれば、sudo dnf update パッケージ名 などで修正済みバージョンに上げることで、脆弱性を解消できます。

クラウドおさる

検出結果は件数が多くなりがちでござる。重大性と Inspector スコアで絞り込み、Critical から順に修正バージョンへ上げていく、この順番を崩さぬようにするでござるぞ。

ステップ7: 仮想マシン別の検出結果の確認

「検出結果」画面の「仮想マシン別」タブを選択します。

インスタンスごとに、重大性別の検出結果の件数がまとめて表示されます。最も緊急の検出結果があるインスタンスから順に並ぶので、どのインスタンスから手を付けるべきかが分かります。同じように「脆弱性」タブでは、CVE ごとにまとめた一覧を確認できます。

仮想マシン別の検出結果画面(インスタンスごとに件数がまとめられている状態)
仮想マシン別の検出結果画面(インスタンスごとに件数がまとめられている状態)

まとめ

  • Amazon Inspector は、EC2 インスタンス、ECR コンテナイメージ、Lambda 関数を自動的にスキャンし、脆弱性を検出するマネージドサービスである
  • ソフトウェア脆弱性スキャン(CVE ベース)とネットワーク到達性スキャンの 2 種類のスキャンを実行する
  • EC2 のスキャンは SSM エージェントベースとエージェントレス(EBS スナップショット)の 2 方式がある
  • パッケージの脆弱性の重要度は CVSS スコアを基準に分類され、環境の事情を加味した Inspector スコアも付く。ネットワーク到達性の検出結果は、ポートと経路の種類で重要度が決まる
  • 新しいリソースの追加、パッケージの更新、新しい CVE の公開をトリガーに自動で再スキャンが実行される
  • 検出結果にはパッケージの修正バージョンや更新コマンドなどの具体的な修復方法が含まれる

参照先

キャリア相談
クラウドおさる

独学の先に、AWS の仕事がある ── ジュニアおさるのキャリア相談

CLF には受かったけれど、次に何をすればいいのか分からない。独学で AWS を学ぶジュニアおさるの相談に、株式会社ジェニュイン代表の土肥が答えています。

  • ✓資格はゴールか、CLF の次に何から手を付けるか
  • ✓EC2 の次に作ってみる構成と、IaC・コスト管理
  • ✓実務経験ゼロでも、面接で話せる「これまで」の作り方
新卒・未経験の方へ
クラウドおさる

AWS を仕事にしたい方へ ── 新卒・未経験から

この記事を書いているのは、AWS の設計・構築を仕事にしている現役エンジニアです。運営元の株式会社ジェニュインでは、新卒・未経験の方も募集しています。異業種や文系からインフラエンジニアになり活躍しているメンバーもいます。

  • ✓システム開発・WEB エンジニア / インフラ構築などの職種で、未経験から応募できます
  • ✓未経験から入社した社員の声を含む社員アンケートを掲載
  • ✓応募フォームから 1 分で応募できます

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社ジェニュイン(https://genuine-pt.jp)の代表取締役.

2018年〜インフラエンジニアとしてキャリアをスタートし、オンプレミスのネットワーク・サーバ環境で3年半、クラウド環境で4年半の8年間エンジニアとして従事。
2021年に佐藤氏の創業した株式会社Luxyを引き継ぎ、代表に就任。
その後アガルートグループ内の株式会社ジェニュインと合併。
合併後同社代表に就任。

目次