1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CloudFront+WAFでIPアドレス制限をかける

Posted at

はじめに

こんにちは、もちもちMAXです。
AWSでS3+CloudFrontなどの構成で静的なコンテンツを配信する際、誰でもアクセスできる状態はマズイ、となることはありませんか?デモ用に作ってみただけなので限定的に公開したい、ということもあるかと思います。そんな時に使えるのがIPアドレス制限で、特定のIPアドレスからのアクセスのみ許可(or ブロック)ができます。これで安心して公開できますね。

今回はCloudFrontで配信するコンテンツにIPアドレス制限をかける方法を説明します。IPアドレス制限にはAWS WAFを用いておこないます。また、本記事ではCloudFrontによるコンテンツ配信方法については説明しません。配信方法も知りたい方はこちらの記事をご確認ください。

手順

まずはざっくりとした手順を紹介します。
1.IP setsの作成
2.web ACLの作成
3.web ACLをCloudFrontディストリビューションに適用

制限対象のIPアドレスの設定をおこない、どのような制限をかけるかを設定、それをCloudFrontに適用、といった流れです。それでは各手順の詳細を説明していきます。

IP setsの作成

最初におこなうのはIP setsの作成です。IP setsとはアドレス制限をかける対象のアドレス一覧で、グローバルIPアドレスを指定します。(おそらく)

作成方法ですが、まずAWS マネジメントコンソールからAWS WAFを開いてCreate IP setをクリックします。
image.png

IP set nameには作成するIP setの名前を、RegionGlobal(CloudFront)を設定してください。名前は何でも良いですがCloudFrontに適用するためのIP setのRegionGlobal(CloudFront)にしないといけないようです。そしてIP addressesには制限をかけたいIPアドレスをCIDR表記で記載します。本記事では今使っているマシンを制限対象としてコンテンツにアクセスできないようにします。そのため、グローバルIPアドレスを知る必要があるのでこちらのサイトにアクセスしMy Public IPv4と書いてあるところのアドレスをコピーしておきます。そしてIP addressesコピーしたアドレス/32と記入します。/32と書くことでコピーしたアドレスのみを制限対象とすることができます。以上の設定が終わればCreate IP setをクリックすることでIP setの作成が完了です。
image (1).png

※CIDR表記はIPアドレス/24のようにサブネットマスクを表記する方式です。詳しくは調べてみてください。

web ACLの作成

次にweb ACLを設定していきます。

Resource typeAmazon CloudFront distributionsを選び、Nameは適宜設定します。
image (2).png

次の画面ではRulesというものを設定します。Rulesは制限対象のIPアドレスに対してどのような処理をおこなうかを示すものです。Add my own rules and rule groupsを選択し新しいRulesを作成していきます。
image (3).png

Rule typeIP setNameは適宜設定、IP setには先ほど作成したIP setを設定します。ActionはIP setをどのように処理したいかで選びます。今回はアクセスできないようにしたいのでBlockを設定します。以上でRulesの作成は完了です。
image (4).png

最後にDefault actionとしてAllowを設定します。これによって制限対象のIPアドレス以外からのアクセスは許可される、ということになります。
image (5).png

ここまでの設定が完了すればあとはnextを連打してCreate web ACLをクリックすればweb ACLの作成が完了です。
image (6).png

web ACLをCloudFrontディストリビューションに適用

最後に、AWS WAFのweb ACLsから作成したweb ACLを選択しAssociated AWS resourcesからAdd AWS resourcesを選択します。
image (7).png

適用したいCloudFrontディストリビューションを選択しAddをクリックします。
image (8).png

以上で、web ACLの適用が完了です。

確認

設定したCloudFrontディストリビューションにアクセスして、アクセスできないことが確認できればIPアドレス制限が成功していることになります。
ちなみに、CloudFrontディストリビューションの設定でWAFを有効にするを選ぶと自動的にweb ACLが作成されます。ここには多くの一般的なウェブ攻撃から自動的に保護するためのRuleが適用されており、これにより簡単にセキュリティ対策が施せるようです。ご参考まで。

さいごに

本記事では、WAFを用いてCloudFrontディストリビューションにIPアドレス制限をかける方法を説明しました。当然のことですが、同じ方法でRulesを一部変更すれば特定のIPアドレスからのアクセスのみを許可する、といった使い方もできますので是非活用してくださいね。

最近、ブログと自作アプリのLPを立ち上げたので是非見てってください!

ブログ↓
https://mochinochikimchi.com

アプリLP↓
https://mochinochikimchi.com/applications/mealmotion/index.html

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?