AWS WAF を使用して特定の URI パスへのアクセスを許可またはブロックしたいです。
解決方法
IP アドレス、HTTP ヘッダー、または位置情報による特定の URI パスへのアクセスを許可またはブロックするには、一致ルールステートメントを使用します。一致ステートメントは、ウェブリクエストをユーザー指定の条件と比較します。
開始するには、次の手順を実行します。
- AWS WAF コンソールを開きます。
- ナビゲーションペインで [AWS WAF] を選択します。
- [リソースと保護パック] を選択します。
- 目的の保護パックを選択します。
- 選択した保護パックで [ルール] を選択します。
- [ルール] の横にある [表示と編集] を選択すると、保護パックに関連付けられたルールを表示、編集できます。
- 右側のペインの [ルールの管理] で [ルールを追加] を選択します。
- [新しいルールを作成] を選択します。
- [カスタムルール] を選択し、[次へ] を選択します。
- [ルールタイプ] で [カスタムルール] を選択し、[次へ] を選択します。
次に、実際の要件に応じてセクションを参照し、記載された手順を実行してください。
特定の URI パスへのアクセスを許可またはブロックする
次の手順を実行します。
- [名前] に、ルールの名前 (Block-URI-access など) を入力します。
- [タイプ] で [正規ルール] を選択します。
- [リクエストの条件] で、[ステートメントと一致] を選択します。
- [ステートメント] では、次の手順を実行します。
[検査] で [URI パス] を選択します。
[マッチタイプ] で [文字列を含む] を選択します。
[一致する文字列] に、URI パスを入力します (例: /admin)。
(オプション) **[テキスト変換]**では、テキスト変換または [なし] を選択します。
- [アクション] で [許可] または [ブロック] を選択したら、[ルールを追加] を選択します。
- (オプション) [ルールの優先度を設定] でルールを選択し、優先度を変更します。
- [保存] を選択します。
特定の URI パスへのアクセスを IP アドレスでブロックする
次の手順を実行します。
- [名前] に、ルールの名前を入力します (Allow-listed-IPs-only など)。
- [タイプ] で [正規ルール] を選択します。
- [リクエストの条件] で、[すべてのステートメントと一致 (AND)] を選択します。
- [ステートメント 1] では、次の手順を実行します。
[検査] で [URI パス] を選択します。
[マッチタイプ] で [文字列を含む] を選択します。
[一致する文字列] に、URI パスを入力します (例: /admin)。
(オプション) **[テキスト変換]**では、テキスト変換または [なし] を選択します。
- [ステートメント 2] では、次の手順を実行します。
[ステートメント結果を無効にする] を選択します。
検査で次の IP アドレスから送信を選択します。
[IP セット] で、許可リストの IP アドレスを含む IP セット (MyTrustedIPS など) を選択します。
発信元アドレスとして使用する IP アドレスには、[ソース IP アドレス] を選択します。
- [アクション] で [ブロック] を選択してから、[ルールを追加] を選択します。
- (オプション) [ルールの優先度を設定] でルールを選択し、優先度を変更します。
- [保存] を選択します。
HTTP ヘッダーを基準に、特定の URI パスへのアクセスをブロックする
次の手順を実行します。
- [名前] に、ルールの名前を入力します (Allow-specific-referer-only など)。
- [タイプ] で [正規ルール] を選択します。
- [リクエストの条件] で、[すべてのステートメントと一致 (AND)] を選択します。
- [ステートメント 1] では、次の手順を実行します。
[検査] で [URI パス] を選択します。
[マッチタイプ] で **[文字列を含む] **を選択します。
[一致する文字列] に、URI パスを入力します (例: /wp-login)。
- [ステートメント 2] では、次の手順を実行します。
[ステートメント結果を無効にする] を選択します。
[検査] で [単一ヘッダー] を選択します。
[ヘッダーフィールド名] に、ヘッダー名 (Referer など) を入力します。
[マッチタイプ] で [文字列を含む] を選択します。
[一致する文字列] に、リファラー値を入力します (example.com など)。
- (オプション) ステートメント 1 と 2 の [テキスト変換] で、テキスト変換を選択するか、[なし] を選択します。
- [アクション] で [ブロック] を選択してから、[ルールを追加] を選択します。
- (オプション) [ルールの優先度を設定] でルールを選択し、優先度を変更します。
- [保存] を選択します。
位置情報で、特定の URI パスへのアクセスをブロックする
次の手順を実行します。
- [名前] に、ルールの名前 (LimitAccessByCountry など) を入力します。
- [タイプ] で [正規ルール] を選択します。
- [リクエストの条件] で、[すべてのステートメントと一致 (AND)] を選択します。
- [ステートメント 1] では、次の手順を実行します。
[検査] で [URI パス] を選択します。
[マッチタイプ] で [文字列を含む] を選択します。
[一致する文字列] に、URI パスを入力します (/user/profile など)。
(オプション) **[テキスト変換]**では、テキスト変換または [なし] を選択します。
- [ステートメント 2] では、次の手順を実行します。
[ステートメント結果を無効にする] を選択します。
[検査] で [発信元の国] を選択します。
[国コード] で、リクエストを検査する国を選択します。
発信元の国を特定するために使用する IP アドレスには、[ソース IP アドレス] を選択します。
- [アクション] で [ブロック] を選択してから、[ルールを追加] を選択します。
- (オプション) [ルールの優先度を設定] でルールを選択し、優先度を変更します。
- [保存] を選択します。
関連情報
AWS WAF でテキスト変換を使用する
ルール優先度の設定
AWS WAF を使用し、特定の国または地理的位置からのリクエストを許可または拒否する方法を教えてください