はじめに

AWSのマネジメントコンソールログイン連続失敗時のアカウントロックの実現方法について、ご紹介いたします。

本エントリーは、以下の第三回目となります。

AWSマネジメントコンソールログイン時のアカウントロック実現方法#1 | iret.media

【PCI DSS要件】AWSマネジメントコンソールログイン時のアカウントロック実現方法#2

マネジメントコンソールログイン連続失敗時のアカウントロックの実現案としては、以下の方法があります。

  1. AWS Directory Serviceによるアカウントロック機能の実装
  2. ADFS +AWS Directory Serviceを利用した方法
  3. CloudTrail +Lambda +DynamoDB +CloudWatchを利用した方法

前回までの第一回、第二回は、1.AWS Directory Serviceによるアカウントロック機能の実装、2.ADFS +AWS Directory Serviceを利用した方法についてご紹介いたしました。

今回は、3.CloudTrail +Lambda +DynamoDB +CloudWatchを利用した方法を利用した方法についてご紹介いたします。

3.CloudTrail +Lambda +DynamoDB +CloudWatchを利用した方法

以下のとおり設定を行います。

  • CloudTrail でコンソールログインの成功/失敗ログを収集
  • CloudWatchEventsのルールで CloudTrail ログをトリガーに Lambda を実行
  • Lambda 関数でログイン失敗イベントを DynamoDB のテーブルに書き込み
  • 同じ Lambda 関数か別の関数で、DynamoDB テーブルから一定期間内のログイン失敗回数を取得
  • 閾値を超えていたら IAM のコンソールログイン制限を設定する Lambda 関数を実行
    • DeleteLoginProfile API(※1)を実行させるLambda関数を用意
    • DeleteLoginProfile APIが実行されることにより、対象のIAMユーザーのパスワードを削除(※2)する

※1

DeleteLoginProfile

https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteLoginProfile.html

※2

AWS Management Console への IAM ユーザーアクセスのコントロール

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/console_controlling-access.html

特徴

  • 以前ご紹介した1番と2番の方法と比べ、複数のサービスを利用して作り込みが必要になる
  • パスワードが削除されたIAMユーザーは、再度パスワードを作成し直す必要がある
  • パスワードを削除する方法の他に、ログイン連続失時に制限を強めたIAMポリシーを付け加えることもできる

https://d1.awsstatic.com/whitepapers/ja_JP/compliance/pci-dss-compliance-on-aws.pdf

お客様がこれを達成するには、AWS CloudTrail、Amazon DynamoDB、AWS Lambda、Amazon CloudWatch を組み合わせて連続したログ イン失敗を追跡して、ログイン失敗がしきい値である 6 回連続で発生した場合に制限を強めた IAM ポリシーを付け加えることが必要です。

まとめ

次回は実際に本設定を試したいと思います。

それではまた。