コンテンツにスキップ

SSM連携パッケージアップデート#

FutureVuls と連携設定すると SSM(AWS Systems Manager)経由で EC2のパッケージアップデートができるようになります。 タスク単位で FutureVuls の画面からアップデート可能です。

対象環境

Vulsスキャン」で FutureVuls に登録されたサーバのみ対象です。

対象OSは「対応環境」をご参照ください。

アップデートの設定#

事前に「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 経由パッケージアップデートの「設定」ボタンをクリックします

image

表示されるコマンドを無視して「次へ」ボタンを押します

SSM 経由パッケージアップデートが「設定済」になっていれば設定は完了です。エラーが表示される場合は、以下の手順に従って設定してください。

SSMドキュメントを作成する環境を準備#

FutureVuls が SSM を使って EC2インスタンスの OS パッケージをアップデートするために、まず SSM ドキュメントを作成する環境を準備します。

  • ヘルプ」を参考に、任意の環境で AWS CLI をインストールします。
  • 上記環境で createDocumentdeleteDocument アクションを実行できるようにします。
    • 対象の AWS アカウントで上記アクションの権限をもつユーザで認証して操作する。(参考
    • もしくは、対象の AWS アカウント内の EC2インスタンスにこれらのポリシーを付与する。

SSMドキュメントを作成#

FutureVuls コンソールで グループ設定 > 外部連携 > AWS に移動し、SSM 経由パッケージアップデートの「設定」ボタンをクリックします。

image

表示されたコマンドを上記の準備した環境で実行します。

image

実行後、「次へ」ボタンを押します。SSM 経由パッケージアップデートが「設定済」になっていれば設定は完了です。

image

SSMとの自動連携#

上記の SSM 連携の設定後に、対象のサーバでスキャナが実行されると、各サーバが SSM 連携可能かどうかの情報が FutureVuls に取り込まれます。 サーバリストの SSM連携 カラムが以下のように になっていれば設定完了です。

image

AWS 連携の設定後に SSM で管理するサーバを追加した場合は、スキャンのタイミングで FutureVuls に自動連携されます。

アップデートの実行#

タスクタブ、または サーバタブ > 脆弱性×タスクタブ から、パッケージアップデートをしたいタスクを選択し、「SSM アップデート」ボタンをクリックします。

image

対象のサーバ、パッケージと実行されるコマンドを確認します。

image

  • DRY RUN モードで「OK」ボタンを押すとテストアップデートが実行される。結果は AWSタブ > SSMコマンド履歴 から確認できます。
  • SSM コマンドの実行履歴や実行ステータスは AWSタブ > SSMコマンド履歴 から確認できます。
  • SSM パッケージアップデート実行に関するステータスの種類は以下の通りです。

    • RUNNING : テストアップデートの実行中です。
    • READY : 依存関係の解消が確認でき、実際のアップデートが実行可能です。
    • SUCCESS :実際にアップデートが完了しました。
    • ERROR : テストアップデートなどに失敗しました。

    image

テストアップデート完了後にステータスが READY になっているタスクは、テスト実行結果の画面から実際にアップデートが可能です。

実行時に新たな SSM コマンドが発行され、アップデートに成功した場合はステータスが SUCCESS になります。

image

アップデートに失敗した場合#

SSM コマンド詳細履歴に、次のような ERROR MESSAGE が表示された場合は、以下の手順に従って結果を確認してください。

failed-ssm

  • エラー原因詳細の確認方法
    • 対象の AWS アカウントにログインして AWS Systems Manager > Run Command > コマンド履歴 へと移動する
    • コマンド履歴画面で コマンドID を検索する