Web应用防火墙(WAF)提供API安全模块,支持自动梳理已接入WAF防护的业务中开放的API资产、检测API漏洞(例如,敏感数据泄露、内部接口暴露等),并通过报表还原API异常事件、提供详细的漏洞处理建议和API生命周期管理参考数据,帮助您实现全面的API安全防护。

功能介绍

API安全模块为您提供下表描述的功能。
功能 说明
API资产发现及生命周期管理 API安全通过离线分析业务访问日志,自动检测流量中存在的所有API,并支持根据接口特征,自动识别API功能类型。
您可以通过API安全查看全量API资产列表、API详情(包含上线时间、参数结构、请求范例、调用量及调用分布等数据),分析API调用趋势变化,按IP、客户端类型、地理位置、Referer维度查询调用分布情况,以及监控新上线的API、访问量下降的API。
说明 API安全所有的计算和分析均离线完成,不会对接口进行主动探测,对业务运行无任何影响。
API漏洞检测 检测API存在的未授权访问、敏感数据暴露等各类安全风险,并提供详细的风险分析及安全处置建议。
API异常事件检测 对API的调用行为进行监控分析,及时发现各类异常访问或攻击行为。

通过单击以下问题,了解更多关于API安全的能力介绍:

API安全按照以下类型,对检测发现的API设置功能标签:

  • 登录认证
  • 手机短信发送
  • 手机验证码认证
  • 数据保存
  • 数据查询
  • 数据导出
  • 数据分享
  • 数据更新
  • 数据删除
  • 数据增加
  • 下线注销
  • 信息发送
  • 信息认证
  • 邮件信息发送
  • 邮箱验证码认证
  • 账号密码认证
  • 账号注册

API安全目前支持检测下表描述的API漏洞。

漏洞类型 说明
疑似内部接口暴露 内部接口(例如,用于内部办公、开发测试、运营管理的接口)暴露在公网。
缺乏访问限速机制 接口在应对高频访问时,缺少安全防护机制,可能导致暴力破解、恶意爬虫等。
敏感数据过度暴露 接口暴露过多的敏感数据,可能导致大规模数据泄漏。
缺乏异常处理机制 检测到程序报错信息,可能存在SQL注入、泄漏应用配置等风险。
缺乏访问控制机制 接口对不符合日常基线的访问(例如,异常地区访问)缺乏控制机制。
敏感数据接口缺乏鉴权机制 接口缺少鉴权机制,可以被未授权的访问者访问,用于获取敏感数据。

API安全目前支持检测接口中包含的以下敏感数据:

  • AccessKey ID
  • AccessKey Secret
  • GPS位置
  • IMEI
  • IPv6地址
  • IP地址
  • JDBC连接串
  • KEY私钥
  • Linux Passwd文件
  • Linux Shadow文件
  • MAC地址
  • MEID
  • PEM证书
  • SSN
  • SwiftCode
  • URL链接
  • 车牌号(中国内地)
  • 城市(中国内地)
  • 储蓄卡号
  • 地址(中国内地)
  • 电话号码(中国内地)
  • 电话号码(美国)
  • 港澳通行证号
  • 哈希密码
  • 护照号(中国内地)
  • 军官证号
  • 民族
  • 日期
  • 身份证号(马来西亚)
  • 身份证号(新加坡)
  • 身份证号(中国内地)
  • 身份证号(中国香港)
  • 省份(中国内地)
  • 手机号(中国内地)
  • 税务登记证号码
  • 未校验的身份证号
  • 信用卡号码
  • 姓名(繁体中文)
  • 姓名(简体中文)
  • 姓名(英文)
  • 营业执照号码
  • 邮箱地址
  • 宗教信仰
  • 组织机构代码

API安全目前支持检测下表描述的异常事件。

事件类型 说明
来自异常地区的接口调用 例如,日常访问该接口的请求集中在北京地区,某天发现来自美国的请求调用了该接口。
来自异常源IP的接口调用 例如,日常访问该接口的IP集中在192.0.2.1,某天发现192.0.2.2调用了该接口。
来自异常终端的接口调用 例如,日常访问该接口的客户端主要是浏览器,某天发现有请求通过Python脚本调用了该接口。
来自异常时段的接口调用 例如,日常访问该接口的请求活跃时间集中在09:00~17:00,某天发现有请求在03:00调用了该接口。
针对登录接口的暴力破解 有攻击者暴力破解了账号密码。
针对登录接口的撞库攻击 有攻击者批量登录,试图撞库。
未授权访问获取敏感信息 有调用者在未授权的情况下,访问接口获取了敏感数据。
过多的敏感数据获取 某调用者通过该接口获取了大量的敏感数据。
异常的批量注册行为 该接口上发生了大量账号注册行为,疑似垃圾注册。
异常的批量导出行为 该接口上发生了大量下载或导出文件操作。
异常的高频访问行为 该接口被调用的频率远高于正常频率。
验证码暴力破解 该接口上发生了对验证码进行暴力破解的行为。
短信接口资源滥用 短信发送接口被高频调用,导致短信资源被恶意消耗。
邮箱接口资源滥用 邮件发送接口被高频调用,可能遭受了邮件炸弹攻击。
遍历爬取接口数据 该接口上发生了遍历某个参数,高频爬取接口数据的行为。
不符合规范的接口调用 调用请求中的某个参数不符合接口参数规范,例如,正常情况下参数A是整数格式,但发现调用请求中的参数A使用了字符串格式。

申请免费体验API安全

API安全模块目前在公测中。如果您已经开通WAF实例且完成了网站接入,即可以申请免费体验API安全。关于网站接入的更多信息,请参见使用教程

API安全通过分析已接入WAF防护的业务流量中的响应报文内容,生成API安全分析数据供您参考。默认情况下,WAF不会分析源站响应报文。开启API安全表示您同意授权WAF进行相关分析。

免费体验期间生成的API安全分析数据仅供您在体验期间使用。体验结束后,如果您未购买正式版本,WAF不会保存相关数据。关于免费体验的截止日期,请等待后续通知。

您可以参照以下步骤,申请免费体验API安全:

  1. 登录Web应用防火墙控制台
  2. API安全解决方案对话框,单击申请体验
    说明 API安全解决方案对话框仅在您当天首次登录WAF控制台时出现。如果您没有在控制台收到相关提示,请访问API安全解决方案试用申请页面。
    申请体验
  3. 按照API安全解决方案试用申请页面的提示,填写试用申请信息并单击提交API安全解决方案试用申请
    提交试用申请后,请耐心等待一段时间。阿里云工程师将在收到您的申请后,通过您提交的联系方式联系您,与您确认试用相关事宜。
试用申请经审核通过后,您的WAF实例会自动开通API安全模块。您可以在WAF控制台左侧导航栏的防护实验室目录下,访问API安全API安全

查看API安全分析数据

开通API安全模块后,WAF实例将会自动检测业务请求中关联的API(无需您进行额外配置),分析API存在的风险和调用情况,并通过API安全页面向您展示分析结果。

您可以参照以下步骤,查看API安全分析数据:

  1. 登录Web应用防火墙控制台
  2. 在顶部菜单栏,选择Web应用防火墙实例的资源组和地域(中国内地海外地区)。
  3. 在左侧导航栏,选择防护实验室 > API安全
  4. API安全页面,查看API安全分析数据。API安全
    下表描述了API安全页面为您提供的分析数据及支持的操作。
    数据类型 用途及说明 支持的操作
    API统计数据(图示①) 通过统计数据,了解全量API的活跃情况、存在的漏洞及其修复情况。支持查看的统计数据包含:
    • 活跃API:表示WAF通过已有访问请求探测到的活跃API数量。
    • 漏洞异常事件:表示WAF检测到与API漏洞有关联的异常事件的数量。
    • API漏洞:表示WAF监测到存在漏洞的API的数量。
    • 风险修复数:表示WAF在最近7天、最近30天内检测到且已被修复的API漏洞的数量。

    以上数据在每天零时自动刷新一次。

    设置风险修复数的查询时间,可选项:最近7天最近30天
    API风险趋势图(图示②) 通过趋势图,了解最近30天内活跃API数量、API漏洞数量及因漏洞导致的异常事件数量的变化趋势。 无。
    API漏洞(图示③) 查看WAF检测发现的所有API漏洞,并根据漏洞风险等级、漏洞详情等信息及时处理漏洞,避免引发安全事件。

    该区域上方展示了待修复的漏洞数量及漏洞类型分布,下方表示存在漏洞的API列表,展开某个API可以查看具体的漏洞记录。

    漏洞API列表包含以下信息:API名称所属域名漏洞数量危险等级最近发现时间

    展开的漏洞记录包含以下信息:漏洞名称异常事件数发现时间漏洞状态

    • 查看API详情
    • 查看API漏洞详情
    • 查询API:支持在列表上方,按照域名、API名称、风险漏洞类型、漏洞状态、危险等级筛选API。
    • API排序:支持按照漏洞数量危险等级最近发现时间对API排序,单击对应表头后的排序图标图标即可。
    全量API列表(图示④) 查看WAF检测发现的所有开放API列表,了解API的开放规模和访问热度。

    全量API列表包含以下信息:API名称所属域名业务描述30日访问量

    • 查看API详情
    • 查询API:支持在列表右上角,通过API名称、域名,模糊查询API。
    • API排序:支持按照30日访问量对API排序,单击对应表头后的排序图标图标即可。
    API周期管理(图示⑤) 查看近期检测到新上线的API(新发现API)、近期访问量有所下降但仍开放的API(未调用API),并根据该数据调整API的开放策略。

    新发现API列表包含以下信息:API名称域名最早一次上线时间

    未调用API列表包含以下信息:API名称域名最近一次上线时间

    查看API详情

查看API详情

API安全页面,单击任意一个API名称,可以展开API详情面板,查看该API的详细信息。API详情
下表描述了API详情面板包含的数据。
类型 说明
基础信息 展示了该API的基础信息,具体包含API名称所属域名异常事件(次)、资产风险(个)、最近一次访问时间首次发现时间近30天访问量(次)。
异常事件 展示了该API上发生的异常事件记录。如果没有异常事件,则不显示该区域。

该区域上方展示了异常事件的数量及事件类型分布,下方表示事件列表。事件列表包含以下信息:事件ID事件类型事件等级风险漏洞类型发现时间攻击来源

单击操作列的查看详情(或者单击事件类型链接),可以展开事件详情面板,查看该异常事件的详细信息。事件详情面板包含以下信息:事件时间攻击来源攻击工具事件说明相关数据请求数据响应数据)、处置建议

事件详情
API请求范例 包含请求该API的常用方法、该API的参数个数参数特征请求范例,便于您直观地了解API信息。
近30天访问热力 展示了该API访问量在近30天内的变化趋势。
访问源统计 展示了该API访问源的IP客户端类型地理位置Referer分布列表(按照访问次数由高到低排序)。

查看API漏洞详情

API安全页面的API漏洞区域,展开某个API的漏洞信息后,单击操作列下的查看详情(或者单击漏洞名称链接),可以展开漏洞详情面板,查看该漏洞的详细信息。查看详情
漏洞详情面板包含以下信息:漏洞的发现时间风险描述检测逻辑处置建议。建议您根据处置建议,及时修复API漏洞。漏洞修复后,漏洞状态将更新为已修复漏洞详情