【Security Hub修復手順】[IAM.3] IAM ユーザーのアクセスキーは 90 日以内にローテーションする必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。
2024.03.22

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。

本記事の対象コントロール

[IAM.3] IAM ユーザーのアクセスキーは 90 日以内にローテーションする必要があります

[IAM.3] IAM users' access keys should be rotated every 90 days or less

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容です。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。

コントロールの説明

このコントロールは、IAMユーザーのアクティブなアクセスキーが90日以内に適切にローテーション(更新)されているかを確認します。

アクティブなアクセスキーが作成日から90日以上経過した場合、コントロールは失敗します。

アクセスキーをローテーション(更新)またはアクセスキーを無効、もしくは削除すると、コントロールは成功します。

IAMユーザーのアクセスキーを定期的にローテーションすることで、アクセスキーが漏洩した場合の被害を最小限に抑えることができます。

ただし、一部のスクリプトやバッチ処理などで、アクセスキーが埋め込まれている場合は、ローテーションが難しい場合があります。その際は'抑制済み'とするなど適切な対処が必要です。

ちなみに、IAMユーザーのアクセスキーは基本的に作成せず、代わりにIAMロールやフェデレーションを使うことがAWSの推奨です。 AWSリソースの実行権限はIAMロールで行うべきです。 ユーザーのAWS実行(AWS CLIなど) も SAMLを利用したアクセス許可が望ましいです。

修正手順

1 対象のリソースの確認方法

  1. AWSマネージメントコンソールにログインし、AWS 基礎セキュリティのベストプラクティス v1.0.0にて、「IAM.3」を検索します。タイトルを選択します。
  2. リソースの欄から失敗しているリソースを確認できます。

2 ステークホルダーに確認

ステークホルダー(リソースの作成者や管理している部署などの関係者)に以下の条件を満たせているか確認します。

  • アクセスキーをローテーションしてよいか確認する
    • ローテーションもしくは無効化できない場合、ステータスを抑制済みとする。

3 アクセスキーをローテーション

次に、アクセスキーのローテーション手順を説明します。ここでは、アプリケーションにアクセスキーが埋め込まれている場合を想定しています。アプリケーションによっては手順が異なる可能性もありますので、あくまでも一例とお考え下さい。

  1. IAMのコンソール画面から、対象のIAMユーザーを選択します。
  2. [セキュリティ認証情報]タブの[アクセスキー]欄から[アクセスキーを作成]をクリックします。
  3. 2つ目のアクセスキーを作成後、アプリケーションに設定されたアクセスキーを新しいアクセスキーに更新します。
  4. アプリケーションが機能しているか確認します。確認後、[前回使用]を確認して、古いアクセスキーが使用中かどうかを確認します。場合によっては、数日間待ってから古いアクセスキーが使用されているかどうかを確認するとよいです。
  5. [前回使用]の情報で、古いキーが使用された形跡がないことを示していても、古いアクセスキーはすぐには削除しないことをお勧めします。代わりに、[アクション]から[無効化]をクリックし、古いアクセスキーを無効化します。この時点で、古いアクセスキーがまだ使用されている場合、AWS リソースへアクセスできないため、アプリケーションの機能は停止します。
  6. アプリケーションが機能しているかどうかを確認します。
  7. 一定期間後、アプリケーションが機能し、古いアクセスキーが利用されていないことが確認できれば、古いアクセスキーを削除します。

これでアクセスキーのローテーションは完了です。

今回は、マネジメントコンソール上でのローテーション手順を解説しました。AWS CLIやAWS APIによるアクセスキーのローテーションは、以下のドキュメントをご参考ください。

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。

以上、平井でした!