【目次】

  1. 1. はじめに
  2. 2. WAFログ連携の方法について
  3. 3. 新プランにてご契約されている場合
  4. 4. 旧プランにてご契約されている場合
  5. 5. 旧方式設定の解除
  6. 6. おわりに

1. はじめに

WafCharmでは、AWS WAFより出力されるWAFログを連携いただくことで、以下のような機能をご利用いただけます。

  • Dashboard画面のWAFログダッシュボード
  • WAFログ検索機能
  • 月次レポート機能
  • WAFログアラート(検知通知)機能

しかしながら、以下のヘルプページでもご紹介しておりますように、WAFログを連携いただく設定方法によって、ご利用いただける機能が異なります。
WAFログ連携によってご提供可能な機能について

もしすべての機能を使用したいといった場合には、設定方法を「旧方式(Lambda方式)」から「新方式」に切り替えていただく必要があります。
今回は、その切り替え方についてご紹介します。

※WAFログ連携の設定切り替えは、Legacy Ruleポリシーのみが対象です。Advanced Ruleポリシーでは、新方式での設定のみ対応しておりますので、切り替えは不要です。

2. WAFログ連携の方法について

現在、WAFログ連携には、以下2つの方法があります。

  • 旧方式(Lambda方式)
    • Lambdaを用いて、WAFログを転送いただく方法です。
    • Legacy Ruleポリシーの場合のみご利用いただけます。
    • お客様のAWS環境内で設定をご実施いただきます。
    • 詳細は WAFログ連携(旧方式)の設定方法 (AWS WAF v2) にございます。
  • 新方式

WAFログ連携によってご提供可能な機能についてのとおり、旧方式(Lambda方式)では月次レポート機能とWAFログアラート機能のみご利用いただけます。
他の機能もご利用いただく場合には、新方式での設定が必須となっております。

ご契約いただいているプランによって切り替え時の対応内容が一部異なりますので、切り替えをご希望の場合にはヘルプページや、以降に記載の内容をご参考いただきながら、ご対応ください。

注意点として、旧方式と新方式ではWAFログの取得経路が異なります。新方式での設定を有効化された場合、新方式で連携されたWAFログのみが、月次レポートでの集計対象データとなります。

また、旧方式と新方式を同時に設定いただくことは可能ですが、同時に設定している期間中、WAFログアラートの通知メールが重複して送信される可能性がございます。

切り替えをご実施いただく際は、WAFログ連携設定時に必要となりますため、事前にWAFログの出力先と、S3バケットなどの設定値をご確認ください。

WAFログ出力設定の詳細は、以下のAWS公式ドキュメントにございます。
保護パック (ウェブ ACL) のログ記録の設定

3. 新プランにてご契約されている場合

新プランにてご契約されている場合、まずはお客様にて以下の手順に沿って新方式での設定を有効化してください。

AWS WAF v2 Legacyでのアクセスログ・WAFログ連携の設定方法(新方式)

4. 旧プランにてご契約されている場合

旧プランにてご契約されている場合、新方式の設定はWafCharmサポートにて承ります。

以下の情報(WAF ConfigごとのWAFログ出力先詳細)を添えてお問い合わせください。

  • 対象のWAF Config名
  • ログ出力先パターン(S3バケットあるいはAmazon Data Firehose)
  • WAFログを出力しているS3バケットの名前とパス
    • WAFログが実際に出力されている場所まで移動した上で、パス全体をご共有ください。
    • 例:
      • S3直の場合: aws-waf-logs-で始まるS3バケット名/AWSLogs/AWSアカウントID/WAFLogs/リージョン/Web ACL名/2024/07/01/02/55/
      • Data Firehoseの場合: S3バケット名/2024/06/10/07/
  • S3バケットのリージョン(例:us-east-1など)

有効化が完了しましたら、ご連絡いたします。

5. 旧方式設定の解除

「新プランにてご契約されている場合」あるいは「旧プランにてご契約されている場合」に記載の内容をご対応いただきましたら、新方式にて各種機能が動作し始めますので、旧方式の設定は解除いただいて問題ございません。

解除時に削除する対象は、状況にもよりますが、基本的には以下の4つです。

  • Lambdaで使用するIAMポリシーとロール
  • S3トリガーの設定
  • Lambda関数そのもの
  • CloudWatch LogsのLambda実行ロググループ

解除を行う前に、以下の点をご確認ください。

  • 他のWAF Configで同じLambda関数を使用していないかをご確認ください。
  • Lambda関数で使用していたIAMロールやポリシーが他のリソースで使用されていないかをご確認ください。

複数のWAF Configをご登録されていて、それらで同じLambda関数を使用してWAFログ連携を行っていた場合、新方式の切り替えが全WAF Configで完了する前に旧方式の設定を消してしまうと、そちらの設定が無効状態となります。
月次レポートやWAFログアラートが動作しなくなるため、不要かどうかの判断は別途ご実施ください。

また、IAMロールや権限についても同様で、削除した場合に影響を受けるリソースがある場合には削除対象外とする必要があります。削除可否は、お客様のAWS環境によって異なりますので、別途ご確認ください。

WAFログ連携のために設定したLambda関数を他のリソース等で使用していないことをご確認いただきましたら、実際に使用しないリソースを削除します。

特定の順序で削除しなければならないものはございません。
ただし、S3トリガーやIAMロールなどは、削除順序によってはS3バケット側や、Lambda関数側に削除済みのリソースの情報が一部残ったまま削除となる場合がございます。最終的にすべてのリソースを削除される想定である場合には問題ないかと存じますが、S3バケットについてはWAFログ出力のために維持されるケースが多いかと存じますので、各リソースの状況を個別にご確認いただくか、削除順序を適宜ご調整ください。

以下に、削除を行う際の流れを例示します。

  1. WAFログ連携のために設定したLambda関数のページを開きます。
  2. トリガーの設定画面を開きます。
  3. 対象のS3バケットの情報を選択して、削除します。
  4. トリガーが削除されたことを確認したら、モニタリングの箇所から対象のCloudWatch Logsロググループを開きます。
  5. アクションメニューから、ロググループの削除を実施します。
  6. Lambda関数のページに戻り、アクションメニューから関数の削除を実施します。
  7. IAMのページを開き、Lambdaで使用中のIAMロールの画面を開いたら、「カスタマー管理」と記載されているポリシーを削除します。
  8. Lambdaで使用中のIAMロールを削除します。

ここまでで、Lambda関数にて使用した各種リソースの削除が完了します。

上記のとおり、実際に削除するリソースや順序はお客様のご状況によっても異なりますため、必要な対応のみご実施いただけますと幸いです。

6. おわりに

今回は、WAFログ連携方式を旧方式から新方式へ切り替える方法をご紹介しました。

新方式でご連携いただくことで、WafCharm上でご利用いただける機能も充実しますので、よろしければご検討ください。