API安全模块基于内置检测机制和自定义检测策略,自动梳理已接入Web应用防火墙(Web Application Firewall,简称WAF)防护的业务的API资产,检测API风险(例如未授权访问、敏感数据过度暴露、内部接口泄露等),并通过报表还原API异常事件,提供详细的风险处理建议和API生命周期管理参考数据,帮助您实现API安全防护。本文介绍如何进行API安全防护。
使用限制
通过ALB、MSE或FC接入WAF的防护对象暂不支持该功能。
功能介绍
功能 | 说明 |
API安全通过离线分析业务访问日志,自动检测流量中存在的所有API,并支持根据接口特征,自动识别API业务用途。 | |
检测API存在的未授权访问、敏感数据暴露等各类安全风险,并提供详细的风险分析及安全处置建议。 | |
监控分析API的调用行为,及时发现各类异常访问或攻击行为。 | |
在内置检测机制的基础上,API安全支持自定义符合业务特征的检测策略,使得识别出的API资产更符合实际业务情况,进一步提高API安全检测的准确率与召回率。 | |
支持防护对象级别开启API安全,灵活控制API安全的生效对象。 |
您可以从以下问题,了解更多关于API安全的能力:
前提条件
已开通中国内地的WAF 3.0实例。具体操作,请参见开通包年包月WAF 3.0、开通按量付费WAF 3.0。
步骤一:查看基础检测数据
在开通API安全前,您可以通过基础检测,查看安全事件总览、资产总览和安全事件列表数据,帮助您了解您的API安全信息。包年包月实例默认开启基础检测。如果您不希望了解相关数据,您也可以直接跳过该步骤。
按量付费实例暂不支持基础检测功能。
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地)。
在左侧导航栏,选择 。
在基础检测区域,查看基础检测数据。
安全事件总览:包括API安全事件总数、高危事件数、中危事件数和低危事件数。
资产总数:包括API资产总数、活跃API数、失活API数。
安全事件列表:通过卡片,查看安全事件的名称、API路径、域名、攻击源和产生时间。
如果您希望查看传输敏感数据API数,或查看安全事件的更多风险详情和处置建议,您可以开通API安全。具体操作,请参见步骤二:开通API安全。
如果您不希望进行基础检测,您也可以单击基础检测开关,关闭该功能。
步骤二:开通API安全
API安全所有的计算和分析均离线完成,不会主动探测接口,不会对业务运行产生任何影响。
API安全会检测符合指定特征的请求响应的内容,用于判断API是否存在数据泄露风险。开通API安全,就意味着授权WAF进行相关分析。开通前,请根据实际业务进行评估。
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地)。
在左侧导航栏,选择 。
开通API安全。
试用API安全
说明每个阿里云账号可免费试用一次API安全。
试用时长为开通后的7天内。试用结束后,如果您未开通正式版本,试用期间生成的分析数据将被立即清除。如果您需要保留试用期间的数据,继续使用API安全,请在试用结束前,开通正式版API安全。
在API安全页面,单击申请体验。按照API安全解决方案试用申请页面的提示,填写试用申请信息并单击提交。
阿里云工程师在收到试用申请的一周时间内,将通过提交的联系方式联系您,与您确认试用相关事宜。试用申请审核通过后,您的WAF实例会自动开通API安全功能。
开通正式版API安全
在API安全页面,单击立即开通。
在立即开通面板,开启API安全后,单击立即购买并完成支付。
步骤三:查看API安全数据
查看概览数据
在API安全页面的概览页签,查看API安全分析数据。
数据类型 | 说明 | 相关操作 |
API安全事件(图示①) | 通过统计数据,展示API安全事件的总数及今日新增数,包括高危风险事件数、中危风险事件数、低危风险事件数。 | 无 |
API风险(图示②) | 通过统计数据,展示API风险的总数及今日新增数,包括高危风险数、中危风险数、低危风险数。 | 无 |
API资产总览(图示③) | 通过统计数据,展示API资产相关信息,包括:
| 无 |
API资产列表(图示④) | 通过列表,展示检测发现的所有开放API,包含API名称、所属域名、请求方法、近30天调用量、敏感数据等级、敏感数据类型、服务对象、业务用途等信息。
|
查看风险检测数据
在API安全页面的风险检测页签,查看API风险检测分析数据。
数据类型 | 说明 | 相关操作 |
API风险总览(图示①) | 通过统计数据,展示API风险总数及今日新增数,包括高危风险数、中危风险数、低危风险数。 | 单击高危风险数、中危风险数、低危风险数后的立即查看,查看今日新增的风险。 |
API风险趋势(图示②) | 通过趋势图,展示最近30天内高风险、中风险、低风险API的风险变化趋势。 | 单击趋势图下的高风险、中风险、低风险,设置要展示的数据。 |
API风险类型统计(图示③) | 通过饼图,展示API风险类型统计数据。更多信息,请参见API安全支持检测哪些API风险类型?。 | 单击饼图右侧具体风险类型,设置要展示的数据。 |
API风险详情(图示④) | 通过列表,展示检测发现的风险API,包含风险ID、风险类型、来源类型、风所属的来源API名称、所属域名、业务用途、状态、关联安全事件数等信息。
|
查看安全事件数据
在API安全页面的安全事件页签,查看API安全事件分析数据。
数据类型 | 说明 | 相关操作 |
API安全事件总览(图示①) | 通过统计数据,展示API安全事件的总数及今日新增数,包括高危风险事件数、中危风险事件数、低危风险事件数。 | 单击高危风险事件数、中危风险事件数、低危风险事件数后的立即查看,查看昨日新增的安全事件。 |
API安全事件趋势(图示②) | 通过趋势图,了解最近30天内高风险事件、中风险事件、低风险事件的变化趋势。 | 单击趋势图下的高风险、中风险、低风险,设置要展示的数据。 |
API事件类型统计(图示③) | 通过饼图,了解API事件类型统计数据。更多信息,请参见API安全支持检测哪些异常事件类型?。 | 单击饼图右侧具体事件类型,设置要展示的数据。 |
API安全事件详情(图示④) | 通过列表,展示检测发现的API安全事件,包含事件ID、事件类型、来源类型、安全事件所属的API名称、所属域名、业务用途、攻击源、状态、关联风险等信息。
|
步骤四:配置API安全策略
在内置检测机制的基础上,API安全支持自定义符合业务特征的检测策略。您可以配置鉴权凭据特征策略、敏感数据类型策略、攻击检测模型策略、业务用途策略、生命周期策略,使得识别出的API数据更符合您的实际业务情况,进一步提高API安全检测的准确率与召回率。
配置鉴权凭据特征策略
在系统内置的鉴权凭据识别的基础上,您可以指定某一参数名,用于判断Request请求中是否携带鉴权凭据,从而提升API安全对于未鉴权风险识别的准确率。
在API安全页面,选择策略配置>鉴权凭据特征配置页签。
单击新建策略,完成如下配置后,单击确定。
配置项
说明
特征字符
设置要进行鉴权的参数名。例如,如果请求Body为
xxx=123&yyy=456
,那么xxx
和yyy
就是参数名。位置
设置参数的位置。可选项:
GET参数名
POST参数名
Cookie参数名
Header
状态
设置策略状态,默认为开。
配置敏感数据类型策略
API安全提供如下两种敏感数据类型策略:
内置策略
支持多种敏感数据类型的策略,包括身份证、储蓄卡、姓名、地址、手机号等。您可以根据业务需要,开启或关闭对应策略。内置策略不支持修改或删除。
自定义策略
如果内置策略不满足业务需求,您可以自定义检测策略,进一步提升API安全对于敏感数据的检测准确率。
在API安全页面,选择策略配置>敏感数据类型配置页签。
单击新建策略,完成如下配置后,单击确定。
配置项
说明
名称
为该规则设置一个名称。
支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
模式
设置自定义策略的检测模式。
简易模式:提供简易的配置界面,便于操作。
选择简易模式后,您需要设置检测的字符和长度。
字符:支持检测数字、大写字母、小写字母,可多选。
长度:支持检测的长度范围为6~64,且起始值和结束值需为整数。
专家模式:支持正则表达式。
选择专家模式后,您需要填写检测的正则表达式。为避免误识别,请确保正则匹配的命中字符不少于6位。
等级
设置检测的敏感数据的等级。可选项:高敏感、中敏感、低敏感。
状态
设置策略状态,默认为开。
配置攻击检测模型策略
如果系统内置攻击检测模型无法满足业务需求时,您可以根据业务情况来自定义攻击检测模型,从而提高异常事件的检出率。
在API安全页面,选择策略配置>攻击检测模型配置页签。
单击新建策略,完成如下配置后,单击确定。
配置项
说明
规则名称
为该规则设置一个名称。
支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
匹配条件
设置该规则要匹配的请求特征。
每个条件由匹配字段、逻辑符和匹配内容组成。关于匹配字段和逻辑符的更多说明,请参见支持的匹配字段说明。
单击新增条件,添加一个条件。一个规则中最多可以添加五个条件。如果定义了多个条件,则只有当多个条件同时满足时,才算命中规则。
统计时长
设置攻击检测的统计时长,默认值为15分钟。
访问量
设置网站最大访问量,统计维度为API粒度。
去重统计
设置重复参数的告警统计规则。可选项:
不统计:表示不对参数进行去重统计,即满足该策略其他配置项要求时,则触发告警。
统计指定参数:表示对指定参数进行去重统计,即在满足该策略其他配置项要求的同时,如果指定参数不同取值的个数超过指定阈值,则触发告警。
选中该项后,您需要进行如下配置:
参数位置:设置去重的参数位置,可选项:GET参数、POST参数。
参数名称:设置去重的参数名称。
阈值:设置指定参数不同取值的最大个数。
统计所有参数:表示对所有参数进行去重统计,即在满足该策略其他配置项要求的同时,如果任意参数不同取值的个数超过指定阈值,则触发告警。
选中该项后,您需要进行如下配置:
排除参数名:设置不需要去重统计的参数名,多个参数间用半角逗号(,)分隔。通常填写正常业务调用所需要的参数,比如时间戳或者页码等。
阈值:设置参数不同取值的最大个数。
事件等级
设置攻击检测的事件等级。可选项:高危、中危、低危。
状态
设置策略状态,默认为开。
配置业务用途策略
API安全提供如下两种业务用途策略:
内置策略
支持多个场景的业务用途策略,包括数据更新、数据分享、手机短信发送、信息发送等。您可以根据业务需要,开启或关闭对应策略。内置策略不支持修改或删除。
自定义策略
如果内置策略不满足业务需求,您可以自定义URL特征、参数名特征,进一步提升API安全对于具体业务场景的检测准确率。
在API安全页面,选择策略配置>业务用途配置页签。
单击新建策略,完成如下配置后,单击确定。
配置项
说明
名称
为该规则设置一个名称。
支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
URL特征
设置业务场景的URL特征关键字,多个参数间用逗号(,)分隔。
参数名特征
设置业务场景的参数名特征关键字,多个参数间用逗号(,)分隔。
状态
设置策略状态,默认为开。
配置API生命周期
API安全支持通过设置日访问量、持续时间,来自定义失活接口的判断标准,使得失活API检测更符合业务情况。
在API安全页面,选择策略配置>生命周期管理页签。
设置失活API判断标准后,单击确定。
单击内置模型。
表示使用内置的判断标准,即近30天无访问量或访问量大幅下跌的API接口为失活API。
单击自定义,并设置日访问量、持续时间。
表示如果某一API接口持续在一段时间内的日访问量小于设置的次数时,该API接口被判定为失活API。
步骤五:配置策略生效对象
包年包月实例
接入WAF的防护对象默认生效API安全。如果您不希望该防护对象生效API安全,您可以移除该防护对象。
在API安全页面,单击生效对象配置页签。
将目标防护对象从已选择对象框移除。
按量付费实例
接入WAF的防护对象默认不生效API安全,您需要指定生效的防护对象。
在API安全页面,单击生效对象配置页签。
将目标防护对象从待选择对象框移入到已选择对象框。
步骤六:查看更新后的API安全数据
完成步骤四:配置API安全策略和步骤五:配置策略生效对象的配置后,您可以在API安全页面的概览、风险检测、安全事件页签,查看配置了检测策略和生效对象后的安全数据。更多信息,请参见步骤三:查看API安全数据。
相关操作
您可以在云监控控制台设置API安全事件的监控和告警,使WAF在检测到高危风险事件时向您发送告警通知,帮助您及时掌握API资产的安全状态。具体操作,请参见设置WAF攻击事件的监控与告警。