はじめに
Amazon Inspector で マネージメントコンソールから定期的な評価のスケジュールと
エージェントのインストールが実行できるようになりました。
Amazon Inspector Adds the Ability to Schedule Recurring Assessment Runs and Install the Agent from the Console
https://aws.amazon.com/jp/about-aws/whats-new/2018/04/amazon-inspector-adds-the-ability-to-schedule-recurring-assessment-runs-and-install-the-agent-from-the-console/
こちらを実際に試してみたいと思います。
事前準備
検証用EC2の準備
あらかじめ Nameタグに Inspector-test を設定した
検証用の Amazon Linux EC2 インスタンスを起動しておきます。
注意点として、Inspector コンソールでのエージェントインストールについて
実際には AWS Systems Manager の Run Command が実行されています。
そのため、対象の EC2 には SSM Agent がインストールされ、AmazonEC2RoleforSSM ポリシーが
アタッチされたIAMロールが設定されている必要があります。
本記事では手順を割愛しますが、詳細な手順は以下のドキュメントをご参照ください。
Systems Manager のアクセス設定
タスク 2: Systems Manager のインスタンスプロファイルロールの作成
タスク 3: Systems Manager ロールを使用する Amazon EC2 インスタンスを作成する
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-access.html#sysman-configuring-access-role
SSM エージェント をインストールし設定する
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/ssm-agent.html
SSM Agent は Amazon Linux および Windows ではデフォルトでインストールされていますが、
他の OS の AMI を使用している場合は手動でインストールが必要です。
Inspectorの初期設定
Amazon Inspector コンソールから以下の手順で初期設定を行います。
ステップ1 前提条件
ここでは何もせず、続行します。
ステップ2 評価ターゲットの定義
あらかじめ起動しておいた EC2 に設定した Name タグの情報を入力します。
5/25 追記
これまで評価ターゲットの設定はタグによる絞り込みが必要でしたが、最近のアップデートにより
リージョン内の全てのEC2を対象に設定することができるようになりました。
https://aws.amazon.com/jp/about-aws/whats-new/2018/05/amazon-inspector-adds-ability-to-run-security-assessments-on-amazon-ec2-instances-without-adding-tags/
Include all EC2 instances in this AWS account and region にチェックを入れるだけです!
ただしサービスの制限値の影響は変わら受けるようです。
https://docs.aws.amazon.com/ja_jp/inspector/latest/userguide/inspector_limits.html
ステップ3 評価テンプレートの定義
テンプレートの名前は任意です。
ここでは、ルールパッケージは、Common Vulnerabilities and Exposures-1.1 を選択し、
所要時間をデフォルトの1時間から15分に変更しています。
ステップ4 確認
エージントのインストールに関するメッセージが出力されますが、後ほど実行するため
ここではそのまま作成を行います。
Inspector コンソールからのエージェントインストール
作成された評価ターゲットから Preview Target を選択するとエージェントステータスが確認できます。
インストール未実施のため、ステータスが UNKNOWN となっています。
Install Agents with Run Command を実行するとターゲットとして登録されているインスタンスに対して
エージェントのインストールを実行できます。
SSM Agent のインストールとコマンド実行の権限に関する確認メッセージが出力されますが、
今回は事前準備で設定を行っているため、OKを押して実行します。
SUCCESS メッセージが出力されることを確認します。
注意点としては SSM Agent と IAM ロールの設定が正常に行われていない場合でも、以下の画像の2行目
のように Run Command のターゲット件数が0件で正常終了するため、SUCCESSが表示されます。
AWS Systems Manager コンソールの Run Command の実行履歴を確認して、
対象のインスタンスに確実にインストールが行われていることを確認します。
インストール後に Preview Target からエージェントのステータスを確認すると
HEALTHY となっているはずです。
定期的な評価の実行をスケジュールする
作成された評価テンプレートを確認します。
初期設定ではSNS Topicの設定が行われないため、必要に応じてイベントの通知先のTopicを設定します。
Add schedule を選択することによって、評価の定期実行をスケジュールできます。
デフォルトでは7日毎の実行がスケジュールされ、初回の実行は即時行われます。
Add Schedule 選択すると、以下のように Scheduled Event が 登録されます。
評価の定期実行は、実際には CloudWatch Events によってスケジュールされています。
CloudWatch コンソールのイベントルールで対象のルールを確認できます。
ルールの詳細を確認すると 対象の評価テンプレートに対して 7日毎の評価実行が
スケジュールされていることがわかります。
評価の実行では、初回の評価が実行中であることが確認できます。
今回の設定では15分後にデータの収集が完了します。
ちなみに今回の評価結果では、重要度 Low の openssl の脆弱性(CVE-2018-0737)が1件検出されました。
さいごに
Inspector コンソールからのエージントのインストールと
評価の定期実行スケジュールを設定する方法を確認しました。
これまでも AWS Systems Manager や CloudWatch Events で 設定できた内容だと思いますが、
Inspector コンソールからワンクリックで実行、設定できるようになったのは便利ですね。
参考になれば幸いです。