AWS WAF ログをクエリする - Amazon Athena

AWS WAF ログをクエリする

AWS WAF は、保護されたウェブアプリケーションがクライアントから受信する HTTP および HTTPS リクエストを監視して制御できるようにするウェブアプリケーションファイアウォールです。AWS WAF ウェブアクセスコントロールリスト (ACL) 内のルールを設定することにより、ウェブリクエストの処理方法を定義します。その後、ウェブアプリケーションにウェブ ACL を関連付けて保護します。AWS WAF で保護できるウェブアプリケーションリソースの例には、Amazon CloudFront ディストリビューション、Amazon API Gateway REST API、Application Load Balancers などがあります。AWS WAF の詳細については、「AWS WAF デベロッパーガイド」の「AWS WAF」を参照してください。

AWS WAF ログには、AWS WAF が AWS リソースからリクエストを受信した時間、このリクエストの詳細、各リクエストが適合したルールに対するアクションなど、ウェブ ACL によって分析されたトラフィックに関する情報が含まれます。

AWS WAF ウェブ ACL を設定して、複数の宛先のいずれかにログを発行し、そこでクエリを実行して表示できます。ウェブ ACL ログの設定および AWS WAF ログの内容の詳細については、「AWS WAF デベロッパーガイド」の「AWS WAF ウェブ ACL トラフィックのログ」を参照してください。

Athena を利用して脅威検出と潜在的なセキュリティ攻撃に関するインサイトを得るために AWS WAF ログを分析する方法については、AWS ネットワークとコンテンツ配信のブログ記事「How to use Amazon Athena queries to analyze AWS WAF logs and provide the visibility needed for threat detection」を参照してください。

AWS WAF ログを中央データレイクリポジトリに集約して、それらを Athena でクエリする方法の例については、「AWS ビッグデータブログ」のブログ記事「OpenSearch Service、Amazon Athena、および Amazon QuickSight を使用して AWS WAF ログを分析する」を参照してください。

このトピックでは、パーティショニングを使用するものと使用しないもの、2 つの CREATE TABLE ステートメントの例を示します。

注記

このトピックの CREATE TABLE ステートメントは、v1 および v2 AWS WAF ログの両方に使用できます。v1 では、webaclid フィールドに ID が含まれます。v2 では、webaclid フィールドに完全な ARN が含まれます。ここでの CREATE TABLE ステートメントは、string データ型を使用して、アグノスティックにこのコンテンツを取り扱います。