概要
EC2 インスタンスやコンテナイメージに脆弱性が残ったまま運用していると、攻撃者に悪用されるリスクがあります。しかし、運用中のリソースの脆弱性を手動で調査・管理するのは現実的ではなく、見落としも発生しやすくなります。
Amazon Inspector は、EC2 インスタンス、コンテナイメージ(Amazon ECR)、Lambda 関数を自動的にスキャンし、ソフトウェアの脆弱性やネットワーク到達性の問題を検出するマネージドサービスです。有効化するだけで継続的にスキャンが実行され、新しい脆弱性(CVE)が公開されるたびに対象リソースが再評価されます。
本記事では、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 | インターネットからの到達可能なポートやネットワーク経路 |





中身の弱点だけでなく、外から入り込めるかまで見るのでござるな。猿山でいえば、倉庫の錠前が古くないかを調べる係と、柵の破れ目から倉庫まで歩いて行けるかを調べる係、二手に分かれて見回るようなものでござる。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 スコアに、自分の環境ならではの事情が上乗せされるのでござるな。検出結果には、具体的にどんな情報が入っているでござるか?
検出結果にはこういった情報が含まれるよ。
| 要素 | 説明 |
|---|---|
| 脆弱性 ID | CVE 番号(例: CVE-2023-12345) |
| 影響を受けるリソース | EC2 インスタンス ID、ECR リポジトリ名、Lambda 関数名 |
| 影響を受けるパッケージ | 脆弱性のあるパッケージ名とバージョン |
| 修正バージョン | 脆弱性が修正されたパッケージバージョン |
| Inspector スコア | 独自の重要度スコア |
| CVSS スコア | 業界標準の脆弱性スコア |



修正バージョンまで教えてくれるのでござるか!それは助かるでござる。
便利だよね。しかも Inspector は一度スキャンして終わりじゃなくて、継続的にスキャンしてくれるんだ。以下のイベントをトリガーに自動で再スキャンが走るよ。
- 新しい EC2 インスタンスの起動
- 新しいコンテナイメージの ECR へのプッシュ
- EC2 インスタンスへの新しいパッケージのインストール
- 新しい CVE の公開



新しい CVE が公開されたときにも再スキャンされる、と。猿山の見張り番も、隣の山で泥棒の新しい手口が見つかったら、その晩のうちに倉庫を見回り直すのでござる。常に最新の目で見てくれるのは心強いでござるな。
実践
前提条件
- リージョン:
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 の開始画面が表示されます。「使用を開始する」をクリックします。


「Inspector をアクティブ化」の画面で、「このアカウントをアクティブにする」をクリックします。EC2・ECR・Lambda 標準・コードリポジトリのスキャンがまとめて有効になり、15 日間の無料トライアルが始まります。
AWS Organizations の管理アカウントで開いた場合は、委任管理者や委任ポリシーを設定する欄も表示されます。単独のアカウントで試す場合は、そのまま「このアカウントをアクティブにする」をクリックします。
有効化が完了すると、Amazon 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 スコア


ステップ5: 検出結果のフィルタリング
さらに重大性で絞り込みます。
- 「フィルターを追加」で「重大性」を選択します
- 値の一覧から
Highにチェックを入れ、「Apply」をクリックします(複数の重大性をまとめて選ぶこともできます)
「リソースタイプ」(AWS_EC2_INSTANCE など)で絞り込むこともできます。


ステップ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 の公開をトリガーに自動で再スキャンが実行される
- 検出結果にはパッケージの修正バージョンや更新コマンドなどの具体的な修復方法が含まれる
参照先
- Amazon Inspector とは
- Amazon Inspector の開始方法
- Amazon Inspector の検出結果について
- Amazon Inspector の検出結果の重要度レベルについて
- Amazon Inspector を使用した Amazon EC2 インスタンスのスキャン
- Amazon Inspector スコアと脆弱性インテリジェンスについて
- Amazon Inspector でサポートされているオペレーティングシステム
- Amazon Inspector のダッシュボード











