全部产品
Search
文档中心

Web 应用防火墙:API安全策略配置

更新时间:Dec 10, 2024

本文介绍了API安全的内置策略及自定义策略配置。在内置检测机制的基础上,API安全支持自定义符合业务特征的检测策略。您可以进行风险检测配置、安全事件配置敏感数据配置、鉴权凭据配置、业务用途配置、白名单配置、生命周期管理、日志订阅和生效对象配置,使得识别出的API数据更符合您的实际业务情况,进一步提高API安全检测的准确率与召回率,帮助您结合业务情况进行相应处置,降低API业务资产遭受攻击带来的损失。

一、风险检测配置

风险是指接口因开发缺陷,或者管理、配置缺陷而导致的安全风险或安全隐患。安全风险与安全事件的区别是,安全风险并不一定代表发生了攻击,而安全事件则代表被攻击产生的告警。

内置策略配置

在策略配置的风险检测配置页签,可以查看已经配置的风险策略,内置策略目前支持更改开启和关闭状态,及风险等级调整。您可以结合您的业务情况将内置策略的风险等级调整为低危、中危、高危中的一种。

自定义策略配置

除了内置策略外,风险检测配置允许您自定义配置最多20条自定义策略,自定义策略配置规则如下。

  1. API安全页面,选择策略配置风险检测配置页签。

  2. 在左栏自定义策略处单击新增,在弹出的抽屉页进行相关配置,具体的配置项如下表所示。

    配置项名称

    说明

    风险状态

    设置策略状态,默认为开。

    风险名称

    设置自定义风险的名称。支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。

    处置建议

    根据您的业务情况设置自定义风险策略的处理建议。

    风险等级

    支持低危、中危、高危三个风险等级设置。

    检测设置

    设置您的自定义风险策略检测条件,最多支持10个条件。

    关于检测设置的详细配置,对应逻辑符和匹配内容示例如下表所示。

    说明

    匹配内容可以输入最多50个,并按回车键确认。

    详细配置

    匹配字段

    子条件(需要输入/选择)

    逻辑符

    匹配内容说明

    域名

    不支持

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    API

    不支持

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    请求方法

    不支持

    等于多值之一

    不等于任一值

    多选,可选GET、POST、DELETE、PUT等请求方法。

    User-Agent

    不支持

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    Referer

    不支持

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    通信协议

    不支持

    等于

    列表,可选HTTP/HTTPS

    请求Content-Type

    不支持

    包含多值之一

    不包含任一值

    可以输入多个,最多50个,按回车键确认。

    请求长度

    不支持

    等于

    值小于

    值大于

    限制为0-8192的整数

    响应Content-Type

    不支持

    包含多值之一

    不包含任一值

    可以输入多个,最多50个,按回车键确认。

    响应长度

    不支持

    等于

    值小于

    值大于

    限制为0-8192的整数

    响应状态码

    不支持

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    请求Header

    自定义Header

    存在

    不存在

    长度等于

    长度小于

    长度大于

    包含多值之一

    不包含任一值

    Cookie参数

    自定义Cookie-Exact

    存在

    不存在

    长度等于

    长度小于

    长度大于

    包含多值之一

    不包含任一值

    -

    GET参数

    自定义Parameter

    存在

    不存在

    长度等于

    长度小于

    长度大于

    包含多值之一

    不包含任一值

    -

    POST参数

    自定义Post-Arg

    存在

    不存在

    长度等于

    长度小于

    长度大于

    包含多值之一

    不包含任一值

    -

    响应Header

    响应Header

    存在

    不存在

    长度等于

    长度小于

    长度大于

    包含多值之一

    不包含任一值

    -

    响应参数

    响应参数

    存在

    不存在

    长度等于

    长度小于

    长度大于

    包含多值之一

    不包含任一值

    -

    业务用途

    不支持

    包含多值之一

    不包含任一值

    业务用途列表,支持多选。

    说明

    关于业务用途类型的更多信息,请参见API安全如何划分API业务用途

    服务对象

    不支持

    包含多值之一

    不包含任一值

    多选,服务对象列表

    说明

    关于服务对象类型的更多信息,请参见API安全如何区分接口的服务对象

    鉴权

    不支持

    等于

    YES/NO

    请求敏感数据类型

    不支持

    包含多值之一

    不包含任一值

    种类数大于

    勾选敏感数据类型列表,支持多选;种类数大于条件下为0-8192的整数。

    请求敏感数据等级

    不支持

    包含多值之一

    不包含任一值

    S1-S4,支持多选。

    响应敏感数据类型

    不支持

    包含多值之一

    不包含任一值

    种类数大于

    勾选敏感数据类型列表,支持多选;种类数大于条件下为0-8192的整数

    响应敏感数据等级

    不支持

    包含多值之一

    不包含任一值

    S1-S4,支持多选。

    响应敏感数据

    勾选响应敏感数据列表,支持多选

    数量大于

    限制为0-8192的整数。

    访问源地理位置

    不支持

    等于

    CN / NOT-CN

    访问源IP

    不支持

    属于

    不属于

    请填入IP或IP/掩码(例如:1.1.X.X/24)。暂不支持正则,最多填写50个,以英文逗号分隔,或按回车键确认。

  3. 当您完成自定义配置后,单击确定按钮保存该配置。

二、安全事件配置

安全事件是指接口发生了异常调用或攻击行为,比如登录接口被爆破攻击、短信发送接口被人滥用进行短信轰炸等。内置事件检测以IP为检测粒度,同时相同IP段、API、事件类型且在同一天发生的事件,会被聚合成一条告警。

内置策略配置

安全事件的内置策略在触发告警后,如果IP还在持续攻击,不会产生新一条告警,但原来那条告警的攻击时间会随之更新,事件告警等级也会随着攻击量等情况发生变化。

在策略配置的安全事件配置页签,可以查看已经配置的安全事件策略,内置策略目前不支持编辑修改或删除。

自定义策略配置

除了内置策略外,安全事件配置允许您自定义配置最多10条自定义策略,自定义策略配置规则如下。

  1. API安全页面,选择策略配置安全事件配置页签。

  2. 在左栏自定义策略处单击新增,在弹出的抽屉页进行相关配置,具体的配置项如下表所示。

    配置项名称

    说明

    事件状态

    设置策略状态,默认为开启。

    事件名称

    设置自定义事件的名称。支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。

    处置建议

    根据您的业务情况设置自定义安全事件的处理建议。

    事件等级

    支持低危、中危、高危三个风险等级的设置。

    匹配条件

    设置您的自定义安全事件策略检测条件,最多支持10个条件。

    说明

    如果定义了多个条件,则只有当多个条件同时满足时,才算命中规则。

    统计周期

    以分钟为粒度,最大可设置为15分钟。

    请求量

    限制输入正整数。

    数据统计

    设置您的自定义安全事件策略统计条件,最多支持10个条件。

    关于匹配条件的详细配置,对应逻辑符和匹配内容示例及详细信息,请参考风险检测部分详细配置

    说明

    匹配内容最多输入50个,并按回车键确认。

    关于数据统计的详细配置,对应逻辑符和匹配内容示例如下表所示。

    详细配置

    匹配字段

    子条件(需要输入/选择)

    逻辑符

    匹配内容说明

    状态码统计

    状态码(100-600的整数)

    值大于

    限制为0-8192的整数。

    请求Header

    自定义Header

    去重小于

    去重等于

    去重大于

    限制为0-8192的整数。

    Cookie参数

    自定义Cookie-Exact

    去重小于

    去重等于

    去重大于

    限制为0-8192的整数。

    GET参数

    自定义Parameter

    去重小于

    去重等于

    去重大于

    限制为0-8192的整数。

    POST参数

    自定义Post-Arg

    去重小于

    去重等于

    去重大于

    限制为0-8192的整数。

    响应敏感数据类型

    勾选响应敏感数据类型,支持多选

    去重大于

    限制为0-8192的整数。

    响应敏感数据等级

    勾选响应敏感数据等级,支持多选

    去重大于

    限制为0-8192的整数。

    说明

    API安全的响应敏感数据信息默认采用采样分析,如需在安全事件的自定义策略中配置响应敏感数据类型以及响应敏感数据等级的匹配检测,为了保证防护对象下的响应敏感数据信息被全部记录分析,您需要在配置策略 > 生效对象配置 中开启对应的防护对象的溯源审计开关。

  3. 当您完成自定义配置时单击确定按钮保存该配置。

三、敏感数据配置

在策略配置的敏感数据配置页签,可以搜索、筛选、查看已经配置的敏感数据策略。

脱敏展示

在敏感数据配置页签中提供了脱敏展示开关,默认为关闭状态,不进行数据脱敏展示。

脱敏展示开启后,会对以下信息进行脱敏处理:

  • 风险详情API详情中,请求样例和响应样例的全字段默认将敏感数据替换为占位符{{Phone}}

  • 安全事件的事件详情中,包含敏感数据的请求数据样例和响应数据样例被脱敏展示为{}

  • 样例信息中Request Cookie脱敏为{{Cookie}}、包含Token的Request Header脱敏为{{XXXToken}}、Response SetCookie脱敏为{{SetCookie}}

脱敏展示功能的生效范围如下:

  • 风险详情API详情:仅对新增的请求数据样例和响应数据样例信息生效。

  • 事件详情:对新增和存量的请求数据样例和响应数据样例信息都生效。

内置策略配置

内置策略目前不支持编辑、修改或删除,仅支持更改开启和关闭状态。

自定义策略配置

如果您在业务中存在自己定义的敏感数据,您可以配置自定义敏感数据检测规则。敏感数据配置允许您自定义配置最多20条自定义策略,自定义策略配置规则如下。

  1. API安全页面,选择策略配置敏感数据配置页签。

  2. 单击新建策略按钮,在弹出的抽屉页进行相关配置,目前支持简易模式专家模式两种模式的自定义策略配置方法。

    配置项

    说明

    名称

    为该规则设置一个名称。

    支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。

    模式

    设置自定义策略的检测模式。

    • 简易模式:提供简易的配置界面,便于操作。

      选择简易模式后,您需要设置检测的字符长度

      • 字符:支持检测数字、大写字母、小写字母,可多选。

      • 长度:支持检测的长度范围为6~64,且起始值和结束值需为整数。

    • 专家模式:支持正则表达式。

      选择专家模式后,您需要填写检测的正则表达式。为避免误识别,请确保正则匹配的命中字符不少于6位。

    等级

    设置检测的敏感数据的等级。可选项:S1、S2、S3、S4。

    说明

    关于敏感数据类型的详细信息,请参见API安全支持检测哪些敏感数据

  3. 当您完成自定义配置时单击确定按钮保存该配置。

四、鉴权凭据配置

如果您在业务中使用了非常规字段作为您的鉴权字段,或者纯数字等特征较弱的鉴权字段名称,推荐您配置自定义鉴权凭据。在系统内置的鉴权凭据识别的基础上,您可以指定参数名,用于辅助内置模型准确识别判断请求中是否携带鉴权凭据,从而提升API安全,以及提高未鉴权风险识别的准确率。

  1. API安全页面,选择策略配置鉴权凭据配置页签。

  2. 单击新建策略,完成如下配置后,单击确定

    配置项

    说明

    名称

    为该策略设置一个名称。

    支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。

    匹配条件

    每个条件由匹配字段逻辑符匹配内容组成。最多支持10个条件。在配置时请添加至少一个请求Header、请求Cookie、请求Query、请求Body的匹配条件。

    说明

    如果定义了多个条件,则只有当多个条件同时满足时,才算命中规则。

    关于匹配条件的详细配置,对应逻辑符和匹配内容示例如下表所示。

    说明

    匹配内容可以输入最多50个,并按回车键确认。

    详细配置

    匹配字段

    子条件(需要输入/选择)

    逻辑符

    匹配内容说明

    域名

    不支持

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    API

    不支持

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    请求Header

    自定义Header

    存在

    长度等于

    长度小于

    长度大于

    请求Cookie

    自定义Cookie-Exact

    存在

    长度等于

    长度小于

    长度大于

    请求Query

    自定义Parameter

    存在

    长度等于

    长度小于

    长度大于

    请求Body

    自定义Post-Arg

    存在

    长度等于

    长度小于

    长度大于

五、业务用途配置

API安全提供如下两种业务用途策略配置:

内置策略配置

支持多个场景的业务用途策略,包括数据更新、数据分享、手机短信发送、信息发送等。内置策略不支持修改或删除,您可以根据业务需要,开启或关闭对应策略。

自定义策略配置

如果内置策略不满足业务需求,您可以自定义URL特征、参数名特征,进一步提升API安全在具体业务场景中的检测准确率。

  1. API安全页面,选择策略配置业务用途配置页签。

  2. 单击自定义策略进入自定义策略管理,单击新建策略,完成如下配置后,单击确定保存您的配置。

  3. 说明

    匹配内容可以输入最多50个,并按回车键确认。

    详细配置

    匹配字段

    逻辑符

    匹配内容

    域名

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    API

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    请求Header参数名

    等于多值之一

    包含多值之一

    可以输入多个,最多50个,按回车键确认。

    请求Cookie参数名

    等于多值之一

    包含多值之一

    可以输入多个,最多50个,按回车键确认。

    请求Query参数名

    等于多值之一

    包含多值之一

    可以输入多个,最多50个,按回车键确认。

    请求Body参数名

    等于多值之一

    包含多值之一

    可以输入多个,最多50个,按回车键确认。

    请求敏感数据类型

    等于多值之一

    包含多值之一

    勾选请求敏感数据类型列表,支持多选。

    响应敏感数据类型

    等于多值之一

    包含多值之一

    勾选响应敏感数据类型列表,支持多选。

    响应参数名

    等于多值之一

    包含多值之一

    可以输入多个,最多50个,按回车键确认。

六、白名单配置

API安全的白名单配置功能支持您自定义配置您的安全事件及风险检测白名单,帮助您结合业务实际情况过滤不需要关注的告警噪音,例如来自办公网络出口的IP地址所产生的告警,提升业务运营效率。

  1. API安全页面,选择策略配置白名单配置页签。

  2. 单击新建策略,输入您想新建的策略名称,并选择希望配置白名单的功能类型,目前支持配置风险检测安全事件白名单。

  3. 根据您选择希望配置白名单的功能类型,完成匹配条件设置。

    说明

    匹配条件最多支持10个

    风险检测白名单策略匹配条件

    匹配字段

    逻辑符

    匹配内容

    域名

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    API

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    安全事件白名单策略匹配条件

    匹配字段

    逻辑符

    匹配内容

    域名

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    API

    包含多值之一

    不包含任一值

    等于多值之一

    不等于任一值

    可以输入多个,最多50个,按回车键确认。

    IP

    属于

    不属于

    请填入IP或IP/掩码(例如:1.1.X.X/24)。暂不支持正则,最多填写50个,以英文逗号分隔,或者按回车键确认。

  4. 选择不检测的风险检测或安全事件类型,单击确定保存您的配置。

    说明

    不检测类型支持内置和自定义,支持多选。

七、生命周期管理

API安全支持通过设置日访问量、持续时间,来自定义失活接口的判断标准,使得失活API检测更符合业务情况。API生命周期管理可以帮助您识别符合您自定义标准的失活API接口,并辅助您及时处置,防止被攻击者利用失活接口进行攻击,造成不必要的业务损失。

  1. API安全页面,选择策略配置生命周期管理页签。

  2. 设置失活API判断标准后,单击确定

    说明

    API的失活状态持续30天后,资产列表会删除该记录。

    • 单击内置模型

      表示使用内置的判断标准,即近8天无访问量或访问量大幅下跌的API接口为失活API。

    • 单击自定义,并设置日访问量、持续时间(最大为31天)。

      表示如果某一API接口持续在一段时间内的日访问量小于设置的次数时,该API接口被判定为失活API。

八、日志订阅

当您开启资产信息、风险信息或者事件信息的日志订阅后,在触发日志投递条件时,可以将对应日志投递至您在日志服务控制台创建的指定的LogStore中。方便您基于阿里云日志服务SLS的功能进行日志统一管理及操作。

说明

目前仅支持中国内地的WAF实例向中国内地的日志服务LogStore中投递日志,非中国内地的WAF实例向非中国内地的日志服务LogStore中投递日志,不支持跨中国内地、非中国内地的日志投递。

开通服务角色

如果您没有开通过Web应用防火墙服务关联角色,在您使用API安全日志订阅服务之前,需要您根据提示,开通Web应用防火墙服务关联角色,用于授权Web应用防火墙访问您的其他云产品资源,关于服务关联角色的详细信息,请参见服务关联角色。如果您此前开通WAF日志服务等功能时已完成授权,请忽略此步骤。

日志订阅配置

  1. 在您配置API安全的相关日志订阅任务之前,请打开日志服务控制台,创建希望接收日志订阅Project和LogStore,若您已经创建完成目标LogStore且核对符合命名规则,请直接进行下一步操作。

    说明

    日志订阅功能当前不支持选择日志服务自动创建的以及您自定义命名为“waf-logstore”、“wafng-logstore” 和 “wafnew-logstore” 的Logstore作为日志订阅的目标。

  2. 创建完成后,返回日志订阅的页签,进行您的资产信息、风险信息、攻击事件信息订阅配置。如果您希望通过日志服务控制台对投递到指定Logstore的日志分析查询操作,请先根据提示开通索引,具体操作请参见创建索引

  3. 选择要执行日志订阅任务的日志类型,单击配置按钮进入配置页面。

  4. 选择您希望配置日志订阅任务的Logstore所在Region,Project名称和Logstore名称,单击确定按钮保存配置。配置完成后,在触发相应条件产生日志后,您可以回到日志服务控制台的对应Logstore中,查询分析相关日志。如您希望对日志进行数据脱敏等加工处理,请参见数据加工

  5. 如果您关闭该日志订阅任务后,不需要已有日志,并希望存放日志订阅的Logstore不产生后续费用,请在日志订阅页签关闭任务后,删除对应的Logstore,具体操作请参见如何关闭日志服务或停止计费

日志订阅任务的触发条件及详细字段说明如下。

重要
  • 您在日志服务中创建的云资源与开通索引等操作会产生额外费用,由日志服务产品进行计费,计费项及价格请参见日志服务计费概述

  • 创建Project或Logstore后,未开启日志订阅任务时仍可能会产生费用,当您确保不再使用创建的Logstore时,请及时删除,避免产生额外费用,请参见为什么只创建Project和Logstore会产生费用

资产信息日志

日志订阅任务触发条件:

  1. 新增API资产后会立即投递资产信息日志。

  2. 若无新增API资产,默认每1小时定时投递一次资产信息日志。

资产信息日志字段

字段名称

字段说明

字段格式

字段示例

user_id

客户UID

string

123456

service_host

域名

string

api.aliyun.com

api_format

API路径

string

/api/v1/getuserbyid/${param}

request_method

请求方法

string

GET

api_tag

业务用途

object []

['QueryInfo']

api_type

服务对象

object []

['PublicAPI']

auth_key

鉴权字段

object []

['id_token', 'access_token']

api_status

生命周期

string

NewbornInterface

api_sensitive_level

接口敏感等级

string

L1

api_sensitive_req

请求敏感数据类型

object []

['1014', '1017', '1002']

api_sensitive_res

响应敏感数据类型

object []

['1009', '1013', '1003', '1014', '1002']

farthest_ts

首次发现时间

long

1713237135

lastest_ts

最近活跃时间

long

1716452318

abnormal_num

风险数

integer

1

event_num

事件数

integer

2

struct_baseline

参数结构

object

['{"key":"Trace-Id","location":"request_header","format":"string","required":"true"}',

'{"key":"pageNum","location":"request_query","format":"integer","required":"true"}',

'{"key":"tlogTraceId","location":"response_header","format":"integer","required":"true"}',

'{"key":"Strict-Transport-Security","location":"request_header","format":"string","required":"true"}',

'{"key":"X-Forwarded-ClientSrcPort","location":"request_header","format":"integer","required":"true"}',

'{"key":"Trace-State","location":"request_header","format":"string","required":"true"}',

'{"key":"auth","location":"request_header","format":"string","required":"true"}',

'{"key":"Access-Control-Max-Age","location":"response_header","format":"integer","required":"true"}',

'{"key":"Enterprise-Hash","location":"request_header","format":"string","required":"true"}',

'{"key":"X-Request-ID","location":"request_header","format":"string","required":"true"}',

'{"key":"postName","location":"request_query","format":"string","required":"true"}', '{"key":"pageSize","location":"request_query","format":"integer","required":"true"}']

matched_hosts

防护对象

object []

['*.aliyun.com-waf']

hosts

域名

object []

['api.aliyun.com']

server_port

端口

object []

['443']

server_location

源站所处国家

object []

['CN']

api_id

API唯一ID

string

af418cb31036015fddea71b48d06aa4b

log_type

日志类型

string

asset

request_header

请求Header

JSON

{"Connection":"Keep-Alive","Host":"api.aliyun.com","eagleeye-rpcid":"0.1"}

querystring

请求URL参数

string

?token=7464f593205896e23b1286ba7532dcff

request_body

请求Body

string

xxx=1

response_header

响应Header

JSON

{"Accept-Ranges":["bytes","bytes"],"Cache-Control":"private, max-age=21600, no-transform"}

response_body

响应Body

string

xxxx

example_timestamp

样例时间戳

long

1718546694

example_traceid

样例traceid

string

784e2ca717213678365778292e58de

风险信息日志

日志订阅任务触发条件:当检测到新增风险信息时,会将风险信息日志投递至您指定的LogStore中。

风险信息日志字段

字段名称

字段说明

字段格式

字段示例

user_id

客户UID

string

123456

service_host

域名

string

api.aliyun.com

api_format

API路径

string

/api/v1/login

request_method

请求方法

string

POST

api_tag

业务用途

object []

['LoginAPI']

abnormal_tag

风险名称

string

Risk_DefaultPasswd

abnormal_type

风险类型(自定义/内置)

string

default

abnormal_level

风险等级

string

medium

abnormal_discover_ts

风险发现时间

long

1716343432

abnormal_info

风险信息

object

{'default_passwd':'aliyun123'}

api_id

API唯一ID

string

2c0f97e10b586208039e60671150bd9b

abnormal_id

风险唯一ID

string

8cfccc0e8c3d41aa1221e94a2fdeffe3

log_type

日志类型

string

risk

matched_hosts

防护对象

object []

['*.aliyun.com-waf']

request_header

请求Header

JSON

{"Connection":"Keep-Alive","Host":"api.aliyun.com","eagleeye-rpcid":"0.1"}

querystring

请求URL参数

string

?token=7464f593205896e23b1286ba7532dcff

request_body

请求Body

string

xxx=1

response_header

响应Header

JSON

{"Accept-Ranges":["bytes","bytes"],"Cache-Control":"private, max-age=21600, no-transform"}

response_body

响应Body

string

xxxx

example_timestamp

样例时间戳

long

1718546694

example_traceid

样例traceid

string

784e2ca717213678365778****58de

攻击事件信息日志

日志订阅任务触发条件:

  1. 当检测到新增攻击事件时,会将新增攻击事件信息日志投递至您指定的LogStore中。

  2. 若攻击持续进行,则攻击事件信息日志会间隔10分钟持续投递至您指定的LogStore中。

攻击事件信息日志字段

字段名称

字段说明

字段格式

字段示例

user_id

客户UID

string

123456

service_host

域名

string

api.aliyun.com

matched_host

防护对象

string

api.aliyun.com-waf

host

域名

string

api.aliyun.com

api_format

API路径

string

/api/admin/login

request_method

请求方法

string

POST

api_tag

业务用途

object []

['AdminService', 'LoginService']

event_tag

事件名称

string

Event_LoginCollision

event_origin

事件类型(自定义/内置)

string

default

event_level

事件等级

string

high

start_ts

攻击开始时间

long

1713886210

end_ts

攻击结束时间

long

1713887817

attack_cnt

攻击总量

integer

147

attack_ip_info

攻击IP信息

object []

['{'ip':'103.44.XX.XXX'', 'country_id':'HK', 'region_id':'-', 'cnt':'147'']

api_id

API唯一ID

string

4dfc73b37d2d645fe2ca7f45c08f7398

event_id

事件ID

string

f09f6802e9b57a58ebb9f1bea212027e

log_type

日志类型

string

event

request_data

请求数据样例

JSON

{'1002':['张三','李四','陈六'],'1004':['13200000001','15200000002']}

response_data

响应数据样例

JSON

{'postarg.userId':['lisi111','zhangsan123'],'postarg.corpId':['wx1111111'],'postarg.externalUserid':['wm7_KpDgOm6Bm-BGA']}

日志订阅字段值说明

如果您在分析或查询日志的过程中,需要了解日志中字段值的含义,或者查看其对应控制台界面显示的说明,请参照下表进行使用。表中说明列的内容,即为该日志字段的值在 Web 应用防火墙控制台中的名称。

生命周期(api_status)

字段值

说明

NewbornInterface

新增

OfflineInterface

失活

normal

正常

服务对象(api_type)

字段值

说明

PublicAPI

公共服务

ThirdpartAPI

三方合作

InternalAPI

内部办公

业务用途(api_tag)

字段值

说明

LoginByUserPasswd

账号密码登录

LoginByPhoneCode

手机验证码登录

LoginByMailCode

邮箱验证码登录

WeChatLogin

微信登录

AliPayLogin

支付宝登录

OAuthLogin

OAuth认证

OIDCLogin

OIDC认证

SAMLLogin

SAML认证

SSOLogin

SSO认证

LoginAPI

登录服务

LogoutAPI

注销登录

RegisterByUserPasswd

账号密码注册

RegisterByPhoneCode

手机验证码注册

RegisterByMailCode

邮箱验证码注册

WeChatRegister

微信注册

AliPayRegister

支付宝注册

RegisterAPI

注册服务

SendSMS

短信发送

SendMail

邮件发送

ResetPasswd

重置密码

CheckVerifyCode

验证码校验

CheckStatus

状态检查

QueryOrder

订单查询

ExportOrder

订单导出

UpdateOrder

订单更新

PayOrder

订单支付

QueryLog

日志查询

UploadLog

日志上报

DownloadLog

日志导出

LogService

日志服务

GraphQL

GraphQL

SqlService

SQL服务

FileUpload

文件上传

FileDownload

文件下载

FileService

文件服务

AdminService

后台管理

DashBoard

数据看板

MonitorService

监控服务

SendInfo

信息发送

CheckInfo

数据检查

QueryInfo

数据查询

UploadInfo

数据上传

DownloadInfo

数据下载

AddInfo

添加数据

EditInfo

编辑数据

UpdateInfo

数据更新

ShareInfo

数据分享

DeleteInfo

数据删除

SyncInfo

数据同步

SubmitInfo

数据提交

CopyInfo

数据拷贝

AuditInfo

数据审计

SaveInfo

数据保存

CancelOp

取消

StartOp

启动

BatchOp

批处理

PauseOp

暂停

BindOp

绑定

DebugOp

调试

SetOp

设置

ShutDown

关闭

请求敏感数据类型、响应敏感数据类型(api_sensitive_req,api_sensitive_res)

字段值

说明

1000

身份证(中国内地)

1001

储蓄银行卡

1002

姓名(简体中文)

1003

地址(中国内地)

1004

手机号(中国内地)

1005

邮箱

1006

护照号(中国内地)

1007

港澳通行证

1008

车牌号(中国内地)

1009

电话号码(中国内地)

1010

军官证

1011

性别

1012

民族

1013

省份(中国内地)

1014

城市(中国内地)

1015

身份证(中国香港)

1016

姓名(繁体中文)

1017

姓名(英文)

1018

身份证(马来西亚)

1019

身份证(新加坡)

1020

借贷银行卡

1022

SWIFT Code

1023

SSN

1024

电话号码 (美国)

1025

宗教信仰

2000

IP地址

2001

MAC地址

2002

JDBC连接串

2003

PEM证书

2004

KEY私钥

2005

AccessKeyId

2006

AccessKeySecret

2007

IPv6地址

2009

日期

2010

IMEI

2011

MEID

2013

Linux-Passwd文件

2014

Linux-Shadow文件

2015

URL链接

4000

营业执照号码

4001

税务登记证号码

4002

组织机构代码

4003

统一社会信用代码

4004

车辆识别码

风险类型(risk)

字段值

说明

RiskType_Specification

安全规范

Risk_UnsafeHttpMethod

不安全的HTTP方法

Risk_WeakSignAlgorithm

JWT弱签名算法

Risk_UrlParam

参数为URL

RiskType_Account

账号安全

Risk_PasswdUnencrypt

密码明文传输

Risk_WeakPasswd

允许弱密码

Risk_InternalWeakPasswd

内部应用存在弱口令

Risk_DefaultPasswd

存在默认密码

Risk_PasswdResponse

返回明文密码

Risk_PasswdCookie

Cookie中存储密码

Risk_LoginRestrict

登录接口缺乏限制

Risk_LoginPrompt

登录失败提示不合理

Risk_PasswdUrl

URL传输账号密码

RiskType_Control

访问控制

Risk_InternalAPI

内部应用公网可访问

Risk_SourceRestrict

接口未限制访问来源

Risk_ClientRestrict

接口未限制访问工具

Risk_SpeedRestrict

接口未限制访问速率

RiskType_Permission

权限管理

Risk_WeakToken

鉴权凭据强度较弱

Risk_UnauthSensitive

敏感接口未鉴权

Risk_UnauthInternalAPI

内部接口可未授权访问

Risk_TokenUrl

URL传输凭据信息

Risk_AkLeak

AK信息泄漏

RiskType_Sensitive

数据保护

Risk_SensitiveTypeExcessive

返回敏感数据类型过多

Risk_SensitiveNumExcessive

返回敏感数据数量过多

Risk_InvalidDesensitize

敏感数据未有效脱敏

Risk_ServerInfoLeak

服务器敏感信息泄漏

Risk_InternalIPLeak

泄漏内网IP地址

Risk_SensitiveURL

URL传输敏感数据

RiskType_Design

接口设计

Risk_ParamTraverse

请求参数可遍历

Risk_PageSize

返回数据量可修改

Risk_SqlAPI

数据库查询

Risk_RceAPI

命令执行接口

Risk_SmsContent

任意短信内容发送

Risk_MailContent

任意邮件内容发送

Risk_SmsVerifyCodeLeak

短信验证码泄漏

Risk_MailVerifyCodeLeak

邮件验证码泄漏

Risk_FileDownload

指定文件下载

Risk_ExceptionLeak

应用异常信息泄漏

Risk_ExceptionSql

数据库异常信息泄漏

事件类型(event)

字段值

说明

Event_AbnormalFrequency

异常高频访问

Event_ExceptionIPInvoke

异常IP访问内部接口

Event_ExceptionRegionInvoke

异常地区访问内部接口

Event_ExceptionClientInvoke

使用异常工具访问

Event_ExceptionTimeInvoke

异常时间段访问

Event_AbnormalParamValue

参数值异常的访问

Event_InternalLoginWeakPasswd

内部应用弱口令登录

Event_LoginAccountBruteForce

爆破用户名

Event_LoginPasswdBruteForce

爆破登录密码

Event_LoginCollision

撞库攻击

Event_MobileVerifyBruteForce

短信验证码爆破

Event_MailVerifyBruteForce

邮件验证码爆破

Event_AbnormalRegister

批量注册

Event_SMSInterfaceAbuse

恶意消耗短信资源

Event_EmailInterfaceAbuse

恶意消耗邮件资源

Event_AbnormalExport

批量下载

Event_DataTraverse

遍历爬取接口数据

Event_WebAttackAPI

恶意攻击API接口

Event_ObtainSensitiveUnauthorized

未授权访问获取敏感数据

Event_ObtainSensitiveExcessive

获取大量敏感数据

Event_CrossborderIPSensitiveExcessive

境外IP获取大量敏感数据

Event_ExceptionResponse

接口返回异常报错信息

Event_ExceptionSql

接口返回数据库报错信息

Event_SystemInfoResponse

接口返回系统敏感信息

Event_AbnormalStatus

接口响应状态异常

九、生效对象配置

API安全提供三个防护对象或防护对象组级别的生效开关:

  • 总开关:控制所有内置检测机制和自定义检测策略是否生效。

  • 合规审查开关:控制合规审查功能是否生效,仅在总开关开启后,才能开启。

  • 溯源审计开关:控制溯源审计功能是否生效,仅在总开关开启后,才能开启。

域名或实例接入WAF后,不同计费模式下,API安全开关默认生效规则不同:

  • 包年包月模式:总开关默认开启、合规审查溯源审计开关默认关闭。

  • 按量付费模式:总开关默认关闭。

您可以在策略配置 > 生效对象配置页签,开启或关闭总开关合规审查溯源审计开关。