LoginSignup
2
4

More than 5 years have passed since last update.

ALB+WAF利用時のCloudWatchアラーム設定

Last updated at Posted at 2017-07-27

概要

  • Classic ELB から ALB + WAF へ移行するに辺り、CloudWatch アラーム設定をどうしようか考えてみる(結局、結論は出ず。。)

bad behavior なリクエストが来た場合

※ 例えば、PHPMyAdminを狙った /PMA/

Classic ELB (WAFなし) のとき

  • CloudWatch HTTPCode_Backend_4XX は、作業ミスやコードの不具合・バグ検知用に入れたはずが、クローラー/愉快犯/画像泥棒/攻撃事前調査(Probe)などによるアラートの方が多い。
  • PHPMyAdmin を狙った攻撃事前調査系の bad behavior も、PHPMyAdmin なんて入れていないので HTTPCode_Backend_4XX (=404) アラートが飛ぶ (最近特に多い)。
  • そこで、AWS WAF を導入したら HTTPCode_Backend_4XX アラートが減るんじゃないかなと期待してみた(けど。。)

AWS ALB + AWS WAF

うーむ

  • CloudWatchサービスはまだまだ進化しているので、HTTPCode_ELB_404_Count とか HTTPCode_ELB_403_Count というように細かく設定ができる機能が出るのを期待する?
  • カスタムメトリクスを作ればなんとかなる?
  • AWS WAF にも、CloudFronにある地域制限の機能が追加して欲しい(外国を遮断するだけでもかなり減る)

とりあえず?

  • ALB CloudWatach HTTPCode_ELB_4XX_Count と WAF CloudWatch BlockedRequests を設定する。
  • で、
    ALB の CloudWatach HTTPCode_ELB_4XX_Count アラートが飛ぶ 

    WAF の CloudWatch BlockedRequests アラートが来なかったら、Kibanaなどで状況を確認する

メモ

AWS ALB のみの場合

構成

ALB ---> httpd on EC2

bad behavior request が来た

① ALB が受ける
② ターゲットグループの httpd on EC2 が受ける

アクセスログ

① ALBアクセスログ

  • elb_status_code: 404
  • target_status_code: 404

② httpd on EC2 アクセスログ

  • GET /PMA/ HTTP/1.1" 404

Amazon CloudWatch メトリクス

ALB

  • elb_status_code: 404 ⇒ HTTPCode_ELB_4XX_Count (統計: 最も有用な統計は Sum)
  • target_status_code: 404 ⇒ HTTPCode_Target_4XX_Count (統計: 最も有用な統計は Sum)

AWS ALB + AWS WAF の場合

構成

ALB ---> httpd on EC2
+--> WAF (rule:bad-behaviorをブロック)

bad behavior request が来た

① ALB が受ける
② AWS WAF へ転送
③ AWS WAF が ルールに基いて検査
④ AWS WAF が ALB へリクエストのブロックを指示
⑤ ALB がブロックする (403 Forbidden)

アクセスログ

① ALBアクセスログ

  • elb_status_code: 403
  • target_status_code: -

② httpd on EC2 アクセスログ

  • なし

Amazon CloudWatch メトリクス

ALB

  • elb_status_code: 403 ⇒ HTTPCode_ELB_4XX_Count (統計: 最も有用な統計は Sum)

WAF

  • BlockedRequests (有効な統計: Sum)
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4