查询 Amazon Network Firewall 日志 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

查询 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 日志创建表

  1. 将以下 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/'
  2. 修改 LOCATION Amazon S3 存储桶以指定 Network Firewall 日志的目的地。

  3. 在 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