ヤマムギ

growing hard days.

*

CloudFrontのカスタムヘッダーがなければALBのルーティングで403レスポンスを返す

      2022/04/12

大阪リージョンにはWAFがまだないです(2021年4月現在)

今のこのブログの構成は、上図でして、ALBのセキュリティグループはどこからでもリクエストを受けています。

とすると、こんなどうでもいいアクセスもたくさん受けてしまいます。
CloudFront側ではWAFでブロックしたりもしてるのですが、ALBのIPに直接来たリクエストは受けてました。
以前、東京リージョンで運用してたときは、CloudFrontのカスタムヘッダーがなければ、ALB側に設定したWAFでブロックしてたのですが、大阪リージョンにはWAFがありません。
ですが、よくよく考えるとALBにはルーティングがあるじゃないかと(気づくのが遅い)。

ということでルーティングのルール設定をしました。

CloudFrontの設定

オリジンにカスタムヘッダーを設定しました。

ALBの設定

ルールを挿入して、CloudFrontで追加されたカスタムヘッダーがHTTPヘッダーにあるときだけ、ターゲットグループにルーティングするようにしました。

それ以外は503を返すようにしました。
(攻撃者に対して503でいいのかな?)

後でApplication Load Balancers へのアクセスを制限するを参考に403に変更しました。
クライアント側のリクエストに原因があるのでそれはそうですね。

テスト

Postmanでテストしました。

ALBのDNSに、カスタムヘッダーのヘッダーなしでGETリクエストをしたら、503エラーになりました。
予定通りです。

CloudFrontのカスタムヘッダーをリクエストヘッダーに手動で追加してPostmanからGETリクエストを実行したら、EC2へルーティングされました。
OKです。

まとめ

要件を満たすことができて、WAFのコストも削減できました。
実現方法を複数知っていると、何らかの制約ができたときにも対応しやすいですね。
もっともっと機能やサービスを知っていかなければです。


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

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

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

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

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

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

 - AWS , ,

ad

ad

  関連記事

Amazon LinuxにRedmine 環境構築(エラーと対応をそのまま記載版)

Amazon Linuxにgit + Redmineの環境を構築してみます。 自 …

Lambda関数をPython3.6から3.9に変更

CodeGuru ProfilerでLambda関数(Python 3.9)のパ …

Amazon S3バケットでMFA Deleteを有効にする

バージョニングが有効なバケットでバージョン削除でMFA Deleteを有効にして …

AWS Managed Microsoft ADを構築してユーザー追加まで

事前準備 DNSホスト名と名前解決を有効にしたVPCを作成して、2つのAZにパブ …

slackのbotにWikipediaを調べてもらう(Python on AWS Lambda + API Gateway)

slackのbotに少しでも役に立ってもらおうと、Wikipediaを調べてもら …

Well-Architected Tool レンズヴァージョンアップ

当ブログのWell-Architectedレビューを久しぶりにやろうと思い、We …

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

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

クロスリージョンでEFSをマウントしてみる

ニーズがあるかどうかはさておき、クロスリージョンでのEFSファイルシステムをマウ …

Amazon Auroraのスナップショットの暗号化とリージョン間コピーを改めて試しました

Amazon Auroraデータベースを暗号化して、スナップショットを作成、クロ …

CloudWatch Logs機密データ保護を設定しました

Amazon CloudWatch Logs を使用して機密データを保護するがリ …