阿里云DDoS高防 - 访问与攻击日志实时分析(二)
摘要: 本文介绍了如何配置DDoS日志分析功能,结合实际场景详细介绍了如何使用日志对DDoS访问与攻击日志进行分析与图形化操作。
概述
本文介绍了如何配置DDoS日志分析功能,结合实际场景详细介绍了如何使用日志对DDoS访问与攻击日志进行分析与图形化操作。
前提配置
刚进入DDoS高防控制台的全量日志下,在界面引导下开通日志服务并授权操作后。就可以给特定的网站启用日志分析功能了。
分析界面介绍
当选择某一个网站点击日志分析
时,会展示基于这个网站的日志分析界面:
这个查询界面大致可以划分为如下几个功能区域:
1. 日志库与项目信息
当为特定DDoS的防护网站打开了日志分析的功能时, DDoS会实时将相关网站的访问和防护日志导入到您拥有的日志服务的专属日志库中。默认打开日志分析的网站的日志都会集中放到这一个日志库中。
专属的日志库名字是ddos-pro-logstore
,存放于日志服务的项目ddos-pro-project-阿里云账户ID
中。国内项目在杭州区域,国外项目在香港区域。
当选择特定网站时,区域#4查询框
会自动填入特定的查询语句,如:
matched_host: aliyun.com
来展示属于这个网站的日志。关于查询语句框的具体信息可以参考后面内容。
2. 日志时间范围选择器
点击这里可以选择要分析的日志的时间范围,可以是相对时间,也可以使整点时间,或者特定时间:
注意:可以查询的最久日志由日志库的周期决定,日志库默认的周期是3天(3天前的日志会自动删除),默认情况下只能查询到过去3*24小时的日志。如果需要查询更长时间的日志,可以参考这里。
对于选择器的每个选项的更详细的介绍,可以参考这里
3. 辅助配置工具栏
这里是查询操作后的一些辅助工具。包括:
另存为快速查询:将当前区域#4查询框
的内容保存并赋予名字,以便复用(如何如何需要在日志服务的高级管理界面中操作)。也可以用于配置告警时使用。
另存为告警:这里是配置告警的控制界面,基于某一个已经保存的快速查询
进行报警配置,具体请参考这里。
4. 查询语句输入框
这里基于已经配置的时间范围内,对日志进行搜索。如果保留空白或者输入*
表示不做任何过滤,查询选择时间范围内的所有日志。
默认选择一个网站的分析日志
时,会自动输入当前选择的网站(例如aliyun.com)的查询条件:
matched_host: aliyun.com
这里可以按照语法*输入,进行全文搜索或者基于字段的搜索,查询框支持换行(Ctrl + Enter)、语法高亮和提示功能等。
4.1 全文搜索
全文搜索,不需要指定特定的字段,直接输入关键字(可以用双引号括起来),多个关键字以空格(或and)分隔即可,
示例1:多关键字查询
这里搜索包含所有www.aliyun.com
和error
的日志。例如:
www.aliyun.com error
也可以是:
www.aliyun.com and error
示例2:多关键字或
条件查询
这里搜索所有包含www.aliyun.com
并且包含error
或者404
的日志。例如:
www.aliyun.com and (error or 404)
示例3:前缀查询
这里搜索所有包含www.aliyun.com
并且包含failed_
开头关键字。例如:
www.aliyun.com and failed_*
注意:查询只支持后缀加*
,不支持前缀*
,如:*_error
。
4.2 字段搜索
基于特定字段的更精准的搜索,并且支持数值类型字段的比较,主要形式是字段:值
或者字段 >= 值
这种形式,之间用and
、or
等进行组合。也可以和全文搜索组合使用(也是通过and
、or
等连接)。
示例1:多字段查询
这里搜索所有www.aliyun.com
被CC攻击的日志:
matched_host: www.aliyun.com and cc_blocks: 1
如果要搜索某个客户端1.2.3.4
对网站www.aliyun.com
的所有错误404的访问日志,可以这样:
real_client_ip: 1.2.3.4 and matched_host: www.aliyun.com and status: 404
注意:这里使用的字段matched_host
、cc_blocks
、real_client_ip
和status
等都是DDoS访问与攻击日志的字段,详细的字段列表和信息,可以参考这里
示例2:数值字段查询
这里搜索所有慢请求日志(响应时间超过5秒):
request_time_msec > 5000
也支持区间查询,查询响应时间大于5秒且小于等于10秒(左开右闭)的日志:
request_time_msec in (5000 10000]
等价于:
request_time_msec > 5000 and request_time_msec <= 10000
示例3:字段存在与否查询
针对特定字段的存在与否进行查询:
-
查询存在
ua_browser
字段的日志:ua_browser: *
-
查询不能存在
ua_browser
字段的日志:not ua_browser: *
4.3 完整字段
DDoS网站访问日志和攻击日志具体有哪些字段可以进行查询,它们的含义、类型、格式以及可能的值有哪些,可以参考这里
4.4 详细的查询语法
关于完整的查询语法,例如操作符关键字、优先级、如何查询包含引号的字符等,可以参考这里
5. 符合条件的日志分布
这里一目了然的展示了符合查询时间和查询语句的日志的时间分布。以时间为横轴,数量纵轴的柱状图形式展示。下方展示了查询的日志总数。
注意:可以在柱状图上滑动以选择更小范围的时间区域,时间选择器
会自动更新为选择的时间范围,并刷新结果。
6. 分页的日志详细信息
这里以分页的形式展示了每一条日志的详细内容,包括时间、内容以及其中的各个字段。可以对列进行排序、对当前页进行下载,也可以点击#6.1 下载与展示列调整
中齿轮按钮,选择特定的字段进行展示等。
注意:可以在页面中点击相应字段的值(或者分词),那么会自动在#4 查询语句输入框
中自动加入相应的搜索条件。
例如鼠标点击request_method: GET
中的值GET
,会自动给搜索框加入如下语句:
原来的搜索语句 and request_method: GET
7. 字段列表
字段列表展示了日志库的所有字段,它们的含义、类型、格式以及可能的值有哪些,可以参考这里。
点击每一个字段旁的眼睛按钮,可以展开对这个字段的各个值的分布。例如点击content_type
将会展示来自当前查询下请求内容类型的分布:
可以点击链接approx_distinct
,展示这个字段有多少个唯一的值。也可以点击上图的小图标,展示具体的分布信息。
如果选择的是数值型的字段,如status
,则提供最大最小等值的快捷统计方式:
注意:以上操作会切换查询界面为统计界面并展示结果,我们会在后面内容介绍。
下一篇: ssl/https配置与实现