ヤマムギ

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

  関連記事

Amazon Connect 発信イベントをEventBridgeで確認

Amazon Connectから発信した電話に出たのか、出なかったのかを確認した …

EC2スポットインスタンスの中断通知を受ける

オートスケーリンググループでEC2インスタンスをスポットインスタンスで使用してい …

Selenium, Headless ChromeとAWS Lambdaで夜な夜なスクレイピング

このようなアーキテクチャで、Alexaスキルの開発を進めていまして、元となる情報 …

AWS Well-Architected フレームワークによるクラウド ベスト プラクティスのセッションを聞いたので自アカウントの環境を確認してみる

AWS Summit Tokyo 2017で「AWS Well-Architec …

Amazon Glacierでボールトロックポリシーの作成開始をしてみました

Glacierを単体で使用することもそうそうないので、確認しました。 まずボール …

特定AWSアカウント特定リージョンのSNSトピックを削除するLambda(Python)

やりたいこと 特定アカウント内特定リージョン内のSNSトピックを全部削除したいで …

EC2 セッションマネージャにEC2インスタンスの一覧から接続できるようになりました

EC2に接続する時に、どうしてもSSHクライアントから接続しないといけない場合を …

S3に置いたMP3ファイルをTwilioから電話再生する(AWS Lambda Python)

Google Calendar Twilio ReminderのTwilioを使 …

AWS Transfer Family S3向けのSFTP対応サーバー

S3バケットは作成済です。 IAMロールの作成 [crayon-69436599 …

Amazon API GatewayのIAM認証の動作を確認しました

API GatewayのIAM認証は、IAMユーザーが実行できるように認証する、 …