AWS WAF はブルートフォースログイン攻撃を防ぐのにどのように役立ちますか?

所要時間1分
0

AWS WAF を使用してブルートフォース攻撃を防ぐにはどうすればいいですか?

簡単な説明

ブルートフォース攻撃とは、試行錯誤してログイン認証情報と暗号化キーを推測し、アカウント、システム、ネットワークに不正にアクセスする攻撃手法のことです。この攻撃は、ハッカーがアカウントにアクセスするために無理やりにでもアクセスを試みることから、ブルートフォースと呼ばれています。

以下の AWS WAF 機能は、ブルートフォースログイン攻撃を防ぐのに役立ちます。

解決方法

レートベースのルール

レートベースのルールは、発信元 IP アドレスに基づいてリクエストを追跡します。このルールは、5 分間隔で定義されたしきい値を超える要求があった場合に呼び出されます。

リクエストのレートが予想よりも高い場合にリクエストをブロックするレートベースのルールを作成します。レートベースのルールのしきい値を見つけるには、AWS WAF ロギングをオンにし、ログを分析してリクエストのレートを取得する必要があります。レートベースのルールの作成方法については、「ルールの作成と条件の追加」を参照してください。

URI パスに固有のレートベースのルールを作成することもできます。ブルートフォース攻撃は、通常、ログインページを標的にしてアカウントの認証情報にアクセスします。ウェブサイト上のページによって、リクエストのレートも異なる場合があります。たとえば、ホームページのトラフィックは、ログインページよりも高くなる場合があります。

ログインページに固有のレートベースのルールを作成するには、次のルール設定を使用します。

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

AWS WAF CAPTCHA

AWS WAF CAPTCHA チャレンジでは、ウェブサイトに届くリクエストが人間からのものかボットからのものかを検証します。CAPTCHA を使用することで、ブルートフォース攻撃、認証情報スタッフィング、ウェブスクレイピング、サーバーへのスパムリクエストを防ぐことができます。

ウェブページが人間からのリクエストを受信するように設計されているが、ブルートフォース攻撃の影響を受けやすい場合は、CAPTCHA アクションを持つルールを作成します。CAPTCHA アクションリクエストは、CAPTCHA チャレンジが正常に完了したときにサーバーへのアクセスを許可します。

ログインページで CAPTCHA アクションを設定するには、次のようにルール設定をします。

  • [検査] で [URI パス] を選択します。
  • [マッチタイプ] で [文字列で始まる] を選択します。
  • [一致する文字列] で、[/login] を選択します。
  • [アクション] で [CAPTCHA] を選択します。
  • [イミュニティ時間] で [時間 (秒)] を選択します。

CAPTCHA アクションが設定されている場合、ログインページにアクセスするユーザーは、ログイン情報を入力する前に CAPTCHA を完了する必要があります。この保護は、ボットによるブルートフォース攻撃を防ぐのに役立ちます。

: 人間によるブルートフォース攻撃を防ぐには、イミュニティ時間を短く設定してください。攻撃者はリクエストごとに CAPTCHA を完了する必要があるため、イミュニティ時間が短いと攻撃が遅くなります。詳細については、「CAPTCHA イミュニティ時間の設定」を参照してください。

AWS WAF CAPTCHA の詳細については、「AWS WAF CAPTCHA」を参照してください。

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

AWS WAF アカウント乗っ取り防止 (ATP) マネージドルールグループでは、アカウントを乗っ取ろうとする悪意のあるリクエストを検査します。例えば、試行錯誤を繰り返して認証情報を推測し、アカウントに不正にアクセスするブルートフォースログイン攻撃などです。

ATP ルールグループは、異常なログイン試行を実行するリクエストを可視化および制御する、事前に定義されたルールを含む AWS マネージドルールグループです。

ATP ルールグループのルールの次のサブセットを使用して、ブルートフォース攻撃をブロックします。

VolumetricIpHigh
個々の IP アドレスから送信された大量のリクエストを検査します。

AttributePasswordTraversal
パスワードトラバーサルを使用する試行を検査します。

AttributeLongSession長時間のセッションを使用する試行を検査します。

AttributeUsernameTraversalユーザ名トラバーサルを使用する試行を検査します。

VolumetricSession
個々のセッションから送信された大量のリクエストを検査します。

MissingCredential
不足している認証情報を検査します。

ATP ルールグループの設定方法の詳細については、「AWS WAF Fraud Control アカウント乗っ取り防止 (ATP)」を参照してください。

AWS での AWS WAF オートメーション

AWS WAF セキュリティオートメーションとは、一連のルールを含むウェブ ACL をデプロイするために使用される AWS CloudFormation テンプレートです。これらのルールは、ユースケースに基づいてアクティブ化することができます。ハッカーがブルートフォース攻撃の一環として正しい認証情報を推測しようとすると、不正なログイン試行ごとにエラーコードを受け取ります。例えば、エラーコード 401 Unauthorized レスポンスの場合、

スキャナーとプローブのルールで、特定の応答コードを継続的に受信する IP からのリクエストをブロックすることができます。このルールをアクティブ化すると、Amazon CloudFront または Application Load Balancer (ALB) のアクセスログを自動的に解析する AWS Lambda 関数または Amazon Athena クエリがデプロイされ、バックエンドサーバーからの HTTP レスポンスコードを確認することができます。エラーコードを受信するリクエストの数が定義済みのしきい値に達すると、ルールは構成可能なカスタム期間、これらの要求をブロックします。

このテンプレートと、デプロイする方法の詳細については、「Automatically deploy a single web access control list that filters web-based attacks with AWS WAF Automation on AWS」を参照してください。


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

関連するコンテンツ