【Security Hub修復手順】[IAM.4] IAM ルートユーザーアクセスキーが存在してはいけません

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。ルートユーザーのアクセスキー漏洩は想像し得るID漏洩の中でもトップクラスの危険性です!個人のアカウントでも組織のアカウントでも絶対に放置するべきではありません!
2023.03.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。

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

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

なお、今回紹介する「ルートユーザーのアクセスキーを発行した状態」は非常に危険です。後回しにせず優先して対応することを強く推奨します。

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

[IAM.4]IAM ルートユーザーアクセスキーが存在してはいけません

[IAM.4] IAM root user access key should not exist

前提条件

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

対象コントロールの説明

今回のコントロールは「IAM ルートユーザーアクセスキーが存在してはいけません」です。

ルートユーザーはIAMで作成したユーザーとは異なり、AWSアカウント作成時に利用したメールアドレス・パスワードなどの認証情報を利用してログインできます。

また、アクセキーは主にプログラムなどにAWS上のリソースへの操作権限を与えるために利用されます。

アクセスキーは発行したユーザーの権限に応じて、アクセスできるリソースの範囲が決まります。

ルートユーザーはあらゆる操作が可能な非常に強力な権限を持っているため絶対に普段使いに利用するべきではありません。

特にルートユーザーのアクセスキーが漏洩してしまった場合、想像もできないような被害が想定されます。(個人でもルートユーザーの権限漏洩に伴う不正利用により1,000万円近くの請求をされたケースもあります)

ルートユーザーのアクセスキー漏洩による危険性などは以下ブログをご参照ください。

修正手順

以下フローに従って対応してください。

20230227_iam4_flow

以下手順を可能な限りすばやくご対応ください。

1 アクセスキーの利用箇所・利用者を特定

以下ブログの「アクセスキーの利用箇所を特定するため役に立つサービス」を参考に、利用の用途・利用者を特定しましょう。

2.1 IAMロールの権限を利用(IAMロールに置き換え可能な場合)

以下のようなユースケースの場合、IAMロールを作成してよりセキュアに権限を行使できます。

  • 利用箇所がAWS上のリソースであった
    • Amazon EC2のインスタンス
    • Amazon ECSのタスク
    • AWS Lambda
  • IAMユーザーが一時的に権限を行使できれば良い

AWS上のリソースである場合、設定方法がサービスによって異なるためここですべてを明記できませんが、たとえばEC2の場合既存のEC2インスタンスに対してもIAMロールの設定が可能です。

その他、Lambdaの場合など簡単に設定ができますので、ご検討ください。

置き換えの際は、過大な権限は与えずに必要最小限のIAMポリシーをアタッチすることをご検討ください。

特定のサービスの権限に絞るだけでもかなり被害範囲が小さくなると思いますので、AWSから提供されているAWSマネージドポリシーを利用するのも良いかと思います。

2.2 IAMユーザーのアクセスキー発行(IAMロールに置き換えできない場合)

以下のような理由でIAMロールの権限を利用できない場合、こちらの記事のrootユーザアクセスキーからIAMユーザアクセスキーへを参考にIAMユーザーのアクセスキーの利用を検討してください。

  • 業務上AWS上のリソースからではなく、オンプレミスのサーバーからアクセスが必要
    • 既存システムとの連携の兼ね合いなど
    • Amazon EC2などへの移行も困難
    • その他IDプロバイダによる権限付与も不可

こちらにおいても、IAMユーザーに付与するIAMポリシーは必要最小限のものとしましょう!

3 ルートユーザーのアクセスキー削除

2.1または2.2の対応が完了したら、最後にルートユーザーのアクセスキーの無効化・削除の対応が必要です。

ルートユーザーでログインした後、画面右上のユーザー名が表示されている箇所をクリックすることで以下のメニューが表示されるため、「セキュリティ認証情報」をクリックします。

20230301_securityhub_iam4_my_security_info

「アクセスキー」のブロックで表示されているアクセスキーを選択肢、「無効化」を選択することでアクセスキーを無効にできます。

まずは無効化した後に、ワークロードに異常をきたさないことを確認したのち「削除」をしましょう。

20220301_securityhub_iam4_disable

最後に

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

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

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

以上、今泉でした!