Amazon Inspector (v2) を設定してみた

記事タイトルとURLをコピーする

コーヒーが好きな木谷映見です。
本日は Amazon Inspector v2 を設定してみましたので、その手順をご紹介します。

Amazon Inspector とは

ソフトウェアの脆弱性や意図しないネットワーク露出がないか継続的にスキャンする脆弱性管理サービスです。
Amazon EC2 と Amazon ECR にあるコンテナイメージがスキャンの対象です。

Amazon Inspector のバージョン

Amazon Inspector は re:Invent 2021 で新バージョンが GA されています。
Nov 29, 2021 AWS が継続的な脆弱性管理のための新しい Amazon Inspector を発表

AWS マネジメントコンソールで Amazon Inspector の画面に遷移すると、URL に「v2」と書かれています。本記事では主に最新バージョンである v2 を扱います。

ちなみに、Amazon Inspector の旧バージョンは「Amazon Inspector Classic」という名前で引き続き利用でき、マネジメントコンソールの「Switch to Inspector Classic」というボタンで旧バージョンに切り替えることができます。

Amazon Inspector Classic では Amazon Inspector 専用エージェントをインストールする必要がありましたが、Amazon Inspector v2 では Amazon Systems Manager (SSM) エージェントを利用して脆弱性検出をおこなうことができます。
Amazon Inspector v2 には主に以下のような特徴があります。

  • AWS Organizations と連携し、環境を一元管理
  • Amazon ECR のスキャンをサポート
  • Amazon Systems Manager (SSM) エージェントを EC2 脆弱性スキャンに使用
  • 脆弱性情報は共通脆弱性識別子 (CVE) により優先順番号が振られている
    共通脆弱性識別子CVE概説:IPA 独立行政法人 情報処理推進機構

  • スキャン結果は Amazon Security Hub、Amazon EventBridge と連携できる

Amazon Inspector の設定

今回は以下のような流れで Amazon Inspector v2 を設定し、脆弱性を検出するところまで実施します。

  1. IAM ロールの作成
  2. 脆弱性のある EC2 インスタンスの作成
  3. SSM フリートマネージャーからノードの確認
  4. Amazon Inspector v2 の有効化

今回、Amazon Inspector v2 で脆弱性の検出をさせるため、わざと古い AMI から EC2 インスタンスを起動し、キーペアなども設定しません。本記事を参考に EC2 インスタンスを起動する場合はその点を考慮したうえで実施し、実施後は速やかに EC2 インスタンスを削除してください。

IAM ロールの作成

IAM マネジメントコンソール画面に遷移し、「ロールを作成」をクリックします。

以下を選択し、次へをクリックします。

  • 信頼されたエンティティタイプ:AWS のサービス
  • ユースケース:EC2

許可ポリシーで AmazonSSMManagedInstanceCore を選択し、 EC2 インスタンスが SSM の主要機能にアクセスできるように権限を付与します。次へをクリックします。

ロール名を設定します。必要であれば説明とタグも設定して、「ロールを作成」をクリックします。

IAM ロールができました。

EC2 インスタンスの作成

Amazon Inspector で検出する EC2 インスタンスを作成します。 EC2 のマネジメントコンソール画面に遷移し、「インスタンス」画面で「インスタンスを起動」をクリックします。

Amazon Inspector で脆弱性を検出したいので、古いバージョンの AMI で EC2 インスタンスを立ち上げます。
インスタンスの名前を指定したら、「アプリケーションおよび OS イメージ (Amazon マシンイメージ)」で「その他の AMI を閲覧する」をクリックします。

コミュニティAMIで、古いバージョンのAMIを選択します。

  • AMI 名:amzn2-ami-kernel-5.10-hvm-2.0.20210813.1-x86_64-gp2
  • AMI ID:ami-03ac52de6f3a3c075

ちなみにこちらの AMI はすでに非推奨化された Amazon から配布されている AMI です。
キーペアは選択しません。キーペアなしで続行します。
脆弱ですね。

ネットワークは、インターネットから接続できる環境を設定します。
今回はデフォルト VPC のまま、パブリック IP の割り当ても有効化になっています。セキュリティグループもデフォルトのまま、SSH でどこからでも接続できる状態にします。
脆弱ですね。

ストレージ設定はデフォルトのままにします。
「高度な詳細」をクリックして展開し、「IAM インスタンスプロフィール」に、先ほど作成した IAM ロールを設定します。
設定できたら、「インスタンスを起動」をクリックし、インスタンスを起動します。

コミュニティ AMI について

EC2 インスタンス作成時に選択した AMI amzn2-ami-kernel-5.10-hvm-2.0.20210813.1-x86_64-gp2 ですが、すでに非推奨化された Amazon から配布されている AMI です。
EC2 マネジメントコンソールの AMI 画面で、検索ボックスの左で「パブリックイメージ」を選択します。 amzn2-ami-kernel-5.10-hvm-2.0.20210813.1-x86_64-gp2 の AMI ID ami-03ac52de6f3a3c075 で検索すると、AMI の詳細が確認できます。所有者のエイリアスが Amazon となっているのが分かります。 アカウント ID で検索してみますと、 Amazon公式ドキュメントが見つかります。
Amazon Linux - Amazon Elastic Compute Cloud

Systems Manager のフリートマネージャーで起動した EC2 インスタンスを確認する

EC2 インスタンスが起動できたら、AWS Systems Manager (SSM) のフリートマネージャーからインスタンスが見えるか確認します。
Amazon Inspector は SSM の情報を使うため、EC2 インスタンスに SSM Agent がインストールされていて、SSM フリートマネージャーに登録されている必要があります。
参考:Before you begin - Note the following before you enable Amazon Inspector:

SSM コンソールを開き、「フリートマネージャー」をクリックして、起動したEC2 インスタンスが登録されていることを確認します。

Amazon Inspector の有効化

EC2 インスタンスを起動したら、 Amazon Inspector v2 を有効化していきます。
初めて Amazon Inspector を利用する場合、15 日間の無料トライアル期間があります。
初めて有効化する方は次のような画面が表示されますので、「Get Started」をクリックします。

「Enable Inspector」をクリックします。

Amazon Inspector が有効化されました。
有効化してすぐは、まだ何も検出されていない状態です。

少し待つと、ダッシュボードに脆弱性が表示されます。
Environment coverage を見ると、現在の環境では EC2 インスタンスが 1 台だけ登録されており、Instances が100% になっているのが分かります。
1 件クリティカルな検出があるので、クリックしてみましょう。

「Severity(重大度)」が Critical となっている項目をクリックしますと、画面右にその脆弱性についての情報が表示されます。

タイトルに CVE 番号も表示されているため、発表されている CVE 識別子 を参考に、対策方針を検討することができます。
Amazon Security Hub を有効化すると、統合操作など不要で Amazon Inspector v2 の検出結果を一元管理することができます。

EC2 インスタンスの削除

冒頭でも述べた通り、今回起動した EC2 インスタンスは古い AMI から起動しており、そのままにしておくとセキュリティ上よくありませんので速やかに削除します。

EC2 コンソールで該当のインスタンスにチェックし、「インスタンスの状態」から「インスタンスを終了」をクリックします。

また、課金はされませんが、不要であれば作成した IAM ロールとセキュリティグループも削除してください。
IAM ロールは IAM コンソールの「ロール」から削除します。

セキュリティグループは EC2 コンソールの「セキュリティグループ」から削除します。今回はデフォルトの設定のまま作成したので、どのインスタンスにも紐づいていない「launch-wizard-1」という名前のセキュリティグループが残存しています。これを選択して削除します。

Amazon Inspector v2 の無効化

有効化した Amazon Inspector v2 は無効化することもできます。
「General」から「Disabled Inspector」をクリックします。

「disable」と入力して「Disable Inspector」をクリックすれば無効化できます。

考慮事項

Amazon Inspector v2 では Windows OS がサポートされていません。
Amazon Inspector Classic では Windows Server 2019 Base がサポートされています。

★20221004 追記
2022/9/1、Amazon Inspector v2 での Windows OS がサポートされるようにアップデートされました!
aws.amazon.com このアップデートで、Windows Server 2012、2012 R2、2016、2019、2022 がサポート対象となりました。

詳細はドキュメントをご参照ください。

Amazon Inspector v2 でサポートされているオペレーティングシステム

Amazon Inspector Classic でサポートされているオペレーティングシステム

参考

Amazon Inspector(アプリのセキュリティとコンプライアンスの改善をサポート)| AWS

GA リリースとなった Amazon Inspector の使い方をまとめました - サーバーワークスエンジニアブログ

What is Amazon Inspector? - Amazon Inspector

What is Amazon Inspector Classic? - Amazon Inspector

Amazon Inspector v2 サポート OS

Amazon Inspector Classic サポート OS

よくある質問 - Amazon Inspector | AWS

www.ipa.go.jp

cve.mitre.org

alas.aws.amazon.com

emi kitani(執筆記事の一覧)

AS部LX課。2022/2入社、コーヒーとサウナが好きです。執筆活動に興味があります。AWS認定12冠。