スキップしてコンテンツを表示

AWS WAF を使用してブルートフォースログイン攻撃を防ぐ方法を教えてください。

所要時間1分
0

AWS WAF を使用してブルートフォースログイン攻撃を防ぎたいです。

解決策

次の AWS WAF 機能を使用すると、ブルートフォースログイン攻撃を防ぎやすくなります。

  • レートベースのルール
  • CAPTCHA パズル
  • AWS WAF Fraud Control の Account Takeover Prevention (ATP) マネージドルール群
  • Security Automations for AWS WAF

レートベースのルール

リクエスト頻度が想定よりも高い場合にリクエストをブロックするには、レートベースのルールステートメントを作成します。レートベースのルールにしきい値を設定するには、AWS WAF ログ記録を有効にします。次に、ログの送信先に応じて、Amazon Athena または Amazon CloudWatch Log Insights を使用してログを分析します。

URI パスに専用のレートベースのルールステートメントを作成することもできます (例: /login)。ブルートフォース攻撃は通常、ログインページを標的にしてアカウント認証情報へのアクセスを取得しようとします。ウェブサイトのページにより、受信するリクエストのレートが異なる場合があります。たとえば、ホームページにおいてログインページよりも高い頻度で受信トラフィックが発生している場合が該当します。

しきい値を設定した後、次のスコープダウンステートメントを使用してログインページのみに対するレートベースのルールステートメントを作成します。

  • [検査リクエスト][URI パス] を選択します。
  • [一致タイプ][文字列で始まる] を選択します。
  • [一致する文字列]/login を選択します。

CAPTCHA パズル

CAPTCHA パズルを使用すると、次の攻撃を防ぎやすくなります。

  • ボットからのブルートフォース攻撃
  • クレデンシャルスタッフィング
  • ウェブスクレイピング
  • サーバーへのスパムリクエスト

CAPTCHA アクションを含むルールを作成すると、ユーザーはログインする前にまず CAPTCHA を完了する必要があります。

ログインページに CAPTCHA を設定するには、次のルール設定を使用します。

  • [検査][URI パス] を選択します。
  • [一致タイプ][文字列で始まる] を選択します。
  • [一致する文字列]/login を選択します。
  • [アクション][CAPTCHA] を選択します。
  • [イミュニティ時間][時間 (秒単位)] を選択します。
    注: 人間からのブルートフォース攻撃を防ぎやすくするには、イミュニティ時間を短く設定してください。

詳細については、「CAPTCHA とチャレンジアクションの使用に関するベストプラクティス」を参照してください。

ATP マネージドルールグループ

アカウントの乗っ取りを試みる、悪意のあるリクエストを検査するには、ATP マネージドルールグループを使用します。たとえば、ブルートフォースログイン攻撃では、試行錯誤して認証情報を推測し、アカウントへの不正アクセスを試みる可能性があります。

ATP マネージドルールグループには、予期しないリクエストやログイン試行を可視化して制御するための定義済みルールが含まれています。

リクエストを検査するには、ATP マネージドルールグループで次のルールサブセットを使用します。

  • VolumetricIpHigh: 個々の IP アドレスから送信される大量のリクエスト。
  • AttributePasswordTraversal: パスワードトラバーサルを使用する試行。
  • AttributeLongSession: 持続時間が長いセッションを使用する試行。
  • AttributeUsernameTraversal: ユーザー名トラバーサルを使用する試行。
  • VolumetricSession: 個々のセッションから送信される大量のリクエスト。
  • MissingCredential: 資格情報の欠落。

詳細については、「アカウント乗っ取り防止ルールの一覧」を参照してください。

Security Automations for AWS WAF

AWS CloudFormation テンプレートを使用して一連のルールを含むウェブアクセスコントロールリスト (ウェブ ACL) をデプロイするには、Security Automations for AWS WAF を実行します。

アクセス許可のないユーザーが正しい認証情報を推測しようとすると、そのユーザーには 401 Unauthorized などのエラー応答が返されます。スキャナーとプローブのルールは、特定の応答コードを継続的に受信した IP アドレスからのリクエストをブロックします。このルールを有効にすると、Security Automations for AWS WAF は、AWS Lambda または Athena クエリをデプロイし、HTTP 応答コードのログをチェックします。リクエストが同じエラーコードを受信する最大許容回数および、そのしきい値を超えるリクエストをルールがブロックする期間のしきい値を設定します。

関連情報

AWS WAF でレートベースのルールステートメントを使用する

AWS公式更新しました 1年前
コメントはありません