AWS WAF を使用して特定の URI パスへのアクセスを許可またはブロックしたいです。
解決方法
IP アドレス、HTTP ヘッダー、または位置情報による特定の URI パスへのアクセスを許可またはブロックするには、一致ルールステートメントを使用します。一致ステートメントは、ウェブリクエストをユーザー指定の条件と比較します。
開始するには、次の手順を実行します。
- AWS WAF コンソールを開きます。
- ナビゲーションペインの [AWS WAF] で、[ウェブ ACL] を選択します。
- [リージョン] で、ウェブアクセスコントロールリスト (ウェブ ACL) を作成した AWS リージョンを選択します。
注: ウェブ ACL が Amazon CloudFront 用に設定されている場合は、[グローバル] を選択します。
- ウェブ ACL を選択します。
- [ルール] を選択し、[ルールを追加] を選択します。
- [独自のルールとルールグループを追加] を選択します。
特定の 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 アドレス] を選択します。
- [アクション] で [ブロック] を選択してから、[ルールを追加] を選択します。
- (オプション) [ルールの優先度を設定] でルールを選択し、優先度を変更します。
- [保存] を選択します。
関連情報
テキスト変換オプション
ウェブ ACL のルールとルールグループの処理順序
AWS WAF を使用して特定の国または地理的位置からのリクエストを許可または拒否する方法を教えてください。