最佳实践:WAF常用SLS日志服务分析查询语句

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 注意:查找时请选择对应的时间区间limit 如果不写默认是100参考WAF字段(其它产品同理,可以到产品对应的官网帮助文档查找SLS服务字段解释):https://help.aliyun.com/document_detail/95492.htmlhttps://help.aliyun.com/do...

注意:

  1. 查找时请选择对应的时间区间

  2. limit 如果不写默认是100

  3. 参考WAF字段(其它产品同理,可以到产品对应的官网帮助文档查找SLS服务字段解释):https://help.aliyun.com/document_detail/95492.html

查询QPS峰值:

host:example.com|select COUNT(*) as c ,date_trunc('second', __time__) as s GROUP by s  order by c  desc limit 1

入带宽:

host:example.com| select date_format(from_unixtime(__time__ - __time__% 600), '%H:%i') as dt, round(sum(request_length)/1024.0/600, 2) as "流入流量(KB/s)", round(sum(if((block_action <> ''), request_length, 0))/1024.0/600, 2) as "攻击流量(KB/s)" group by __time__ - __time__% 600 order by dt limit 10000

出带宽:

host:example.com| select date_format(from_unixtime(__time__ - __time__% 600), '%H:%i') as dt, round(sum(body_bytes_sent)/1024.0/600, 2) as "流出流量(KB/s)", round(sum(if((block_action <> ''), body_bytes_sent, 0))/1024.0/600, 2) as "被攻击流量(KB/s)" group by __time__ - __time__% 600 order by dt limit 10000

查询访问IP TOP 10:

host:example.com|SELECT real_client_ip,COUNT(*) as c group by real_client_ip order by c desc limit 10

查询访问URL TOP 10:

host:example.com|SELECT request_path,COUNT(*) as c group by request_path order by c desc limit 10

查询某个IP访问的URL(CC攻击时被攻击的接口比较集中):

host:example.comand real_client_ip:1.2.3.4 |SELECT request_path,COUNT(*) as c group by request_path order by c desc limit 10

查询某个接口访问TOP 10 IP(有攻击时恶意IP排行靠前):

host:example.comand request_path:/login.php |SELECT real_client_ip,COUNT(*) as c group by real_client_ip order by c desc limit 10

最近10分钟每分钟的访问量,按时间降序:

host:example.com|select COUNT(*) as c ,date_trunc('minute', __time__) as minute GROUP by s  order by minute desc limit 10

状态码(通过异常状态码确认业务是否正常):

host:example.com|select status, upstream_status,COUNT(*) as c GROUP by status, upstream_status  order by c desc limit 10

IP命中的策略(查询拦截原因):

host:example.comand real_client_ip:1.2.3.4 |select antibot,antibot_rule,COUNT(*) as c GROUP by antibot,antibot_rule  order by c desc limit 10

指定策略命中情况(观察策略效果、命中率):

host:example.comand antibot_rule:1234 |select real_client_ip,COUNT(*) as c GROUP by real_client_ip  order by c desc limit 10

SDK验签情况:

host:example.com|select wxbb_invalid_wua,COUNT(*) as c GROUP by wxbb_invalid_wua  order by c desc limit 10

策略分布情况:哪些模块命中的

host:example.com |select block_action,COUNT(*) as c group by block_action order by c desc limit 100

查找IP被命中的模块

host:example.com and real_client_ip:1.1.1.1 | select block_action,COUNT(*) as c group by block_action order by c desc limit 10

查找哪些IP被“Web应用攻击防护”命中

host:example.com and block_action:waf |select real_client_ip,COUNT(*) as c group by real_client_ip order by c desc limit 10

如果IP被“web应用攻击防护”模块命中,如何查找对应的规则ID 、以及处置动作

host:example.com and block_action:waf and real_client_ip:1.1.1.1 |select waf_rule_id,waf_action,COUNT(*) as c group by waf_rule_id,waf_action order by c desc limit 10

如何查找哪些IP被“CC”命中

host:example.com and block_action:tmd |select real_client_ip,COUNT(*) as c group by real_client_ip order by c desc limit 10

如果IP被“CC”模块命中,如何查找对应的规则ID 、以及处置动作

host:example.com and block_action:tmd and real_client_ip:1.1.1.1 |select cc_phase,cc_action,COUNT(*) as c group by cc_phase,cc_action order by c desc limit 10

查询近10分钟内每分钟的访问请求量(按时间降序排列),升序可以将desc替换为asc

host:example.com |SELECT COUNT(*) as c,date_trunc('minute', time) as minute GROUP by s order by minute desc limit 10

目录
相关文章
|
19天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
156 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
244 3
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1643 14
|
1月前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
48 1
|
1月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
35 0
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
49 2
|
1月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
213 0
|
1月前
|
存储 分布式计算 NoSQL
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
42 0
|
1月前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
59 0
|
2月前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
下一篇
无影云桌面