LoginSignup
0
1

More than 1 year has passed since last update.

AWS WAFにてIP制限かけてみた。(EC2 + ALB + WAF)

Posted at

はじめに

こんばんは、山田です。
今回は、AWS WAFについて検証していきたいと思います。

全体構成図

全体構成図は以下の通りです。
クライアントVPNからの接続は許可し、パブリックサブネットに配置されているEC2からのアクセスは拒否するように設定していきます。

image.png

接続方法 接続可否
User → クライアントVPN → ALB
User → IGW → EC2 → ALB ×

構築手順

下記より、構築手順について記載していきます。

前提条件

今回は、クライアントVPN、WAFの構築に焦点を当てて記載していきます。
なので、EC2,ALB等は構築済みとします。
また,EC2はWindowsServerとしIISの機能は追加済みとします。

クライアントVPNの構築

AWS管理コンソール -> VPC -> クライアントVPNエンドポイント -> クライアントVPNエンドポイントの作成をクリックします。

設定項目 設定値 備考
名前 yamada-test-clientvpn -
クライアントCIDR 10.2.0.0/22 ※/22以上でVPCのCIDR範囲と被らないように注意!
サーバ証明書 ACMに登録してある証明書選択する -
認証オプション 相互認証
DNSサーバー 10.1.0.2 ※AWSのDNSサーバーはVPCのCIDR範囲に+2した値になる。
今回のVPCのCIDR範囲は10.1.0.0/24を指定したので、DNSサーバーは10.1.0.2になる。

image.png

image.png

ターゲットネットワークの選定

AWS管理コンソール -> VPC -> クライアントVPNエンドポイント -> 関連付け ->関連付けをクリックします。
ターゲットネットワークの選択を行う。その際、注意点として、/27以上のサブネットを指定する必要があります。
今回は、ターゲットサブネットとして、10.1.0.0/26の範囲を指定します。
image.png

承認済みネットワークの選定

AWS管理コンソール -> VPC -> クライアントVPNエンドポイント -> 認証 -> 受信の認証をクリックします。
今回は、承認済みサブネットとして、10.1.0.64/26の範囲を指定します。
image.png

クライアント設定ファイルのダウンロード

AWS管理コンソール -> VPC -> クライアントVPNエンドポイント -> クライアント設定のダウンロードをクリックします。
以下のようなファイルがダウンロードされます。

image.png

末尾に以下の記載を追加します。
cert部分:クライアント証明書本文
key部分:クライアント証明書のプライベートキー

image.png

AWS VPN CLientのダウンロード

以下のURLより、AWS VPN Clientをダウンロードします。

以下のようなアイコンが表示されるのでダブルクリックします。

image.png

ファイル -> プロファイルの管理 -> プロファイルを追加をクリックします。
表示名は人で入力し、VPN設定ファイルは先ほどダウンロードしたファイルを選択します。

image.png

image.png

接続をクリックします。以下のように表示されれば接続完了です。

image.png

WAF構築手順

今回は、IPによるアクセス制限をかけてみたいと思います。

CIDR範囲 アクセス可否 備考
10.1.0.0/26 ターゲットネットワークのCIDR範囲
10.1.0.128/26 X パブロックサブネットのCIDR範囲

IPホワイトリスト設定

AWS管理コンソール -> WAF -> IP sets -> Create Ip Setをクリックします。
ホワイトリストに登録したIP範囲を指定します。
今回は、10.1.0.0/26をホワイトリストとして登録しました。

image.png

Web ACLsの作成

AWS管理コンソール -> WAF -> Web ACLs -> Create web ACLをクリックします。
name等を入力し、AWS resourceの選択では今回はALBを選択します

image.png

Add rules -> Add my own rules and rule groupsをクリックします。
以下のような画面が表示されます。

設定項目 設定値 備考
Rule type IP set -
Name yamada-test-rule -
IP set yamada-test-ipset 先ほど作成したIPホワイトリストを選択する。
Action Allow -

image.png

ルールにマッチしなかったリクエストはブロックするように設定します。

image.png

上記の設定値でWeb ACLsを作成します。

動作確認

クライアントVPNに接続し、<ALBのDNS名>に接続します。
例)internal-yamada-test-alb-1082603350.ap-northeast-1.elb.amazonaws.com

以下のように表示されればOKです。

image.png

次にパブリックサブネットに配置されているEC2に接続し、<ALBのDNS名>に接続する。
例)internal-yamada-test-alb-1082603350.ap-northeast-1.elb.amazonaws.com

以下のようにアクセスが拒否されればOKです。

image.png

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