查询 Amazon Network Firewall 日志
Amazon Network Firewall 是一种托管式服务,您可以使用它为您的 Amazon Virtual Private Cloud 实例部署必要的网络保护。Amazon Network Firewall 与 Amazon Firewall Manager 结合使用,以便您可以基于 Amazon Network Firewall 规则构建策略,然后在您的 VPC 和账户中集中应用这些策略。有关 Amazon Network Firewall 的更多信息,请参阅 Amazon Network Firewall
您可以为您转发到防火墙有状态规则引擎的流量配置 Amazon Network Firewall 日志记录。日志记录为您提供有关网络流量的详细信息,包括有状态引擎接收数据包的时间、有关数据包的详细信息以及针对数据包采取的任何有状态规则操作。日志将发布到您配置的日志目标,您可以在其中检索和查看日志。有关更多信息,请参阅《Amazon Network Firewall 开发人员指南》中的录入来自 Amazon Network Firewall 的网络流量。
要为 Network Firewall 日志创建表
-
将以下 DDL 语句复制并粘贴到 Athena 查询编辑器中。您可能需要更新语句以包含最新版本日志的列。有关更多信息,请参阅《Amazon Network Firewall 开发人员指南》中的防火墙日志的内容。
注意 由于
END是一个 Athena 中的预留字,因此语句使用finish:string而不是end:string。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, finish:string, age:int, min_ttl:int, max_ttl:int > > ) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'paths'='availability_zone,event,event_timestamp,firewall_name' ) STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://bucket_name/AWSLogs/' -
修改
LOCATIONAmazon S3 存储桶以指定 Network Firewall 日志的目的地。 -
在 Athena 控制台中运行查询。查询完成后,Athena 将注册
anf_logs表,使其中的数据可以供查询。
Network Firewall 示例查询
下面的查询显示由具有唯一的源和目标 IP 对的 Amazon Network Firewall 评估的请求数量。
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