Amazon Inspector v2でEC2インスタンスの脆弱性スキャンを実施する方法

目次

手順の概要

  1. Inspectorの有効化
  2. マネージドインスタンス化
  3. 脆弱性情報の確認
  4. 注意事項など

実行環境

OSについては執筆時点で下記のみが対象となっています。
https://docs.aws.amazon.com/ja_jp/inspector/latest/user/supported.html

対象のOSが比較的新しめのLinuxばかりのため、Windowsや古いLinuxをご利用の場合、Inspector v2は対応していません。
Classicであれば対応していますので、Classicをご検討下さい。

手順

Inspectorの有効化

AWSマネジメントコンソールにログインし、Inspectorの画面に遷移します。
有効化をしていない場合は、下のような画面が表示されるはずです。
※Inspectorはリージョナルサービスのため、必ずInspectorを動かしたいリージョンにいることを確認してください。

赤枠で囲んでいますが、「Enable Inspector」をクリックすると、自動でInspectorが有効化されます。

※複数リージョンで利用する場合はSecurity Hubを併用すると便利です。
自動で連携されているため、Security Hubを有効化するだけで、Inspectorの通知をSecurityHubで確認できます。

有効化が終わると、次のような画面に遷移します、赤枠で囲んでいる部分が、EC2やECRの情報です。
今有効化したリージョンでは、EC2などを動かしていないため表示されていませんので、試しにEC2を一台起動してみます。

今回は検証のため、Amazon Linux2のEC2を1台だけ起動してみました。

下図のように赤枠の中が変わりました。
このリージョンには1台のEC2があり、そのうち0台がスキャンの対象になっている、という意味です。
スキャンの対象になっていないのは、EC2がマネージドインスタンス化されていないからです。
以前のInspector(今はClassicという名前ですが)では、専用のエージェントをインストールしていましたが、Inspector v2ではSSM Agentを利用してスキャンがされるようになりました。
大きく改善されたと思います。

マネージドインスタンス化

起動したEC2をマネージドインスタンス化します。
「AmazonSSMManagedInstanceCore」をEC2のロールに紐づけただけです。
しばらくするとInspectorがEC2をスキャン対象にしたことがわかります。

脆弱性情報の確認

赤枠で囲んでいるところが脆弱性情報の確認部分です。

まずは、By vulnerabilityをクリックしてみます。
CVEの脆弱性情報がちゃんと出ていますね。今回はEC2を立ち上げただけのものをスキャンしているため、大した数は出ていません。

たどっていくと、CVEの情報を見ることができます。

Insepctor Scoreがこちらです。実際にネットワークの到達性も確認しているため、ネットワーク経由での侵入が難しい場合などはCVEの値より低く出す場合があります。
実際の環境に沿った値が出るため、非常に心強いと感じます。

次はBy instanceをクリックしてみます。

さらに進むと、詳細情報が表示されます。複数のEC2を管理している場合など便利ですね。

Suppression rules

Suppression rulesについて解説してみたいと思います。
これはコントロールパネルに表示される脆弱性のうち、不要なものを非表示にする機能です。
例えば重要度が低いものから、Low,Medium,High,Criticalと4段階に分かれていますが、Medium以下のものについては確認しなくてもいいというケースがあると思いますが、そのような場合に便利な機能です。
左にあるSuppression rulesをクリックすると、下のような画面に遷移します。
まだ何も設定していないため、当然ですが何もありません。

「Create rule」をクリックしてみます。非常に多くの条件フィルターがあるので、ニーズに応じた設定が可能かと思います。


今回はMedium,Lowを除外してみました。

コンソールに戻ると、先ほど表示されていた脆弱性情報が消えています。Medium以下の脆弱性だったので、Suppression rulesによって抑制された結果です。

もちろん先ほどの画像のように、Suppression rulesに移動することで、抑制された脆弱性の確認もすることが可能です。
フィルターがかなりの数用意されているため、使い方次第でいろいろできると思います。

その他

他にもさまざま機能があるので簡単に紹介していきます。
無効化については、「general」から無効化することができます。

利用料金については、Usageから簡単に確認することができます。今回は無料枠での検証のため、費用が0$となっています。

まとめ・注意事項

ここまでInspectorの使い方を見てきましたので、注意事項について記載します。

  1. EC2毎にInspectorのON/OFF設定が行えない
    Inspectorを有効化したリージョンにあるEC2はすべてスキャンの対象になります。
    脆弱性のスキャンにはマネージドインスタンス化が必要なため、IAMroleなどを変更することで、スキャンの必要がないインスタンスをある程度除外することができます。

  2. スキャンのタイミング
    Inspector v2では、次のタイミングでスキャンが行われます。

  • EC2 インスタンスが Amazon Inspector によって検出されると即時
  • 新しいインスタンスを開始した際
  • 既存のインスタンスに新しいソフトウェアがインストールされた場合
  • Amazon Inspector がデータベースに新しい一般的な脆弱性および例外 (CVE) 項目を追加したとき

「新しいソフトウェアをインストールする場合」ですが、yumやaptを利用したパッケージインストールが対象となります。
makeは対象外のようですのでご注意ください。
毎日自動的にスキャンを走らせるなどの対応はできませんが、コスト的にも優れ、コントロールパネルもかなり見やすくなっており、非常に有用なサービスと感じました。
https://docs.aws.amazon.com/inspector/latest/user/enable-disable-scanning-ec2.html
※ネットワーク到達性は日本語のドキュメントでは見つけられませんでしたが、上記の通り24時間に1回スキャンが行われます。

Amazon Inspector 導入を検討、お困りのお客様、是非スカイアーチネットワークスまでご相談ください。

投稿者プロフィール

takeshige
そろそろGCPに手を出したい