LoginSignup
3
2

More than 1 year has passed since last update.

CloudFrontで特定のディレクトリにIP制限をかける

Posted at

サーバー全体に制限をかける場合はファイアウォール等を使いますが、CMSの管理コンソールだけ等ディレクトリに制限をかけたい場合、通常はWebサーバ側で制限をかけたいディレクトリに .htaccess を設置するなりして制限していたと思います。

AWS を使っている場合は AWS WAF を使って制限をかけることができます。ここでは CloudFront と AWS WAF を使ってIP制限をかける手順を解説します。

① IP sets で新規にIPアドレスの一覧を作成する。

AWS > WAF & Shield > AWS WAF > IP sets で新規にIPアドレスの一覧を作成します。
このときCloudFrontで制御するのでリージョンはグローバルにしておきます。
許可したいIPアドレスの一覧を登録します。

image.png

② URI(パス)の正規表現パターンを作成する。

AWS > WAF & Shield > AWS WAF > Regex pattern sets で新規に正規表現パターンを作成します。
CloudFrontで制御するのでここでもリージョンはグローバルにしておきます。
正規表現なのでディレクトリセパレーターは / とエスケープが必要です。

image.png

③ 新規にルールグループを作る。

AWS > WAF & Shield > AWS WAF > Rule groups で新規にルールグループを作します。
しつこいですがCloudFrontで制御するのでリージョンはグローバルにしておきます。

image.png

image.png

②で作成したURI(パス)の正規表現パターンに一致しない場合 OR
①で作成したホワイトリストに一致する場合に許可し、
それ以外を拒否するルールを作成します。

image.png

④ 新規にACLを作成する。

AWS > WAF & Shield > AWS WAF > Web ACLs で新規にACLを作成します。
リソースタイプはCloudFrontを選びます。
CloudFrontのディストリビューションにACLが未設定であれば、ここで設定できます。
すでにACLが設定されていれば、それに追加します。

image.png

image.png

image.png

image.png

image.png

⑤ 確認

CloudFrontのディストリビューションにACLがあるか確認します。

image.png

設定したパスにホワイトリスト以外のIPアドレスでアクセスすると弾かれること、
ホワイトリスト記載のIPアドレスでアクセスできることを確認してください。

3
2
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
3
2