ヤマムギ

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

  関連記事

Microsoft TeamsのOutgoing Webhooksを使ってAWS Lambda(Python), Amazon API Gatewayとbot

Microsoft Teamsの検証その2、Slackで実装しているbotも対応 …

Transit GatewayポリシーテーブルでCloud WANのコアネットワークに接続しました

「ポリシーテーブルってなんですか?」のご質問をいただいたので設定してみました。 …

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

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

IAM Access Analyzerの検出をEventBridgeルールで検知して通知する

やりたかったことは使用可能としているリージョンのIAM Access Analy …

QuickSightのVisualizeをダッシュボード化して定期メール

「Backlogの実績工数をAmazon QuickSightで可視化してわかっ …

Amazon Chimeのチャットを使ってみました

Amazon Chimeはビデオミーティングや配信したりというサービスですが、チ …

S3 Intelligent-Tieringで高頻度階層(FREQUENT)に戻る「アクセス」にS3 SelectとGlueクローラーが該当するのか確認してみました

ユーザーガイドのS3 Intelligent-Tiering のしくみには、「低 …

サービスディスカバリを使用してECSサービスの作成

ECSデベロッパーガイドのチュートリアル:サービスディスカバリを使用して、サービ …

EC2スケジュールリザーブドインスタンスって終わりましたん?

ユーザーガイドのScheduled Reserved Instancesを見ると …

CodeDeployでECR、ECSにデプロイするパイプラインのチュートリアル

チュートリアル: Amazon ECR ソースと、ECS と CodeDeplo …