ヤマムギ

growing hard days.

*

ALBにWAFを関連付けて特定のヘッダー以外はブロックする

      2020/07/25

おかげさまで、ブログのアクセスも増えてきて、t3.nano EC2インスタンス単体だと辛くなってきました。

久しぶりにElastic Load Balancing(ELB) Application Load Balancer(ALB)を挟んだ設計に戻そうと思います。

ついでに、CloudFrontからのカスタムヘッダー付きのリクエスト以外はALBでブロックします。

WAFの設定

東京リージョンで構築してるので、東京リージョンでWAF ACLを作りました。
関連サービスとして、予めつくっておいた、ALBを選択しました。

ルールは、デフォルトをブロックとしました。

ヘッダーのフィールドと値が完全一致した際に許可する、としています。

Postmanでテスト

ヘッダーが指定できれば、何でテストしてもいいと思います。
手元にPostmanがあったので使いました。

ヘッダーを指定せずに、GETを実行すると、403エラーになりました。

ヘッダーを指定してGETを実行すると、NGINXのトップページが200 OKで返ってきました。

アクセスログにも PostmanRuntimeでログが出てました。
想定どおりの動作です。

CloudFrontの設定

オリジンの設定で、Origin Domain Nameに、ALBのパブリックDNSを指定して、Origin Custom HeadersにWAFに設定したヘッダーを追加しました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

このブログをAWS大阪リージョンへ移行しました

大阪リージョン爆誕!! 朝起きて寝ぼけながらリージョンを見てると。 「大阪リージ …

RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する

RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …

AWS DeepLensセットアップの儀

AWS DeepLensのセットアップを開始します。 AWS DeepLensを …

RocketChatの匿名登録時のtoo many requestsエラー対応

匿名ユーザー登録時のtoo many requestsエラー RocketCha …

RDS ProxyをAurora MySQLで

Lambda関数をたくさん同時実行してMySQLにアクセスしても大丈夫なようにR …

S3イベントのAWS Lambdaのテスト設定

S3イベントのLambda関数でよく使うのはこんなテスト設定です。 なので覚書で …

ブログの画像を別アカウントのS3に移動するためにIAMロールでクロスアカウントアクセス

ずっと先延ばしにしていたのですが、このブログの画像はEC2から直接配信しています …

AWS OrganizationsでAWSアカウントを25作りたいのでPythonで作った

AWSアカウントを25作る必要があったので、Lambda Python 3.7で …

CUSTOMINEを使ってkintoneからAWS Lambdaを実行する(Cognito認証付き)

先日の記事「kintoneのカスタマイズ開発を超速にするCUSTOMINE」で書 …

AWS LambdaでChrome HeadlessドライバをAWS Lambda Layersから使う

この記事はSelenium/Appium Advent Calendar 201 …