Amazon Inspector でインスタンスとコンテナの脆弱性をスキャンする
記事の「実践」を 1 項目ずつ進めるためのページです。AWS マネジメントコンソールで操作したら、右の一覧にチェックを入れてください。チェックはこのブラウザに保存されます。
前提条件
- リージョン:
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 日間の無料トライアルが始まります。
> [!NOTE] > AWS Organizations の管理アカウントで開いた場合は、委任管理者や委任ポリシーを設定する欄も表示されます。単独のアカウントで試す場合は、そのまま「このアカウントをアクティブにする」をクリックします。
有効化が完了すると、Amazon Inspector のダッシュボード(「概要」)に遷移します。
ステップ2: ダッシュボードの確認
ダッシュボードには、環境全体のセキュリティ状況が表示されます。以下の情報を確認します。
- 環境カバレッジ: 仮想マシン・コンテナリポジトリ・サーバーレス関数・コードリポジトリごとの、スキャン対象になっているリソースの割合
- 緊急の検出結果: リソースの種類ごとの検出結果の件数(「緊急 / 高 / 中 / Low」で切り替え)
有効化した直後は、inspector-lab-instance がまだスキャンされていないため、仮想マシンのカバレッジは 0% です。インスタンスが Systems Manager に登録されると、スキャンが始まります。今回は 5 分ほどで EC2 の検出結果が出始めました。
ステップ3: アカウントカバレッジの確認
左側ナビゲーションの「設定」→「アカウントカバレッジ」を選択します。
現在のアカウントでどのスキャンタイプが有効になっているかを確認できます。Amazon EC2 スキャン・Amazon ECR スキャン・AWS Lambda スキャン・コードリポジトリスキャンの列が、それぞれ Activated になっています。
スキャンタイプごとに有効・無効を切り替えることもできます。
ステップ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 パッケージ名 などで修正済みバージョンに上げることで、脆弱性を解消できます。
ステップ7: 仮想マシン別の検出結果の確認
「検出結果」画面の「仮想マシン別」タブを選択します。
インスタンスごとに、重大性別の検出結果の件数がまとめて表示されます。最も緊急の検出結果があるインスタンスから順に並ぶので、どのインスタンスから手を付けるべきかが分かります。同じように「脆弱性」タブでは、CVE ごとにまとめた一覧を確認できます。