功能简介
访问日志功能用于记录 Web 应用防火墙防护域名的访问日志信息,提供开启访问日志开关的域名在用户自定义的日志保存天数内(最大180天)的访问日志记录、查询和下载功能。启用访问日志功能后,您可以根据需要查询和下载访问日志,满足安全合规、安全运维等需求。
注意:
关闭日志服务:如需关闭访问日志存储功能,可以在 续费管理 中,找到相应计费项取消自动续费。安全日志包资源到期销毁后将停止存储新增日志,并在24小时内清空历史日志,请谨慎操作。
升级日志服务容量:当存储的日志容量超过购买容量后,系统将自动停止新的访问日志写入,历史的访问日志不受影响,直到到达存储周期后开始自动删除。为了避免超量导致丢失访问日志,建议关注日志使用量,提前扩容避免超量导致访问日志丢失。
操作步骤
启用访问日志
配置访问日志存储
注意:
全部日志存储配置仅在选中“全部实例”且“全部域名”时展示,选中“单个域名”时,仅支持修改该域名的日志存储字段设置。
1. 登录 Web 应用防火墙控制台,在左侧导航栏中,选择访问日志,并单击日志服务。
2. 在日志服务页面,左上角可切换实例和域名;单击右上角存储配置,可以查看并修改日志存储相关配置。

生效域名范围:支持查看已经开启访问日志的域名数量,并支持单击前往设置,在域名列表中修改单个域名的访问日志开关开启状态。

日志保存天数:单击编辑,即可修改日志保存天数。支持修改为7天、30天、32天、60天、90天、180天。每2个月支持修改1次存储时长。

说明:
日志保存天数支持设置最大180天。为满足等保合规要求,建议用户访问日志存储天数设置为180天。
修改日志存储时长后,修改前存储的日志将按原存储时长淘汰,新存储的日志按修改后的存储时长淘汰。
日志字段设置:单击编辑,支持自定义勾选保存 BOT 信息、请求内容 Request Body、自定义 Headers。

说明:
日志字段设置支持基于全部域名、单个域名进行设置。全部域名及单个域名均配置策略时,针对单个域名配置的策略优先生效。
日志清空次数:单击手动清空,支持删除当前存储的所有历史日志,部分统计和报表数据将被丢弃,操作不可恢复。每个自然月支持最多清空4次。

说明:
手动清空仅能针对当前所有日志,且操作预计耗时10分钟左右,操作期间停止写入日志。
存储告警设置:单击编辑,支持通知的阈值百分比。当日志存储量达到您设定的阈值百分比,即会触发对当前账户短信、站内信、邮件、微信、企业微信等渠道的告警通知。

3. 在日志服务页面,右上角可查看日志已使用容量进度条,单击了解详情,可跳转到 Web 应用防火墙的计费详情页面。

检索访问日志
1. 登录 Web 应用防火墙控制台,在左侧导航栏中,选择访问日志。
2. 在访问日志页面,单击日志服务,切换到日志服务页面。
3. 检索访问日志前,请先设置检索的范围。选择实例和域名,设置时间范围,单击 
。


交互模式:根据交互模式,检索访问日志。
3.1.1 在访问日志 > 日志服务页面,选择交互模式。

3.1.2 单击添加检索条件,选择日志详情字段和逻辑关系,单击确定。日志详情字段说明请参考 日志详情字段。

3.1.3 重复执行上一步,直到添加完所有检索条件,单击
。

语句模式:根据检索语句,检索访问日志。
3.1.4 在访问日志 > 日志服务页面,选择语句模式。

3.1.5 在语句框中输入检索语句,单击
。检索语法如下:

保留字符 | 说明 |
AND | “与”逻辑操作符,例如 level:ERROR AND pid:1234 |
OR | “或”逻辑操作符,例如 level:ERROR OR level:WARNING |
NOT | “非”逻辑操作符,例如 level:ERROR NOT pid:1234 |
() | 分组操作符,控制逻辑运算优先级,例如 (ERROR OR WARNING) AND pid:1234 |
: | 冒号,表示作用于的 key 字段,即键值检索,例如 level:ERROR |
"" | 双引号,引用一个短语词组(短语当作一个整体词组),例如 name:"john Smith" |
* | 通配符查询,匹配零个、单个、多个字符,例如 host:www.test*.com,不支持前缀模糊查询还可以通过 key:* 的方式查询字段(key)存在的日志,等价于 _exists_:key |
? | 通配符查询,匹配单个字符,例如 host:www.te?t.com 与*类似,不支持前缀模糊查询 |
> | 范围操作符,表示大于某个数值,例如 status:>400 |
>= | 范围操作符,表示大于等于某个数值,例如 status:>=400 |
< | 范围操作符,表示小于某个数值,例如 status:<400 |
<= | 范围操作符,表示小于等于某个数值,例如 status:<=400 |
TO | “范围”逻辑操作符,例如 request_time:[0.1 TO 1.0] |
[] | 范围操作符,包含边界值的范围,例如 age:[20 TO 30] |
{} | 范围操作符,不包含边界值的范围,例如 age:{20 TO 30} |
注意:
语法区分大小写,例如 AND、OR 表示检索逻辑操作符,而 and、or 视为普通文本。
多个检索条件使用空格连接时,视为“或”逻辑,例如 warning error 等价于 warning OR error。
检索关键字中存在特殊字符时,需使用转义符进行转义,特殊字符包括 + - && || ! ( ) { } [ ] ^ " ~ * ? : \\。
同时使用 AND 和 OR 逻辑运算符时,请使用()对检索条件进行分组,以明确逻辑优先级,例如(ERROR OR WARNING) AND pid:1234。
分析访问日志
原始日志
1. 登录 Web 应用防火墙控制台,在左侧导航栏中选择访问日志。
2. 在访问日志页面,单击日志服务 > 原始日志。
在原始日志上方,可以查看当前检索条件下符合条件的日志总条数和时间分布等关键信息;也可以通过下方设置栏切换原始日志的展示样式。

在原始日志数据列表左侧,单击“字段名称”,会按日志数大小排序展示与本字段匹配的 TOP 5 字段详情及日志数占比。各字段说明,请参见 日志详情字段说明。

在访问日志数据列表中,单击每条展示日志发生时间左侧的
,可以查看字段详情;单击 JSON,可以查看 JSON 格式的字段详情。各字段说明,请参见 日志详情字段说明。


统计图表
1. 登录 Web 应用防火墙控制台,在左侧导航栏中选择访问日志。
2. 在访问日志页面,单击日志服务 > 统计图表。
3. 生成图表时,您可以选择:
交互模式:通过添加统计语句来生成图表。

语句模式:直接使用查询语句进行绘图。

4. 图表生成后,您可以通过以下两种方式调整其展示效果:
在图表配置中直接修改图表类型。

使用图表推荐提供的样式或语句模板快速优化展示。

下载访问日志
1. 登录 Web 应用防火墙控制台,在左侧导航栏中选择访问日志。
2. 在访问日志页面,单击日志服务 > 原始日志。
3. 在原始日志数据列表右上角, 单击
,侧边栏展开下载任务页面。


单击下载日志,进入下载日志数据页面。根据需要对数据格式、日志排序、选择字段、日志数量等选项进行设置,单击导出。

注意:
默认下载当前检索的日志范围。
同一时间段内只允许创建一个下载任务,请耐心等待。
单次最多下载100万条日志,如果您需要下载的日志超过100万条,建议您分多次任务进行下载。
当选择泛域名(如:
*.abc.com)时,所有关联子域名(以.abc.com结尾)的日志也将会被下载。最多创建五条下载任务,请注意下载的任务数。
单击下载记录,进入下载记录页面。可在此查看所有的下载任务相关信息,并对已完成的下载任务进行删除或下载操作。

说明
创建成功的日志下载任务,保留3天,超过3天之后日志文件将会删除,请及时下载。
日志投递
附录
日志详情字段说明
信息类型 | 字段名 | 说明 |
基础信息 | domain | 域名:所属泛域名。 |
| request_time | 请求耗时:客户端请求到达 Web 应用防火墙和从 Web 应用防火墙返回需要的时间。 |
| client | 访问源 IP:客户端请求源 IP。 |
| uuid | 请求 UUID:HTTP 请求唯一标识。 |
| schema | 请求协议:HTTP 或者 HTTPS。 |
| method | 客户端请求方法。 |
| instance | 域名接入的 Web 应用防火墙实例名称。 |
| edition | 域名接入的 Web 应用防火墙实例类型:分为 sparta-waf(SaaS 型 WAF)和 clb-waf(负载均衡型 WAF)。 |
| sec_chain | 请求经过的安全模块及对应执行动作。 |
| appid | 用户腾讯云账号的 APPID。 |
访问 IP 信息 | ipinfo_nation | 访问 IP 所属国家名称。 |
| ipinfo_state | 访问 IP 所属国家英文简称。 |
| ipinfo_city | 访问 IP 所属城市。 |
| ipinfo_province | 访问 IP 所属省份。 |
| ipinfo_isp | 访问 IP 所属运营商。 |
| ipinfo_detail | 访问 IP 详情。 |
| ipinfo_longitude | 访问 IP 所属经度信息。 |
| ipinfo_dimensionality | 访问 IP 所属纬度信息。 |
请求详情信息 | url | 请求的 uri:客户端完整请求路径中,域名后第一个“/”到“?”之间的内容。 |
| accept | HTTP 请求头部字段,用于告知服务器客户端所支持的响应内容类型。 |
| encoding | HTTP 请求头部字段,用于告知服务器客户端所支持的压缩算法。 |
| language | HTTP 请求头部字段,用于告知服务器客户端所支持的语言。 |
| connection | HTTP 请求头部字段,控制连接行为,例如保持连接、关闭连接等。 |
| content_type | HTTP 请求头部字段,指定请求体的 MIME 类型。 |
| cookie | 请求的 cookie 信息,最大长度为 1K。 |
| host | 客户端请求域名。 |
| referer | 源页面。 |
| x_forwarded_for | 记录客户端请求经过的所有代理 IP 地址及客户端真实 IP 地址。 |
| user_agent | 请求 UA:服务器客户端的软件和操作系统信息。 |
| headers | HTTP 请求的头部信息。 |
| request_length | 请求的大小,上行带宽。 |
| query | HTTP 请求的 Query String,最大长度为 1K。 |
| msec | 请求发生时的时间戳。 |
| time | NGINX 的本地可读性的时间字符串。 |
应答详情信息 | upstream_status | 源站返回给 Web 应用防火墙的响应状态码。 |
| status | SaaS 型 Web 应用防火墙返回给客户端的响应状态码: 200:正常请求 202:前端对抗 302:重定向 403:拦截 4XX:参考 HTTP 响应状态码标准定义 5XX:参考 HTTP 响应状态码标准定义 负载均衡型 Web 应用防火墙返回给负载均衡的响应状态码: 600:正常请求 624:前端对抗 621:重定向 615:拦截 |
| bytes_sent | 响应体大小。 |
| upstream_connect_time | 客户端请求从 Web 应用防火墙到源站需要的连接时间。 |
| upstream_response_time | 客户端请求从源站返回到 Web 应用防火墙需要的时间。 |
| upstream | 上游服务器 IP。 |
BOT 流量信息 | bot_module | 当前访问请求命中的 BOT 检测模块。 |
| bot_action | 当前访问请求对应执行的 BOT 处置动作。 |
| bot_score | 当前访问请求的 BOT 得分信息。 |
| bot_label | 当前访问请求命中的 BOT 标签。 |
| ua_type | 当前访问请求中访问用户的 User-Agent 类型。 |
| ua_crawlername | 当前访问请求中疑似爬虫的 User-Agent 名称。 |
| ua_fake | 当前访问请求中的 User-Agent 是否伪造,0为否,1为是。 |
| ua_goodbot | 当前访问请求中的 BOT 是否为 goodbot,0为否,1为是。 |
| bot_ai | 当前访问请求是否命中 AI 引擎的异常请求,0为无异常,1为异常。 |
| bot_stat | 当前访问请求是否命中智能统计的异常请求,0为无异常,1为异常。 |
| bot_ti_tags | 当前访问请求是否命中威胁情报,展示命中的情报标签。 |
| bot_id | 当前访问请求的 BOT ID。 |
| bot_scene_id | 当前访问请求命中的 BOT 场景ID。 |
| bot_action_id | 当前访问请求命中的 BOT 动作策略 ID。 |
| bot_rule_id | 当前访问请求命中的 BOT 规则 ID。 |
| bot_rule_name | 当前访问请求命中的 BOT 规则名称。 |
| bot_token | 当前访问请求的 BOT 会话 ID。 |
sec_chain 字段说明
模块字段说明
模块字段名 | 模块类型 |
web_sec | web 基础安全 |
cc | cc 防护 |
areaban | 访问控制-地域封禁 |
whitelist | ip白名单、精准白名单 |
bw_list | ip黑名单 |
acl | 访问控制 |
bot | bot 管理 |
ip_punish | web基础安全-ip封禁 |
business_risk | 业务安全 |
ai | ai引擎 |
captcha | 验证码服务 |
api_sec | api 安全 |
执行动作说明
动作代码 | 动作说明 |
0 | Bypass |
1 | Deny |
2 | CAPTCHA |
3 | Redirect |
4 | Log |
5 | No_Action |
6 | Empty_Rules |
7 | Allow |
9 | Return |
10 | Reload |
11 | Error |
12 | Miss |
13 | JSChallenge |
14 | Delay |
15 | AUTO_CAPTCHA_LOG |
16 | AUTO_CAPTCHA_DENY |
20 | Action Unknown |
