AWS Network Firewall ログのクエリ
AWS Network Firewall は、Amazon Virtual Private Cloud インスタンスに不可欠なネットワーク保護をデプロイするために使用できるマネージドサービスです。AWS Network Firewall は AWS Firewall Manager と連携するため、AWS Network Firewall ルールに基づいてポリシーを構築して、VPC とアカウント全体に集中的に適用できます。の詳細については、「AWS Network Firewall」を参照してください。。AWS Network Firewall
ファイアウォールのステートフルルールエンジンに転送するトラフィックの AWS Network Firewall ログの記録を設定できます。ログを記録すると、ステートフルエンジンがパケットを受信した時間、パケットに関する詳細情報、パケットに対して実行されたステートフルルールアクションなど、ネットワークトラフィックに関する詳細情報が得られます。ログは、設定したログ送信先に公開され、そこでログを取得して表示できます。詳細については、「AWS Network Firewall デベロッパーガイド」の「AWS Network Firewallからのネットワークトラフィックのログ記録」を参照してください。
Network Firewall のログのテーブルを作成するには
-
以下の DDL ステートメントを Athena クエリエディタにコピーして貼り付けます。ステートメントを更新して、最新バージョンのログの列を含めることが必要になる場合があります。詳細については、「AWS Network Firewall デベロッパーガイド」の「ファイアウォールログの内容」を参照してください。
CREATE EXTERNAL TABLE anf_logs( firewall_name string, availability_zone string, event_timestamp bigint, event struct< timestamp:string, flow_id:bigint, event_type:string, src_ip:string, src_port:int, dest_ip:string, dest_port:int, proto:string, app_proto:string, netflow:struct< pkts:int, bytes:bigint, start:string, `end`:string, age:int, min_ttl:int, max_ttl:int > > ) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://
bucket_name
/AWSLogs/' -
LOCATION
の Simple Storage Service (Amazon S3) バケットを変更して、Network Firewall ログの送信先を指定します。 -
Athena コンソールでクエリを実行します。クエリが完了すると、Athena が
anf_logs
テーブルを登録して、その中のデータをクエリ向けに準備します。
Network Firewall クエリ例
次のクエリは、AWS Network Firewall によって評価されたリクエストのうち、送信元と送信先の IP ペアが一意のものの数を示します。
SELECT COUNT(*) AS count, event.src_ip, event.src_port, event.dest_ip, event.dest_port FROM anf_logs GROUP BY event.src_ip, event.src_port, event.dest_ip, event.dest_port ORDER BY COUNT DESC LIMIT 100