SSM連携パッケージアップデート#
FutureVulsと連携設定するとSSM(AWS Systems Manager)経由でEC2のパッケージアップデートができるようになります。 タスク単位でFutureVulsの画面からアップデート可能です。
アップデートの設定#
事前に「AWS認証設定」を完了させてください。
AWS EC2インスタンスに対する設定#
SSM連携したい各EC2インスタンスに対してこの操作をする必要があります。
ロールの作成と付与#
AmazonSSMManagedInstanceCore
のポリシーが付与されたIAMロールを作成します。(参考)- 作成したIAMロールを対象のEC2インスタンスに付与します
SSMエージェントの設定と登録#
対象のAWS環境に合わせてSSMエージェントをインストールします。(Amazon Linuxの場合は sudo yum -y install amazon-ssm-agent
など)(参考)
SSMの登録確認#
AWSの Systems Manager > フリートマネージャー > マネージドノード
に上記のインスタンスが登録されていることを確認します。
AWSアカウントに対する設定#
SSM連携したいEC2があるAWSアカウントに対して行う必要がある設定です。
FutureVuls連携設定が完了しているか確認する#
既に他のグループのSSM連携等で設定済みの場合は、簡単に連携できます。
FutureVulsコンソールで グループ設定 > 外部連携 > AWS
に移動し、SSM経由パッケージアップデートの「設定」ボタンをクリックします
表示されるコマンドを無視して「次へ」ボタンを押します
SSM経由パッケージアップデートが「設定済」になっていれば設定は完了です。エラーが表示される場合は、以下の手順に従って設定してください。
SSMドキュメントを作成する環境を準備#
FutureVulsがSSMを使ってEC2インスタンスのOSパッケージをアップデートするために、まずSSMドキュメントを作成する環境を準備します。
- 「ヘルプ」を参考に、任意の環境でAWS CLIをインストールします。
- 上記環境で
createDocument
、deleteDocument
アクションを実行できるようにします。- 対象のAWSアカウントで上記アクションの権限をもつユーザで認証して操作する。(参考)
- もしくは、対象のAWSアカウント内のEC2インスタンスにこれらのポリシーを付与する。
SSMドキュメントを作成#
FutureVulsコンソールで グループ設定 > 外部連携 > AWS
に移動し、SSM経由パッケージアップデートの「設定」ボタンをクリックします。
表示されたコマンドを上記の準備した環境で実行します。
実行後、「次へ」ボタンを押します。SSM経由パッケージアップデートが「設定済」になっていれば設定は完了です。
SSMとの自動連携#
上記のSSM連携の設定後に、対象のサーバでスキャナが実行されると、各サーバがSSM連携可能かどうかの情報がFutureVulsに取り込まれます。
サーバリストの SSM連携
カラムが以下のように ✓
になっていれば設定完了です。
AWS連携の設定後にSSMで管理するサーバを追加した場合は、スキャンのタイミングでFutureVulsに自動連携されます。
アップデートの実行#
タスクタブ
、または サーバタブ > 脆弱性×タスクタブ
から、パッケージアップデートをしたいタスクを選択し、「SSMアップデート」ボタンをクリックします。
対象のサーバ、パッケージと実行されるコマンドを確認します。
DRY RUN
モードで「OK」ボタンを押すとテストアップデートが実行される。結果はAWSタブ > SSMコマンド履歴
から確認できます。- SSMコマンドの実行履歴や実行ステータスは
AWSタブ > SSMコマンド履歴
から確認できます。 -
SSMパッケージアップデート実行に関するステータスの種類は以下の通りです。
- RUNNING : テストアップデートの実行中です。
- READY : 依存関係の解消が確認でき、実際のアップデートが実行可能です。
- SUCCESS :実際にアップデートが完了しました。
- ERROR : テストアップデートなどに失敗しました。
テストアップデート完了後にステータスが READY
になっているタスクは、テスト実行結果の画面から実際にアップデートが可能です。
実行時に新たなSSMコマンドが発行され、アップデートに成功した場合はステータスが SUCCESS
になります。
アップデートに失敗した場合#
SSMコマンド詳細履歴に、次のような ERROR MESSAGE が表示された場合は、以下の手順に従って結果を確認してください。
- エラー原因詳細の確認方法
- 対象のAWSアカウントにログインして
AWS Systems Manager > Run Command > コマンド履歴
へと移動する - コマンド履歴画面で
コマンドID
を検索する
- 対象のAWSアカウントにログインして