您可以在阿里云云监控服务中配置Web应用防火墙(Web Application Firewall,简称WAF)的安全事件和业务指标的报警通知规则,监控接入WAF的防护对象。本文介绍如何在云监控服务配置WAF监控与告警。
前提条件
已在接入管理页面完成Web业务接入。具体操作,请参见接入管理概述。
创建报警联系人和报警联系人组
- 登录云监控控制台。 
- 在左侧导航栏,选择。 
- 创建报警联系人。 - 在报警联系人页签,单击创建联系人。 
- 在设置报警联系人面板,填写报警联系人的姓名、手机号码、邮箱和Webhook地址,其他参数均保持默认值。 说明- 报警通知信息语言默认为自动,表示云监控根据当前阿里云账号注册时的语言,自动适配报警通知信息的语言。 
- 信息验证无误后,单击确认。 
 
- 创建报警联系组。 - 在报警联系组页签,单击新建联系人组。 
- 在新建联系人组面板,填写报警联系组的组名,并选择报警联系人后,单击确认。 
 
- 批量添加报警联系人到报警联系组。 - 在报警联系人页签,选中要添加到报警联系组的报警联系人,单击添加到报警联系组。 
- 在添加到报警联系组对话框,单击目标报警联系组,单击确定。 
 - 创建报警联系人、创建报警联系组、批量添加报警联系人到报警联系组后,您配置的WAF监控和告警信息会发送给告警联系人。告警联系人需及时查看告警通知信息,并对告警进行相应的处理。 
设置WAF安全事件的监控与告警
- 登录云监控控制台。 
- 在左侧导航栏,选择。 
- 在事件监控页签,单击右侧的旧版事件报警规则,然后单击创建报警规则。 
- 在创建/修改事件报警面板,完成如下配置后,单击确定。 - 参数 - 说明 - 报警规则名称 - 事件报警规则的名称。 - 产品类型 - 事件报警规则的云产品类型,选择Web应用防火墙。 - 事件类型 - 事件报警规则的事件类型,取值:Attack、Exceed、Event。 - 事件等级 - 事件报警规则的事件等级。WAF 3.0的事件等级均为严重。 - 事件名称 - 事件报警规则的事件名称。 说明- 事件名称下拉列表中,不带V3后缀的事件为WAF 2.0支持监控的事件,带V3后缀的事件为WAF 3.0支持监控的事件。关于WAF 2.0支持监控的安全事件,请参见支持监控的安全事件。 - 关键词过滤 - 报警规则过滤的关键词。取值: - 满足包含上面任何一个关键词:当事件内容中包含任何一个关键词时,云监控会发送报警通知。 
- 满足不包含上面任何一个关键词:当事件内容中不包含任何一个关键词时,云监控会发送报警通知。 
 - SQL Filter - SQL过滤语句。 - 资源范围 - 事件报警的生效范围,取值:全部资源、应用分组。 - 报警通知 - 报警联系人组:选择发送报警的联系人组,具体操作,请参见创建报警联系人和报警联系人组。 
- 通知方式:事件报警的级别和通知方式,取值: - Critical(电话+短信+邮件+WebHook) 
- Warning(短信+邮件+WebHook) 
- Info(邮件+WebHook) 
 
 - 轻量消息队列(原 MNS) - 事件报警投递到轻量消息队列(原 MNS)的指定队列。 - 函数计算 - 事件报警投递到函数计算的指定函数。 - URL回调 - 公网可访问的URL,用于接收云监控通过POST请求推送的报警信息。目前仅支持HTTP协议。关于如何设置报警回调,请参见使用系统事件报警回调(旧版)。 - 日志服务 - 事件报警投递到日志服务的指定日志库。 - 通道沉默周期 - 报警发生后未恢复正常,间隔多久重复发送一次报警通知。取值:5分钟、15分钟、30分钟、60分钟、3小时、6小时、12小时和24小时。 - 成功创建报警规则后,您可以在当已接入WAF的防护对象上发生安全事件时,报警规则中设置的联系人将会收到相关报警通知。 - 您也可以在事件监控页面,在事件监控列表上的筛选框中,选择产品为Web应用防火墙,监控事件为WAF 3.0相关事件(带V3后缀的事件),查询近期发生的WAF监控事件。 
设置WAF业务指标的监控与告警
- 登录云监控控制台。 
- 在左侧导航栏,选择。 
- 在报警规则页面,单击创建报警规则。 
- 在创建报警规则面板完成如下配置后,单击确认。 - 参数 - 说明 - 产品 - 云监控可管理的云产品名称,选择Web应用防火墙3.0。 - 资源范围 - 报警规则作用的资源范围。取值: - 全部资源:报警规则作用于WAF 3.0的全部资源上。 
- 应用分组:报警规则作用于WAF 3.0的指定应用分组内的全部资源上。 
- 实例:报警规则作用于WAF 3.0的指定资源上。 
 - 规则描述 - 报警规则的主体。当监控数据满足报警条件时,触发报警规则。规则描述的设置方法如下: - 单击添加规则。 
- 在设置规则描述面板,设置规则名称、监控指标类型、监控指标、阈值、报警级别和报警方式等,单击确定。 说明- 关于WAF 3.0支持监控的业务指标,请参见支持监控的业务指标。 
 - 通道沉默周期 - 报警发生后未恢复正常,间隔多久重复发送一次报警通知。取值:1分钟、5分钟、15分钟、30分钟、60分钟、3小时、6小时、12小时和24小时。 - 某监控指标达到报警阈值时发送报警,如果监控指标在通道沉默周期内持续超过报警阈值,在通道沉默周期内不会重复发送报警通知;如果监控指标在通道沉默周期后仍未恢复正常,则云监控再次发送报警通知。 - 生效时间 - 报警规则的生效时间,报警规则只在生效时间内才会检查监控数据是否需要报警。 - 报警联系人组 - 选择发送报警的联系人组。具体操作,请参见创建报警联系人和报警联系人组。 - 报警回调 - 公网可访问的URL,用于接收云监控通过POST请求推送的报警信息。目前仅支持HTTP协议。关于如何设置报警回调,请参见使用阈值报警回调。 说明- 单击高级设置,可设置该参数。 - 弹性伸缩 - 如果您打开弹性伸缩开关,当报警发生时,会触发相应的伸缩规则。您需要设置弹性伸缩的地域、弹性伸缩组和弹性伸缩规则。 说明- 单击高级设置,可设置该参数。 - 日志服务 - 如果您打开日志服务开关,当报警发生时,会将报警信息写入日志服务的日志库。您需要设置日志服务的地域、ProjectName和Logstore。关于如何创建Project和Logstore,请参见快速入门。 说明- 单击高级设置,可设置该参数。 - 轻量消息队列(原 MNS)— topic - 如果您打开轻量消息队列(原 MNS)— topic开关,当报警发生时,会将报警信息写入轻量消息队列的主题。您需要设置轻量消息队列的地域和主题。关于如何创建主题,请参见创建主题。 说明- 单击高级设置,可设置该参数。 - 无数据处理方法 - 无监控数据时报警的处理方式。取值: - 不做任何处理(默认值) 
- 发送无数据报警 
- 视为恢复 
 说明- 单击高级设置,可设置该参数。 - 标签 - 报警规则的标签。包括标签名称和标签值。 - 成功创建规则后,您可以在报警规则列表页面,在列表上的筛选框中,选择产品为Web应用防火墙3.0,指标名称为resource分页的指标,查询已创建的监控指标报警规则。 说明- WAF支持的监控指标说明如下: - domain分页下的指标为WAF 2.0支持监控的指标。 
- resource分页下的指标为WAF 3.0支持监控的指标。关于WAF 3.0支持监控的业务指标,请参见支持监控的业务指标。 
- 实例分页下的指标为混合云WAF支持监控的指标。其中,不带V3后缀的指标为WAF 2.0支持监控的指标,带V3后缀的指标为WAF 3.0支持监控的指标。 
 
支持监控的安全事件
云监控支持对接入WAF的防护对象上发生的如下安全事件进行监控和报警。具体操作,请参见设置WAF攻击事件的监控与告警。
| 事件类型 | 事件名称 | 事件等级 | 触发逻辑 | 
| Attack | 访问控制事件V3 (自定义规则) | 严重 | 实现对事件的准确监控和统计分析,我们采用基于移动窗口的计算方法。具体过程如下: 滚动窗口设置:我们选择一个长度为10分钟的滚动窗口,并且以每分钟一个统计值的频率进行更新。每分钟的统计值表示该分钟的拦截量。 事件开始条件: 
 事件结束条件: 
 | 
| Attack | CC攻击事件V3 | ||
| Attack | Web攻击事件V3 | ||
| Attack | 防扫描事件V3 | ||
| Exceed | QPS超用事件V3 | 超出QPS上限触发,详见QPS版本说明。 | |
| Exceed | 计费保护触发事件V3 | 超过流量计费保护阈值时触发。 | |
| Event | API安全事件V3 | API安全中风险检测的高危风险或者安全事件的高危事件。 | 
支持监控的业务指标
云监控支持对接入WAF的防护对象的如下系统请求数据指标设置异常监控和告警,支持自定义指标异常的判断方法。具体操作,请参见设置WAF业务指标的监控与告警。
通过添加防护对象方式手动增加的防护对象不支持监控流量相关监控项,例如4XX占比V3、5XX占比V3、QPS_V3、QPS环比增长率V3、QPS环比下降率V3等指标。
| 监控项 | 维度 | 指标含义 | 备注 | 
| 4XX占比V3 | 防护对象 | 每分钟4XX状态码的占比(不包含405)。 | 报警信息以小数形式呈现 | 
| 5XX占比V3 | 防护对象 | 每分钟5XX状态码的占比。 | 报警信息以小数形式呈现 | 
| 访问控制拦截量(5m)V3 | 防护对象 | 近5分钟内精准访问控制拦截量,单位:个。 | 无 | 
| 访问控制拦截占比(5m)V3 | 防护对象 | 近5分钟内精准访问控制拦截占总请求量的占比。 | 报警信息以小数形式呈现 | 
| CC防护拦截量(5m)V3 | 防护对象 | 近5分钟内CC安全防护拦截量,单位:个。 | 无 | 
| CC防护拦截占比(5m)V3 | 防护对象 | 近5分钟内CC安全防护拦截占总请求量的占比。 | 报警信息以小数形式呈现 | 
| Web攻击拦截量(5m)V3 | 防护对象 | 近5分钟内Web应用攻击防护拦截量,单位:个。 | 无 | 
| Web攻击拦截占比(5m)V3 | 防护对象 | 近5分钟内Web应用攻击防护拦截占总请求量的占比。 | 报警信息以小数形式呈现 | 
| QPS_V3 | 防护对象 | QPS,单位:次/秒。 | 无 | 
| QPS环比增长率V3 | 防护对象 | 每分钟QPS的环比增长率。 | 报警信息以百分比形式呈现 | 
| QPS环比下降率V3 | 防护对象 | 每分钟QPS的环比下降率。 | 报警信息以百分比形式呈现 | 
相关文档
API安全只能通过云监控实现严重程度为高危的告警推送,如果您需要低危、中危的告警推送,请参见API安全告警推送最佳实践。