0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】セキュリティに関するメールが届いた件

Last updated at Posted at 2025-01-06

はじめに

AWSを使用したWebアプリの運用を開始して数日たったある日、
Amazon Web Services (AWS) から「CognitoのManaged LoginでWAFが適用されない」という通知メールが届きました。(以下参照)

We are contacting youbecause you have at least one Amazon Cognito user pool in your account with both Managed Login [1] and AWS Web Application Firewall (WAF) [2] enabled. With this configuration enabled, please note that WAF integration applies to your federation endpoints [3], however requests to Managed Login pages will not be processed by WAF.

If you require WAF support for your signup and login pages, you can enable Hosted UI (classic) [4]. You can find more information on configuring Hosted UI (classic) for your user pool in the Cognito Developer Guide [2].

Your impacted Amazon Cognito user pool(s) are listed in "Affected resources" tab of the AWS Health Dashboard.

If you have questions or concerns, please contact AWS Support [5].

[1] https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html
[2] https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html
[3] https://docs.aws.amazon.com/cognito/latest/developerguide/federation-endpoints.html
[4] https://docs.aws.amazon.com/cognito/latest/developerguide/hosted-ui-classic-branding.html
[5] https://aws.amazon.com/support

要約すると、Managed Loginを利用している場合、WAFによる保護が適用されず、セキュリティ上のリスクが生じる可能性があるという内容です。
AWS WAF(Web Application Firewall)は、不正アクセスや攻撃を防ぐために重要な役割を果たします。特に、ログインページやユーザー登録ページなど、外部に公開されるエンドポイントの保護には不可欠です。
今回の通知では、WAFによる保護を必要とする場合、Hosted UI (classic)を有効化することが推奨されています。以下で、問題点の詳細と解決策を説明します。

問題の詳細

AWSの通知によると、以下の点が問題として挙げられています。

・Managed Login のページ(ユーザーログインやサインアップのインターフェース)
 にはWAFの保護が適用されない。
・Cognitoの Federation Endpoints(例えばOIDCやSAMLを使用する場合)は
 WAFで保護される。

AWSコンソールで影響を受けるリソースを確認する手順は以下の通りです。

  1. AWSマネジメントコンソールにログイン
  2. 上部メニューの [Health Dashboard] をクリック
  3. [Affected resources] タブを確認
  4. 対象となるCognito User Poolがリストされています

解決方法

①マネージドログインの設定を削除し、ログイン画面を自作する(当方はこっちで解決)
②ホストされた UI (クラシック)を有効化する

ホストされた UI (クラシック)の有効化手順

実際にこちらの手順を使用したわけではありませんが、解決するにはこうだろうという手順を下記示します。(GUIを使用した設定手順です。)

  1. AWSマネジメントコンソールにログイン
     https://aws.amazon.com/ にアクセスし、AWSアカウントにログインします。

  2. Cognitoを開く
     サービス一覧から Cognito を選択。
     ユーザープール を選択し、対象のユーザープールをクリックします。

  3. 左メニューから [ブランディング] ⇒ [マネージドログイン] をクリック
     「ホストされた UI (クラシック)」の設定を見つけ、必要な設定を有効化します。
     必要に応じて独自ドメインまたはAWSが提供するデフォルトドメインを設定します。

  4. アプリケーションクライアントの設定を確認・編集
     左メニューの [アプリケーションクライアント] をクリックします。
     表示されるアプリケーションクライアント名をクリックします。
     画面右上の [編集] ボタンをクリックします。
     必要なOAuthフロー(例: Authorization code grant)を有効化し、スコープ(例: email, openid)を設定します。

  5. UIの動作確認
     左メニューの [ドメイン名] で確認できるURLをコピーします。
     URLをブラウザで開き、ログインやサインアップが正しく動作しているか確認します。
     詳細な設定方法は AWS公式ドキュメント を参照してください。

まとめ

Hosted UI (classic) を有効化することで、ログインページにAWS WAFを適用し、セキュリティを強化できます。これにより、不正アクセスや攻撃のリスクを軽減することが可能です。

<今後注意すべき点>
Hosted UIを使用する場合、外観のカスタマイズやリダイレクトURIの設定に注意してください。
IAMロールやWAFのルールセットを適切に設定し、運用を継続的に見直すことが重要です。

参考リンク

AWS Cognito Managed Login
AWS Cognito Hosted UI (classic)
AWS Support

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?