本文介绍了API安全的内置策略及自定义策略配置。在内置检测机制的基础上,API安全支持自定义符合业务特征的检测策略。您可以进行风险检测配置、安全事件配置、敏感数据配置、鉴权凭据配置、业务用途配置、白名单配置、生命周期管理、日志订阅和生效对象配置,使得识别出的API数据更符合您的实际业务情况,进一步提高API安全检测的准确率与召回率,帮助您结合业务情况进行相应处置,降低API业务资产遭受攻击带来的损失。
一、风险检测配置
风险是指接口因开发缺陷,或者管理、配置缺陷而导致的安全风险或安全隐患。安全风险与安全事件的区别是,安全风险并不一定代表发生了攻击,而安全事件则代表被攻击产生的告警。
内置策略配置
在策略配置的风险检测配置页签,可以查看已经配置的风险策略,内置策略目前支持更改开启和关闭状态,及风险等级调整。您可以结合您的业务情况将内置策略的风险等级调整为低危、中危、高危中的一种。
自定义策略配置
除了内置策略外,风险检测配置允许您自定义配置最多20条自定义策略,自定义策略配置规则如下。
在API安全页面,选择策略配置>风险检测配置页签。
在左栏自定义策略处单击新增,在弹出的抽屉页进行相关配置,具体的配置项如下表所示。
配置项名称
说明
风险状态
设置策略状态,默认为开。
风险名称
设置自定义风险的名称。支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
处置建议
根据您的业务情况设置自定义风险策略的处理建议。
风险等级
支持低危、中危、高危三个风险等级设置。
检测设置
设置您的自定义风险策略检测条件,最多支持10个条件。
关于检测设置的详细配置,对应逻辑符和匹配内容示例如下表所示。
说明匹配内容可以输入最多50个,并按回车键确认。
当您完成自定义配置后,单击确定按钮保存该配置。
二、安全事件配置
安全事件是指接口发生了异常调用或攻击行为,比如登录接口被爆破攻击、短信发送接口被人滥用进行短信轰炸等。内置事件检测以IP为检测粒度,同时相同IP段、API、事件类型且在同一天发生的事件,会被聚合成一条告警。
内置策略配置
安全事件的内置策略在触发告警后,如果IP还在持续攻击,不会产生新一条告警,但原来那条告警的攻击时间会随之更新,事件告警等级也会随着攻击量等情况发生变化。
在策略配置的安全事件配置页签,可以查看已经配置的安全事件策略,内置策略目前不支持编辑修改或删除。
自定义策略配置
除了内置策略外,安全事件配置允许您自定义配置最多10条自定义策略,自定义策略配置规则如下。
在API安全页面,选择策略配置>安全事件配置页签。
在左栏自定义策略处单击新增,在弹出的抽屉页进行相关配置,具体的配置项如下表所示。
配置项名称
说明
事件状态
设置策略状态,默认为开启。
事件名称
设置自定义事件的名称。支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
处置建议
根据您的业务情况设置自定义安全事件的处理建议。
事件等级
支持低危、中危、高危三个风险等级的设置。
匹配条件
设置您的自定义安全事件策略检测条件,最多支持10个条件。
说明如果定义了多个条件,则只有当多个条件同时满足时,才算命中规则。
统计周期
以分钟为粒度,最大可设置为15分钟。
请求量
限制输入正整数。
数据统计
设置您的自定义安全事件策略统计条件,最多支持10个条件。
关于匹配条件的详细配置,对应逻辑符和匹配内容示例及详细信息,请参考风险检测部分详细配置。
说明匹配内容最多输入50个,并按回车键确认。
关于数据统计的详细配置,对应逻辑符和匹配内容示例如下表所示。
当您完成自定义配置时单击确定按钮保存该配置。
三、敏感数据配置
在策略配置的敏感数据配置页签,可以搜索、筛选、查看已经配置的敏感数据策略。
脱敏展示
在敏感数据配置页签中提供了脱敏展示开关,默认为关闭状态,不进行数据脱敏展示。
脱敏展示开启后,会对以下信息进行脱敏处理:
风险详情和API详情中,请求样例和响应样例的全字段默认将敏感数据替换为占位符
{{Phone}}
。安全事件的事件详情中,包含敏感数据的请求数据样例和响应数据样例被脱敏展示为
{}
。样例信息中Request Cookie脱敏为
{{Cookie}}
、包含Token的Request Header脱敏为{{XXXToken}}
、Response SetCookie脱敏为{{SetCookie}}
。
脱敏展示功能的生效范围如下:
风险详情和API详情:仅对新增的请求数据样例和响应数据样例信息生效。
事件详情:对新增和存量的请求数据样例和响应数据样例信息都生效。
内置策略配置
内置策略目前不支持编辑、修改或删除,仅支持更改开启和关闭状态。
自定义策略配置
如果您在业务中存在自己定义的敏感数据,您可以配置自定义敏感数据检测规则。敏感数据配置允许您自定义配置最多20条自定义策略,自定义策略配置规则如下。
在API安全页面,选择策略配置>敏感数据配置页签。
单击新建策略按钮,在弹出的抽屉页进行相关配置,目前支持简易模式和专家模式两种模式的自定义策略配置方法。
配置项
说明
名称
为该规则设置一个名称。
支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
模式
设置自定义策略的检测模式。
简易模式:提供简易的配置界面,便于操作。
选择简易模式后,您需要设置检测的字符和长度。
字符:支持检测数字、大写字母、小写字母,可多选。
长度:支持检测的长度范围为6~64,且起始值和结束值需为整数。
专家模式:支持正则表达式。
选择专家模式后,您需要填写检测的正则表达式。为避免误识别,请确保正则匹配的命中字符不少于6位。
等级
设置检测的敏感数据的等级。可选项:S1、S2、S3、S4。
说明关于敏感数据类型的详细信息,请参见API安全支持检测哪些敏感数据。
当您完成自定义配置时单击确定按钮保存该配置。
四、鉴权凭据配置
如果您在业务中使用了非常规字段作为您的鉴权字段,或者纯数字等特征较弱的鉴权字段名称,推荐您配置自定义鉴权凭据。在系统内置的鉴权凭据识别的基础上,您可以指定参数名,用于辅助内置模型准确识别判断请求中是否携带鉴权凭据,从而提升API安全,以及提高未鉴权风险识别的准确率。
在API安全页面,选择策略配置>鉴权凭据配置页签。
单击新建策略,完成如下配置后,单击确定。
配置项
说明
名称
为该策略设置一个名称。
支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
匹配条件
每个条件由匹配字段、逻辑符和匹配内容组成。最多支持10个条件。在配置时请添加至少一个请求Header、请求Cookie、请求Query、请求Body的匹配条件。
说明如果定义了多个条件,则只有当多个条件同时满足时,才算命中规则。
关于匹配条件的详细配置,对应逻辑符和匹配内容示例如下表所示。
说明匹配内容可以输入最多50个,并按回车键确认。
五、业务用途配置
API安全提供如下两种业务用途策略配置:
内置策略配置
支持多个场景的业务用途策略,包括数据更新、数据分享、手机短信发送、信息发送等。内置策略不支持修改或删除,您可以根据业务需要,开启或关闭对应策略。
自定义策略配置
如果内置策略不满足业务需求,您可以自定义URL特征、参数名特征,进一步提升API安全在具体业务场景中的检测准确率。
在API安全页面,选择策略配置>业务用途配置页签。
单击自定义策略进入自定义策略管理,单击新建策略,完成如下配置后,单击确定保存您的配置。
匹配内容可以输入最多50个,并按回车键确认。
六、白名单配置
API安全的白名单配置功能支持您自定义配置您的安全事件及风险检测白名单,帮助您结合业务实际情况过滤不需要关注的告警噪音,例如来自办公网络出口的IP地址所产生的告警,提升业务运营效率。
在API安全页面,选择策略配置>白名单配置页签。
单击新建策略,输入您想新建的策略名称,并选择希望配置白名单的功能类型,目前支持配置风险检测和安全事件白名单。
根据您选择希望配置白名单的功能类型,完成匹配条件设置。
说明匹配条件最多支持10个
风险检测白名单策略匹配条件
匹配字段
逻辑符
匹配内容
域名
包含多值之一
不包含任一值
等于多值之一
不等于任一值
可以输入多个,最多50个,按回车键确认。
API
包含多值之一
不包含任一值
等于多值之一
不等于任一值
可以输入多个,最多50个,按回车键确认。
安全事件白名单策略匹配条件
匹配字段
逻辑符
匹配内容
域名
包含多值之一
不包含任一值
等于多值之一
不等于任一值
可以输入多个,最多50个,按回车键确认。
API
包含多值之一
不包含任一值
等于多值之一
不等于任一值
可以输入多个,最多50个,按回车键确认。
IP
属于
不属于
请填入IP或IP/掩码(例如:1.1.X.X/24)。暂不支持正则,最多填写50个,以英文逗号分隔,或者按回车键确认。
选择不检测的风险检测或安全事件类型,单击确定保存您的配置。
说明不检测类型支持内置和自定义,支持多选。
七、生命周期管理
API安全支持通过设置日访问量、持续时间,来自定义失活接口的判断标准,使得失活API检测更符合业务情况。API生命周期管理可以帮助您识别符合您自定义标准的失活API接口,并辅助您及时处置,防止被攻击者利用失活接口进行攻击,造成不必要的业务损失。
在API安全页面,选择策略配置>生命周期管理页签。
设置失活API判断标准后,单击确定。
说明API的失活状态持续30天后,资产列表会删除该记录。
单击内置模型。
表示使用内置的判断标准,即近8天无访问量或访问量大幅下跌的API接口为失活API。
单击自定义,并设置日访问量、持续时间(最大为31天)。
表示如果某一API接口持续在一段时间内的日访问量小于设置的次数时,该API接口被判定为失活API。
八、日志订阅
当您开启资产信息、风险信息或者事件信息的日志订阅后,在触发日志投递条件时,可以将对应日志投递至您在日志服务控制台创建的指定的LogStore中。方便您基于阿里云日志服务SLS的功能进行日志统一管理及操作。
目前仅支持中国内地的WAF实例向中国内地的日志服务LogStore中投递日志,非中国内地的WAF实例向非中国内地的日志服务LogStore中投递日志,不支持跨中国内地、非中国内地的日志投递。
开通服务角色
如果您没有开通过Web应用防火墙服务关联角色,在您使用API安全日志订阅服务之前,需要您根据提示,开通Web应用防火墙服务关联角色,用于授权Web应用防火墙访问您的其他云产品资源,关于服务关联角色的详细信息,请参见服务关联角色。如果您此前开通WAF日志服务等功能时已完成授权,请忽略此步骤。
日志订阅配置
在您配置API安全的相关日志订阅任务之前,请打开日志服务控制台,创建希望接收日志订阅Project和LogStore,若您已经创建完成目标LogStore且核对符合命名规则,请直接进行下一步操作。
说明日志订阅功能当前不支持选择日志服务自动创建的以及您自定义命名为“waf-logstore”、“wafng-logstore” 和 “wafnew-logstore” 的Logstore作为日志订阅的目标。
创建完成后,返回日志订阅的页签,进行您的资产信息、风险信息、攻击事件信息订阅配置。如果您希望通过日志服务控制台对投递到指定Logstore的日志分析查询操作,请先根据提示开通索引,具体操作请参见创建索引。
选择要执行日志订阅任务的日志类型,单击配置按钮进入配置页面。
选择您希望配置日志订阅任务的Logstore所在Region,Project名称和Logstore名称,单击确定按钮保存配置。配置完成后,在触发相应条件产生日志后,您可以回到日志服务控制台的对应Logstore中,查询分析相关日志。如您希望对日志进行数据脱敏等加工处理,请参见数据加工。
如果您关闭该日志订阅任务后,不需要已有日志,并希望存放日志订阅的Logstore不产生后续费用,请在日志订阅页签关闭任务后,删除对应的Logstore,具体操作请参见如何关闭日志服务或停止计费。
日志订阅任务的触发条件及详细字段说明如下。
您在日志服务中创建的云资源与开通索引等操作会产生额外费用,由日志服务产品进行计费,计费项及价格请参见日志服务计费概述。
创建Project或Logstore后,未开启日志订阅任务时仍可能会产生费用,当您确保不再使用创建的Logstore时,请及时删除,避免产生额外费用,请参见为什么只创建Project和Logstore会产生费用。
资产信息日志
日志订阅任务触发条件:
新增API资产后会立即投递资产信息日志。
若无新增API资产,默认每1小时定时投递一次资产信息日志。
风险信息日志
日志订阅任务触发条件:当检测到新增风险信息时,会将风险信息日志投递至您指定的LogStore中。
攻击事件信息日志
日志订阅任务触发条件:
当检测到新增攻击事件时,会将新增攻击事件信息日志投递至您指定的LogStore中。
若攻击持续进行,则攻击事件信息日志会间隔10分钟持续投递至您指定的LogStore中。
日志订阅字段值说明
如果您在分析或查询日志的过程中,需要了解日志中字段值的含义,或者查看其对应控制台界面显示的说明,请参照下表进行使用。表中说明列的内容,即为该日志字段的值在 Web 应用防火墙控制台中的名称。
九、生效对象配置
API安全提供三个防护对象或防护对象组级别的生效开关:
总开关:控制所有内置检测机制和自定义检测策略是否生效。
合规审查开关:控制合规审查功能是否生效,仅在总开关开启后,才能开启。
溯源审计开关:控制溯源审计功能是否生效,仅在总开关开启后,才能开启。
域名或实例接入WAF后,不同计费模式下,API安全开关默认生效规则不同:
包年包月模式:总开关默认开启、合规审查和溯源审计开关默认关闭。
按量付费模式:总开关默认关闭。
您可以在
页签,开启或关闭总开关、合规审查或溯源审计开关。