通过实时查询与分析采集的日志数据,您可以准确把握网络活动的具体情况,并识别出流量的异常情况,从而实现安全监控的加强和安全事件响应效率的提升。本文将指导您如何运用查询和分析语句操作日志分析工具,并展示如何查阅和理解查询结果。
语句说明
查询语句和分析语句
日志分析的语句分为查询语句和分析语句,查询语句和分析语句之间以竖线(|)分隔。
查询语句|分析语句
常用的查询语句
以下为您介绍云防火墙日志的常用查询语法和示例。
流量大小查询语句
查询互联网主动向内部资产
1.2.*.*
发起访问的网络记录,并统计流入资产的流量总大小和报文总数。log_type:internet_log and direction:"in" and dst_ip:1.2.*.* | select sum(in_packet_bytes) as flow, sum(in_packet_count) as packet
查询NAT边界防火墙流量,并以源IP、目的IP、目的端口字段聚合,分析流入资产和流出资产的总流量大小Top 10情况。
log_type:nat_firewall_log | select src_ip, dst_ip, dst_port, sum(in_packet_bytes) as in_bytes, sum(out_packet_bytes) as out_bytes, sum(total_packet_bytes) as total_bytes group by src_ip, dst_ip, dst_port order by total_bytes desc limit 10
访问控制常见语句
查询互联网主动向内部资产发起访问,并且命中访问控制策略的流量日志。
log_type:internet_log and direction:"in" and not acl_rule_id:00000000-0000-0000-0000-000000000000
其中,
not acl_rule_id
全为0表示命中访问控制策略,其他情况则表示未命中访问控制策略。查询内部资产主动向互联网发起访问、并且命中访问控制策略被拦截的流量日志,分析Top 10目的IP、目的端口的分布情况。
log_type:internet_log and direction:out and not acl_rule_id:00000000-0000-0000-0000-000000000000 and rule_result:drop | select dst_ip, dst_port, count(*) as cnt group by dst_ip, dst_port order by cnt desc limit 10
查询内部资产主动向互联网发起访问、目的端口443、报文数大于3(完成TCP 3次握手)、未识别到域名信息的流量日志,并以目的IP段、应用字段聚合,分析源IP、目的IP、应用的Top 10情况。
log_type:internet_log and direction:out and dst_port:443 and total_packet_count>3 and domain:""| select array_agg(distinct src_ip) as srcip, array_agg(distinct dst_ip) as dstip, slice(split(dst_ip,'.' ,4),1,3) as dstip_c, app_name, COUNT(1) as cnt GROUP by dstip_c,app_name order by cnt desc limit 10
攻击防护常见语句
查询互联网主动向内部资产主动发起访问、并且命中攻击防护策略的流量日志。
log_type:internet_log and direction:"in" and not ips_rule_id:00000000-0000-0000-0000-000000000000
其中,
not ips_rule_id
全为0表示命中攻击防护策略,其他情况则表示未命中攻击防护策略。查询内部资产主动向互联网发起访问、并且命中攻击防护策略的流量日志,查看IP、端口、应用、域名、IPS策略结果等信息。
log_type:internet_log and direction:out and not ips_rule_id:00000000-0000-0000-0000-000000000000 | select src_ip, dst_ip, dst_port,app_name, domain,ips_rule_id, ips_rule_name, rule_result
操作步骤
登录云防火墙控制台。
在左侧导航栏,选择,然后单击日志查询。
(可选)默认情况下,进入日志查询页面时,系统会自动执行一次查询操作,展示查询结果。您可以单击页面右上角的图标,在查询设置页签,关闭该功能或设置查询时间。
在搜索框输入查询语句和分析语句。
查询语句用于日志数据的查看、简单搜索和过滤。您可以使用查询语句,通过特定条件(例如时间范围、请求类型、关键字等)筛选出感兴趣的数据集。查询语句可以单独使用,语法说明请参见查询语法。
分析语句用于对日志数据进行过滤、转换、统计、聚合等操作,例如统计一段时间内数据的平均值、获取数据的同比和环比结果。分析语句必须配合查询语句一起使用,格式为
查询语句|分析语句
,语法说明请参见聚合函数。在搜索框右侧,单击图标,切换为交互式查询分析方式。您可以使用Data Explorer简单、快速地构建查询和分析语句,无需编写SQL代码。具体操作,请参见通过Data Explorer构建查询和分析语句。
设置日志数据的时间范围。有以下三种设置方式,如果在分析语句中设置了时间范围,则查询分析结果以该时间范围为准。
重要执行查询和分析语句后,默认只返回100行。如果您希望返回更多数据,可使用LIMIT语法。更多信息,请参见LIMIT子句。
在页面顶端的下拉列表中,选择时间范围例如最近15分钟。
在分析语句中通过
__time__
字段指定时间范围(闭合区间),例如* | SELECT * FROM log WHERE __time__>1558013658 AND __time__< 1558013660
。在分析语句中指定时间时,使用from_unixtime函数或to_unixtime函数转换时间格式。例如:
* | SELECT * FROM log WHERE from_unixtime(__time__) > from_unixtime(1664186624) AND from_unixtime(__time__) < now()
* | SELECT * FROM log WHERE __time__ > to_unixtime(date_parse('2022-10-19 15:46:05', '%Y-%m-%d %H:%i:%s')) AND __time__ < to_unixtime(now())
单击查询/分析,查看查询分析结果。详细介绍,请参见查看查询分析结果。
查看查询分析结果
您可以通过直方图、原始日志等模块展示的数据,查看日志查询分析结果。
分析语句如果不设置limit,默认返回100条内容。如果您需要返回更多的内容,请手动设置limit。
以下为您介绍直方图和原始日志展示的数据信息,其他功能模块,请参见查询和分析日志。
直方图
直方图展示查询到的日志在时间上的分布情况。
将鼠标悬浮在绿色数据块上时,您可以查看该数据块代表的时间范围和日志命中次数。
双击绿色数据块,您可以查看更细时间粒度的日志分布,同时原始日志页签中将同步展示指定时间范围内的查询结果。
原始日志
原始日志展示了日志的查询分析结果。
序号 | 说明 |
图示① | 切换日志的展示格式、排序时间等。 |
图示② | 单击图标,可下载日志到本地或查看日志的下载记录。详细介绍,请参见导出日志。 |
图示③ |
|
图示④ | 展示日志显示字段、索引日志和系统字段。
|
图示⑤ |
|
图示⑥ | 展示日志详情,日志字段的详细介绍,请参见日志字段。
|