先日開催されたAWS ReinventのUpdateでAmazonInspectorによるEC2の脆弱性診断について気になったので検証してみました。
Amazon Inspectorの刷新
Amazon Inspectorとは
Amazon InspectorはEC2やECRの脆弱性およびを診断することができます。
CommonVulnerness and Exposures(共通脆弱性識別子)CVEで始まるソフトウェアの脆弱性情報を提供します。
この機能を使用することで導入しているソフトウェアにどんな脆弱性があるか知ることができます。
Amazon Inspectorには通常版とClassic版の2種類があり、通常版では今のところWindowsOSをサポートしていません。
通常版
Classic版
通常版とClassicの大きな違いとしては、
EC2の脆弱性診断をする際に必要なAgentが異なり、それぞれ以下のAgentが必要です。
通常版:SSMAgent(最近のAMIにはほとんどデフォルトでインストールされています)
Classic版:Inspector Agent
SSMAgentを使用する際はssmのapiに接続できる必要がありますので、
プライベートサブネットから接続する際はNATゲートウェイからインターネットゲートウェイ経由で抜けるか、SSMエンドポイントを設置して抜けるか、ネットワーク側の考慮も必要ですのでご注意ください。
Amazon Inspector(通常版)で診断してみた。
さっそく診断してみましょう。Amazon Inspectorを使用する際は最初に有効にする必要があります。
またリージョナルサービスなので、複数のリージョンでEC2を利用している場合などは各リージョンで有効化する必要があります。
今回はRedHatとWindowsをそれぞれ1台用意して診断していますが、
通常版ではWindowsをサポートしていないため、statusがUnsupported OSと表示されます。
続いて脆弱性ごとの一覧です。CVEごとにCritical、Highで分類されています。
一番上の脆弱性をクリックしてみるとCVEの内容と対応方法が記載されています。
まとめ
思っていたよりも簡単にEC2内部の脆弱性も診断できることがわかりました。セキュリティグループでフルオープンなルールがないかやS3のパブリック公開がオフになっているかなどAWS側のセキュリティ設定も重要ですが、アプリケーションそのものが動いているのはEC2内部ですのでクラウド側の設定とOS内部の設定両方に注意していく必要があります。本サービスはクラウドサービス利用のお供として導入すべきサービスだと感じました。