はじめに
AWSのマネジメントコンソールログイン連続失敗時のアカウントロックの実現方法について、ご紹介いたします。
本エントリーは、以下の第三回目となります。
AWSマネジメントコンソールログイン時のアカウントロック実現方法#1 | iret.media
【PCI DSS要件】AWSマネジメントコンソールログイン時のアカウントロック実現方法#2
マネジメントコンソールログイン連続失敗時のアカウントロックの実現案としては、以下の方法があります。
- AWS Directory Serviceによるアカウントロック機能の実装
- ADFS +AWS Directory Serviceを利用した方法
- 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 ポリシーを付け加えることが必要です。
まとめ
次回は実際に本設定を試したいと思います。
それではまた。