ヤマムギ

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認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

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

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

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

 - AWS , ,

  関連記事

RDSインスタンスのストレージをgp2からgp3に変更しました

2022/11/9にRDSでgp3ボリュームが使用できるようになりました。 Am …

S3署名付きURL(GetObject)生成後にオブジェクトを上書きアップロードしたら

ダウンロードリクエストを実行したタイミングのオブジェクトがダウンロードされるので …

「JAWS-UG朝会 #18」で主にAWSなブログについて発表をしました

ラジオ体操 いつものラジオ体操から。 今日はラーニングセンターから配信の日でした …

slackのbotをAWS Lambda(Python)+API Gatewayで構築

slackで投稿した内容に応じて返信したり調べ物したりしてくれるbotですが、こ …

AWSエンコードされたエラーメッセージをデコードするコマンドのメモ

Stdout: couldn’t create ENI: Unaut …

API GatewayをトリガーにしたときのLambdaリソースベースポリシー

先日、SwaggerからAPI Gatewayを作ったときに、API Gatew …

Kinesis Data AnalyticsをKinesis Data Streamsに接続してSQL検索する

Amazon Kinesis Data StreamsにTwitter検索データ …

ChatGPT APIをTeamsボットから使いました(AWS Lambda(Python) + API Gateway)

ChatGPT APIが有償で利用可能になったので、会社のTeamsボットに実装 …

DynamoDB IAMポリシーで特定属性だけを許可する

検証記録です。 対象テーブル 書籍のサンプルで作ったこちらです。 所属バンドの楽 …

AWS Transit GatewayをResource Access Managerで他アカウントと共有

AWS Transit Gatewayを他アカウントに共有しました。 画面画像で …