Amazon Inspectorで脆弱性やセキュリティベストプラクティスを手軽にチェックする

どうも、セクションナイン吉田真吾@yoshidashingo)です。

Amazonの脆弱性診断サービス「Amazon Inspector」がGenerally Available(一般提供開始)したので試してみます。

はじめに

  • Amazon InspectorはEC2の脆弱性を自動診断するサービス。CVEやAWSのベストプラクティスに対応した診断テンプレートから選択して定期実行する
  • 診断対象のホストにはあらかじめエージェント(AWS Agents)をインストールしておく必要があり、東京リージョンを含む4リージョンの主要なOSをサポートしています。

参考リンク:Amazon Inspector

  • 料金は1ホストへの1定義による1回のチェックを1エージェント評価と換算し、1エージェント評価あたり0.30USD〜0.05USDまで回数に応じて安くなっていきます。

参考リンク:料金 - Amazon Inspector | AWS

実行方法

(1)対象ホストへのエージェントのインストール(Linux版)

$ curl -O https://d1wk0tztpsntt1.cloudfront.net/linux/latest/install
$ chmod 777 install
$ sudo ./install
(中略)
**************************************************
                  FINISH PHASE
**************************************************
(中略)
$ 

参考リンク:Amazon Inspector

※ちなみにWindows Server版もベータ版として提供されていますが、2008R2, 2012のみで2012R2にはまだのようです。

f:id:yoshidashingo:20160502141959p:plain

(2)Amazon Inspectorサービスロールを作成する

f:id:yoshidashingo:20160502142146p:plain

(3)評価ターゲットの定義

  • 対象のインスタンスを決定するためのタグの条件を設定します。ここではキー=inspector、値=onとなっているインスタンスを対象にしています。

f:id:yoshidashingo:20160502162649p:plain

(4)評価テンプレートの定義

  • ルールパッケージと所要時間を設定して実行

f:id:yoshidashingo:20160502181114p:plain

(5)結果表示

しばらくすると「結果」ペインやダッシュボードに結果が表示され、対策を施すべき項目があれば表示されます。

f:id:yoshidashingo:20160502181347p:plain

たとえば今回であれば、ルールパッケージ「Security Best Practices-1.0」において、インスタンスにリモートSSHでrootユーザーログインできてしまう点が指摘されました。rootユーザーのリモートログインを禁止し、必要に応じてroot以外のユーザーでログインし、sudoで許可されたコマンドが実行できるようにしておくようにしましょうとのこと。さいわい脆弱性(CVE-XXXにあたる)パッケージは入ってなかったようです。

f:id:yoshidashingo:20160502181900p:plain

最後に

ルールパッケージ自体をAWSが管理してくれるため、サービス上で評価実施できる点が非常に簡単でよいです。 あとは、サーバーの構築時にエージェントを配布しておけば、大量にサーバーを抱えていても、パッケージのバージョン管理一覧の実態調査などで無駄に消耗したり、Excelと格闘する必要もなくなりそうです。

今後のルールパッケージの追加やアップデートにも期待が高まります。