全部产品
Search
文档中心

Web 应用防火墙:API安全

更新时间:Apr 19, 2024

API安全模块基于内置检测机制和自定义检测策略,自动梳理已接入Web应用防火墙(Web Application Firewall,简称WAF)防护的业务的API资产,检测API风险(例如未授权访问、敏感数据过度暴露、内部接口泄露等),通过报表还原API异常事件,审查出境数据和溯源敏感数据泄露事件,为您提供详细的风险处理建议和API生命周期管理参考数据,帮助您实现API安全防护。本文介绍如何进行API安全防护。

背景信息

在数字经济时代,商业环境变化迅速,企业对外部环境变化的快速响应提出了更高要求。数据需要流通并分享给第三方,以加快效率。通过API接口实现系统之间的相互通信已成为企业内外部系统集成的重要手段。越来越多的行业客户通过API开放平台将自身能力和资源开放,以打造产业生态。合作伙伴可以借助开放的优质资源进行快速的集成和创新,从而促进API经济的诞生,实现数据交互产生更多价值。对于企业服务,提供海量的API服务以及数据增值服务成为一项重要工作。然而,随着API的快速发展,面临的风险也在同步增加。攻击者可能在未授权的情况下获取API接口的访问权限,错误配置、非法的API访问请求可能导致敏感数据泄漏。因此,Web应用防火墙通过API监测和流量可视化,自动发现和归类API业务,形成正常的访问请求模型。一旦发现异常API访问,便能帮助处置并形成一个闭环。

使用限制

混合云接入、云产品接入(MSE、FC)的防护对象暂不支持该功能。

功能介绍

功能

说明

资产总览及生命周期管理

API安全通过离线分析业务访问日志,自动检测流量中存在的所有API,并支持根据接口特征,自动识别API业务用途。

风险检测

检测API存在的未授权访问、敏感数据暴露等各类安全风险,并提供详细的风险分析及安全处置建议。

安全事件检测

监控分析API的调用行为,及时发现各类异常访问或攻击行为。

合规审查

依据《数据出境安全评估办法》,API安全对如下场景的出境数据(包括个人信息数据、个人敏感信息数据)进行合规审查,帮助您快速识别API资产中存在的数据出境风险:

  • 关键信息基础设置运营者和处理100万人以上个人信息的数据处理者向境外提供个人信息。

  • 自上年1月1日起累计向境外提供10万人个人信息或者1万人敏感个人信息的数据处理者向境外提供个人信息。

溯源审计

当发生敏感数据安全事件时,API安全支持通过日志和敏感数据样例数据,交叉溯源安全事件。

自定义API安全策略

在内置检测机制的基础上,API安全支持自定义符合业务特征的检测策略,使得识别出的API资产更符合实际业务情况,进一步提高API安全检测的准确率与召回率。

配置生效对象

支持防护对象级别开启API安全,灵活控制API安全的生效对象。

您可以从以下问题,了解更多关于API安全的能力:

  • API安全如何划分API业务用途?

    • 登录认证

    • 手机验证码认证

    • 数据保存

    • 数据查询

    • 数据导出

    • 数据分享

    • 数据更新

    • 数据删除

    • 数据增加

    • 下线注销

    • 信息发送

    • 信息认证

    • 邮件信息发送

    • 邮箱验证码认证

    • 账号密码认证

    • 账号注册

  • API安全如何区分接口的服务对象?

    通过API接口的访问聚集度分析,分为三类:

    • 内部办公:面向内部员工提供服务的API接口。

    • 三方合作:面向第三方生态合作方提供的API接口。

    • 公共服务:面向互联网提供服务的API接口。

  • API安全支持检测哪些敏感数据?

    敏感数据级别

    敏感数据类型

    非敏感数据(N)

    不涉及。

    特级敏感数据(L0)

    与一级敏感数据(L1)或二级敏感数据(L2)相同。

    • 单次响应中一级敏感数据(L1)较多时,升级为特级敏感数据(L0)。

    • 单次响应中二级敏感数据(L2)较多时,升级为一级敏感数据(L1)或特级敏感数据(L0)。

    一级敏感数据(L1)

    身份证、储蓄卡、手机号、护照号、港澳通行证、车牌号、军官证、身份证(中国香港)、身份证(马来西亚)、身份证(新加坡)、信用卡、SSN、JDBC连接串、PEM证书、KEY私钥、Linux-Passwd文件、Linux-Shadow文件。

    二级敏感数据(L2)

    姓名(简体中文)、地址(中国内地)、邮箱、电话号码(中国内地)、姓名(中文繁体)、姓名(英文)、电话号码-美国、宗教信仰、IP地址、MAC地址、IPv6地址、GPS位置、IMEI、营业执照号码、税务登记证号码、组织机构代码、统一社会信用代码、车辆识别代码。

    三级敏感数据(L3)

    性别、民族、省份(中国内地)、城市(中国内地)、未校验的身份证号、SwiftCode、日期、URL链接。

  • API安全支持检测哪些API风险类型?

    风险类型

    说明

    缺乏鉴权机制的敏感数据接口

    接口缺少鉴权机制,可以被未授权的访问者访问,用于获取敏感数据。

    缺乏访问限速机制

    接口在应对高频访问时,缺少安全防护机制,可能导致暴力破解、恶意爬虫等。

    缺乏访问控制机制

    接口对不符合日常基线的访问(例如异常地区访问)缺乏控制机制。

    疑似内部接口暴露

    内部接口(例如用于内部办公、开发测试、运营管理的接口)暴露在公网。

    内部登录接口存在弱口令

    内部登录接口存在弱口令,导致接口被破解控制。

API安全支持检测哪些异常事件类型?

  • 事件类型

    说明

    来自异常地区的接口调用

    例如,日常访问该接口的请求集中在北京地区,某天发现来自美国的请求调用了该接口。

    来自异常源IP的接口调用

    例如,日常访问该接口的IP集中在192.0.XX.XX,某天发现192.1.XX.XX调用了该接口。

    来自异常终端的接口调用

    例如,日常访问该接口的客户端主要是浏览器,某天发现有请求通过Python脚本调用了该接口。

    来自异常时段的接口调用

    例如,日常访问该接口的请求活跃时间集中在09:00~17:00,某天发现有请求在03:00调用了该接口。

    针对登录接口的暴力破解

    有攻击者暴力破解了账号密码。

    针对登录接口的撞库攻击

    有攻击者批量登录,试图撞库。

    未授权访问获取敏感信息

    有调用者在未授权的情况下,访问接口获取了敏感数据。

    过多的敏感数据获取

    某调用者通过该接口获取了大量的敏感数据。

    异常的批量注册行为

    该接口上发生了大量账号注册行为,疑似垃圾注册。

    异常的批量导出行为

    该接口上发生了大量下载或导出文件的行为。

    异常的高频访问行为

    该接口被调用的频率远高于正常频率。

    验证码暴力破解

    该接口上发生了暴力破解验证码的行为。

    短信接口资源滥用

    短信发送接口被高频调用,导致短信资源被恶意消耗。

    邮箱接口资源滥用

    邮件发送接口被高频调用,可能遭受了邮件炸弹攻击。

    遍历爬取接口数据

    该接口上发生了遍历某个参数,高频爬取接口数据的行为。

    非预期的接口调用

    调用请求中的某个参数不符合接口参数规范,例如,正常情况下参数A是整数格式,但发现调用请求中的参数A使用了字符串格式。

  • API安全如何帮助企业降低数据安全泄漏风险?

    API安全模块支持检测API漏洞,还原API异常事件,并提供详细的漏洞处理建议,以帮助企业降低数据泄漏风险。

    风险类型

    说明

    API漏洞

    是企业可能将内部接口(例如用于内部办公、开发测试、运营管理的接口)暴露在公网上,从而导致攻击者可以通过API获取敏感数据。

    API异常事件

    API在预定义的业务需求和访问场景下出现异常行为,即不符合正常基线的行为。

  • 出境数据申报和备案的标准是什么?(仅中国内地支持)

    评估类型

    数据量级

    评估结果

    自上年1月1日起累计向境外提供个人信息

    大于100000人

    符合申报要求

    自上年1月1日起累计向境外提供个人信息

    100人 - 100000人

    符合备案要求

    自上年1月1日起累计向境外提供个人信息

    小于100人

    无需申报与备案

    自上年1月1日起累计向境外提供敏感个人信息

    大于10000人

    符合申报要求

    自上年1月1日起累计向境外提供敏感个人信息

    100人 - 10000人

    符合备案要求

    自上年1月1日起累计向境外提供敏感个人信息

    小于100人

    无需申报与备案

前提条件

已开通WAF 3.0服务。具体操作,请参见开通包年包月WAF 3.0开通按量付费WAF 3.0

步骤一:查看基础检测数据

在开通API安全前,您可以通过基础检测,查看安全事件总览、资产总览和安全事件列表数据,帮助您了解您的API安全信息。包年包月实例默认开启基础检测。如果您不希望了解相关数据,您也可以直接跳过该步骤。

说明

按量付费实例暂不支持基础检测功能。

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。

  2. 在左侧导航栏,选择防护配置 > 场景防护 > API安全

  3. 基础检测区域,查看基础检测数据。

    • 安全事件总览:包括API安全事件总数、高危事件数、中危事件数和低危事件数。

    • 资产总数:包括API资产总数、活跃API数、失活API数。

    • 安全事件列表:通过卡片,查看安全事件的名称、API路径、域名、攻击源和产生时间。

    如果您希望查看传输敏感数据API数,或查看安全事件的更多风险详情和处置建议,您可以开通API安全。具体操作,请参见步骤二:开通API安全

    如果您不希望进行基础检测,您也可以单击基础检测开关,关闭该功能。

步骤二:开通API安全

重要
  • API安全所有的计算和分析均离线完成,不会主动探测接口,不会对业务运行产生任何影响。

  • API安全会检测符合指定特征的请求响应的内容,用于判断API是否存在数据泄露风险。开通API安全,就意味着授权WAF进行相关分析。开通前,请根据实际业务进行评估。

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。

  2. 在左侧导航栏,选择防护配置 > 场景防护 > API安全

  3. 开通API安全。

    • 试用API安全

      说明
      • 每个阿里云账号可免费试用一次API安全。

      • 试用时长为开通后的7天内。试用结束后,如果您未开通正式版本,试用期间生成的分析数据将被立即清除。如果您需要保留试用期间的数据,继续使用API安全,请在试用结束前,开通正式版API安全。

      API安全页面,单击申请体验。按照API安全解决方案试用申请页面的提示,填写试用申请信息并单击提交

      阿里云工程师在收到试用申请的一周时间内,将通过提交的联系方式联系您,与您确认试用相关事宜。试用申请审核通过后,您的WAF实例会自动开通API安全功能。

    • 开通正式版API安全

      1. API安全页面,单击立即开通

      2. 立即开通面板,开启API安全后,单击立即购买并完成支付。

步骤三:查看API安全数据

查看概览数据

API安全页面的概览页签,查看API安全分析数据。image..png

数据类型

说明

相关操作

API安全事件(图示①)

通过统计数据,展示API安全事件的总数及今日新增数,包括高危风险事件数中危风险事件数低危风险事件数

API风险(图示②)

通过统计数据,展示API风险的总数及今日新增数,包括高危风险数中危风险数低危风险数

API资产总览(图示③)

通过统计数据,展示API资产相关信息,包括:

  • API资产总数今日新增资产数、近七天趋势

  • 活跃API今日新增活跃API数、近七天趋势

  • 失活API新增API机器请求API跨境敏感数据请求API的总数

  • 传输敏感数据API的类型分布

API资产列表(图示④)

通过列表,展示检测发现的所有开放API,包含API名称、所属域名、请求方法、近30天调用量、敏感数据等级、敏感数据类型、服务对象、业务用途等信息。

设置API资产列表展示项

单击列表右上角的设置图标,选择要在列表中展示的数据字段。

查找目标API

您可以通过如下方法,查找目标API:

  • 简单搜索

    在API资产列表上方的搜索框,单击展开图标,选择API域名,并输入对应的API接口地址或所属域名。

  • 高级搜索

    单击高级搜索,设置时间、敏感数据等级敏感数据类型活跃状态关注状态等搜索条件。

  • 单击列表表头请求方法服务对象业务用途后的image图标,选择要查看的类别。

  • 单击列表表头近30天调用量机器请求数跨境请求数风险/事件后的排序图标。

管理目标API

定位到目标API后,您可以通过如下方法,管理目标API:

  • 关注API

    单击关注列的image图标。

  • 备注API

    单击备注列的image图标,填写备注信息后,单击image图标。

  • 查看API资产对应的风险或事件详情

    单击风险/事件列下的数字,在API风险详情列表,查看风险或事件详情。更多信息,请参见查看API风险详情

  • 查看API资产详情

    单击目标API名称,在API详情页面,查看如下信息:

    • 基本信息

      • 支持查看API、域名、请求方法、敏感数据类型、服务对象、业务用途、首次发现时间、最近活跃时间、备注信息等。

      • 支持修改备注信息。

    • 请求样例

      • 请求样例页签,查看请求样例,及其请求参数类型、响应敏感信息样例。

      • 单击浏览器打开,直接使用浏览器打开GET请求。

      • 单击命令行,将请求样例转换为命令行。单击一键复制,手工访问请求。

      • 单击复制代码,复制请求样例。

    • 风险及事件

      1. 风险及事件页签,单击风险检测安全事件

      2. 定位到目标风险或事件,单击操作列的查看详情,在详情页处置风险。

    • 防护建议

      防护建议页签,查看API调用基线曲线图和防护建议。您可以根据该建议,配置对应防护策略。

    • 流量分析

      支持查看该API资产的如下流量分析数据:

      • 近30天的总调用量、机器请求量、跨境请求量。

      • API总流量、机器流量、跨境流量近30天访问趋势、Top 20访问源。

      • Referer统计、客户端类型统计、客户端类型统计数据。

导出API资产数据

仅阿里云主账号支持该功能。

  1. 单击API列表右上角的下载图标,API安全将为您创建一个导出任务。

  2. 单击API安全页面右上角的导出记录。定位到要下载的文件,单击操作列的下载

说明
  • 如果您设置了查询条件,则导出文件只包含查询到的数据,否则包含所有数据。

  • 导出文件生成后将暂存在WAF控制台,三天后会过期,过期文件不支持下载。请您在文件有效期内及时下载文件。

  • 下载的文件被保存在浏览器的默认保存位置,您可以前往默认保存位置查看下载的文件。

查看风险检测数据

API安全页面的风险检测页签,查看API风险检测分析数据。image..png

数据类型

说明

相关操作

API风险总览(图示①)

通过统计数据,展示API风险总数今日新增数,包括高危风险数中危风险数低危风险数

单击高危风险数中危风险数低危风险数后的立即查看,查看今日新增的风险。

API风险趋势(图示②)

通过趋势图,展示最近30天内高风险中风险低风险API的风险变化趋势。

单击趋势图下的高风险中风险低风险,设置要展示的数据。

API风险类型统计(图示③)

通过饼图,展示API风险类型统计数据。更多信息,请参见API安全支持检测哪些API风险类型?

单击饼图右侧具体风险类型,设置要展示的数据。

API风险详情(图示④)

通过列表,展示检测发现的风险API,包含风险ID、风险类型、来源类型、风所属的来源API名称、所属域名、业务用途、状态、关联安全事件数等信息。

设置API风险列表展示项

单击列表右上角的设置图标,选择要在列表中展示的数据字段。

查找API风险

您可以通过如下方法,查找目标API风险:

  • 简单搜索

    在API风险列表上方的搜索框,单击展开图标,选择API域名风险ID,并输入对应的API接口地址、所属域名或ID。

  • 高级搜索

    单击高级搜索,设置时间、风险类型风险等级状态等搜索条件。

  • 单击列表表头类型业务用途后的image图标,选择要查看的风险类别。

  • 单击列表表头风险等级首次发现时间安全事件后的排序图标。

管理目标API风险

定位到目标API风险后,您可以通过如下方法,管理目标API风险:

  • 修改API风险状态

    单击状态列的image图标,选择要修改的风险状态后,单击确定

  • 查看风险涉及的API资产

    单击目标风险的来源API,在API详情页面,查看API资产。更多信息,请参见查看API资产详情

  • 查看API风险详情

    单击目标风险ID操作列的查看详情,在风险详情页面,查看如下详情:

    • 基本信息

      • 支持查看API、风险ID、首次发现时间、最近活跃时间、风险描述、检测逻辑、处置建议、域名、业务用途、状态等。

      • 支持修改风险状态。

        风险状态设置为已确认误报忽略时,可填写备注信息;设置为忽略时,须填写忽略至的时间。

    • 风险验证

      风险验证页签,查看请求样例。执行如下操作:

      • 风险验证页签,查看请求样例。

      • 单击浏览器打开,直接使用浏览器打开GET请求。

      • 单击命令行,将请求样例转换为命令行。单击一键复制,手工访问该请求。

      • 单击复制代码,复制请求样例。

    • 操作记录

      操作记录页签,查看风险事件的处置记录。

导出API风险数据

导出API风险数据的方法与导出API数据类似,具体操作,请参见导出API数据

查看安全事件数据

API安全页面的安全事件页签,查看API安全事件分析数据。image..png

数据类型

说明

相关操作

API安全事件总览(图示①)

通过统计数据,展示API安全事件的总数及今日新增数,包括高危风险事件数中危风险事件数低危风险事件数

单击高危风险事件数中危风险事件数低危风险事件数后的立即查看,查看昨日新增的安全事件。

API安全事件趋势(图示②)

通过趋势图,了解最近30天内高风险事件中风险事件低风险事件的变化趋势。

单击趋势图下的高风险中风险低风险,设置要展示的数据。

API事件类型统计(图示③)

通过饼图,了解API事件类型统计数据。更多信息,请参见API安全支持检测哪些异常事件类型?

单击饼图右侧具体事件类型,设置要展示的数据。

API安全事件详情(图示④)

通过列表,展示检测发现的API安全事件,包含事件ID、事件类型、来源类型、安全事件所属的API名称、所属域名、业务用途、攻击源、状态、关联风险等信息。

设置API安全事件列表展示项

单击列表右上角的设置图标,选择要在列表中展示的数据字段。

查找API安全事件

您可以通过如下方法,查找目标API风险:

  • 高级搜索

    单击高级搜索,设置时间、事件类型事件等级状态、攻击源IP等搜索条件。

  • 简单搜索

    在API安全事件列表上方的搜索框,单击展开图标,选择API域名事件ID,并输入对应的API接口地址、所属域名或ID。

  • 单击列表表头类型业务用途后的image图标,选择要查看的安全事件类别。

  • 单击列表表头风险等级首次发现时间攻击事件事件时间后的排序图标。

管理目标API安全事件

定位到目标API安全事件后,您可以通过如下方法,管理API安全事件:

  • 修改API安全事件状态

    定位到目标安全事件ID,单击状态列的image图标,选择要修改的安全事件状态后,单击确定

  • 查看风险涉及的API安全事件

    单击目标安全事件的来源API,在API详情页面,查看API资产。更多信息,请参见查看API资产详情

  • 查看API安全事件详情

    单击目标事件ID操作列的查看详情,在事件详情页面,查看如下详情:

    • 基本信息

      • 支持查看API、事件ID、域名、业务用途、状态等。

      • 支持修改安全事件状态。

        安全事件状态设置为已确认误报忽略时,可填写备注信息。

    • 事件详情

      • 事件详情页签,查看攻击源、攻击开始时间、结束时间、攻击次数、事件说明、请求数据、响应数据、处置建议等。

      • 单击日志详情,查看该事件的日志信息。

    • 操作记录

      记录安全事件的处置信息。

导出API安全事件数据

导出API安全事件数据的方法与导出API数据类似,具体操作,请参见导出API数据

步骤四:合规审查与溯源审计

如果您的业务需要对非中国内地地域提供数据时,您需要向所在地省级网信部门向国家网信部门申报数据出境安全评估。您可以使用API安全合规审查和溯源审计功能,对出境数据进行审查和溯源。仅中国内地支持。

查看合规审查数据

API安全页面的合规审查页签,查看指定时间段和生效对象的API合规审查数据。

  • 设置检测时间段

    默认自去年1月1日起至今。您也可以单击变更检测配置,设置任意时间段的评估周期后,单击保存配置

    说明

    变更检测配置为一次性操作,查看完当前时间段的检测数据,刷新页面后,检测时间段会自动变更为默认时间段。

  • 设置生效对象

    合规审查默认对接入WAF所有流量进行分析,如果您不需要分析某些防护对象的流量,可关闭该防护对象的合规审查开关。具体操作,请参见配置生效对象

合规审查详细的数据说明,如下表所示。

数据类型

说明

检测结果

通过统计数据,展示个人信息数据类型定义、个人敏感信息数据类型定义在指定时间段的检测结果:

  • 不存在数据出境风险

  • 存在数据出境风险(需备案)

  • 存在数据出境风险(需申报)

检测列表

通过统计数据,展示个人信息出境数据条数、个人信息出境数据关联自然人人数检测项的评估结果。

数据出境数据走势

通过趋势图,展示出境敏感信息数量、个人信息总数、出境个人信息数量在指定时间段的走势。

出境数据流向分布

通过世界地图,展示出境数据流向的分布情况。颜色越深,表示流向的数据越多。

  • 鼠标悬置地图上,可查看数据出境的目的地,以及出境的个人信息数量和敏感信息数量。

  • 支持放大或缩小世界地图。

个人信息出境类型统计

通过列表,展示自去年1月1日至今向境外提供的不同数据量级的个人信息、敏感个人信息,及其评估结果。关于评估结果的评判标准,请参见出境数据申报和备案的标准是什么

个人信息涉及站点及接口统计

通过列表,展示不同站点下的API接口出境的个人信息、敏感个人信息数量。

溯源敏感数据

API安全页面的溯源审计页签,进行敏感数据溯源。

重要

溯源审计功能默认关闭,您可以在策略配置 > 生效对象配置页签,开启目标防护对象的溯源审计开关。具体操作,请参见配置生效对象

功能

说明

日志查询

支持溯源获取敏感数据泄露IP地址、接口和所属域名、敏感数据泄漏的详细信息等。

  • IP地址统计:展示获取敏感信息的IP地址,并根据敏感信息量级,从大到小排序。

  • 域名统计:展示出站敏感数据的域名,并根据敏感数据量级,从大到小排序。

  • 敏感数据类型统计:展示泄露的敏感数据类型,并根据不同类型的数据量级,从大到小排序。

  • 敏感数据接口统计:展示泄漏敏感数据的接口和所属域名,并根据敏感数据量级,从大到小排序。

  • 访问日志详情:展示敏感数据泄露的详细日志信息。

    您可以通过域名、API敏感数据类型、IP地址等筛选具体的日志信息。

数据溯源

设置要查询的敏感数据样例,获取溯源结果。

  1. 策略配置 > 生效对象配置页签,开启目标防护对象的数据溯源开关。

  2. 选择敏感数据类型后,填写要查询的样例数据。

    说明

    输入的样例数据越多,交叉验证后,溯源的准确性越高。支持最多输入5个查询样例数据,多个样例数据间用半角逗号(,)隔开。

  3. 单击溯源结果操作列的查看详情,在日志查询页签,查看溯源信息。

步骤五:配置API安全策略

在内置检测机制的基础上,API安全支持自定义符合业务特征的检测策略。您可以配置鉴权凭据特征策略、敏感数据类型策略攻击检测模型策略、业务用途策略、生命周期策略,使得识别出的API数据更符合您的实际业务情况,进一步提高API安全检测的准确率与召回率。

配置鉴权凭据特征策略

在系统内置的鉴权凭据识别的基础上,您可以指定某一参数名,用于判断Request请求中是否携带鉴权凭据,从而提升API安全对于未鉴权风险识别的准确率。

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

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

    配置项

    说明

    特征字符

    设置要进行鉴权的参数名。例如,如果请求Body为

    xxx=123&yyy=456,那么xxxyyy就是参数名。

    位置

    设置参数的位置。可选项:

    • GET参数名

    • POST参数名

    • Cookie参数名

    • Header

    状态

    设置策略状态,默认为

配置敏感数据类型策略

API安全提供如下两种敏感数据类型策略:

  • 内置策略

    支持多种敏感数据类型的策略,包括身份证、储蓄卡、姓名、地址、手机号等。您可以根据业务需要,开启或关闭对应策略。内置策略不支持修改或删除。

  • 自定义策略

    如果内置策略不满足业务需求,您可以自定义检测策略,进一步提升API安全对于敏感数据的检测准确率。

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

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

      配置项

      说明

      名称

      为该规则设置一个名称。

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

      模式

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

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

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

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

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

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

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

      等级

      设置检测的敏感数据的等级。可选项:高敏感、中敏感、低敏感。

      状态

      设置策略状态,默认为

配置攻击检测模型策略

如果系统内置攻击检测模型无法满足业务需求时,您可以根据业务情况来自定义攻击检测模型,从而提高异常事件的检出率。

  1. API安全页面,选择策略配置攻击检测模型配置页签。

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

    配置项

    说明

    规则名称

    为该规则设置一个名称。

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

    匹配条件

    设置该规则要匹配的请求特征。

    每个条件由匹配字段逻辑符匹配内容组成。关于匹配字段和逻辑符的更多说明,请参见支持的匹配字段说明

    单击新增条件,添加一个条件。一个规则中最多可以添加五个条件。如果定义了多个条件,则只有当多个条件同时满足时,才算命中规则。

    统计时长

    设置攻击检测的统计时长,默认值为15分钟。

    访问量

    设置网站最大访问量,统计维度为API粒度。

    去重统计

    设置重复参数的告警统计规则。可选项:

    • 不统计:表示不对参数进行去重统计,即满足该策略其他配置项要求时,则触发告警。

    • 统计指定参数:表示对指定参数进行去重统计,即在满足该策略其他配置项要求的同时,如果指定参数不同取值的个数超过指定阈值,则触发告警。

      选中该项后,您需要进行如下配置:

      • 参数位置:设置去重的参数位置,可选项:GET参数POST参数

      • 参数名称:设置去重的参数名称。

      • 阈值:设置指定参数不同取值的最大个数。

    • 统计所有参数:表示对所有参数进行去重统计,即在满足该策略其他配置项要求的同时,如果任意参数不同取值的个数超过指定阈值,则触发告警。

      选中该项后,您需要进行如下配置:

      • 排除参数名设置不需要去重统计的参数名,多个参数间用半角逗号(,)分隔。通常填写正常业务调用所需要的参数,比如时间戳或者页码等。

      • 阈值设置参数不同取值的最大个数。

    配置示例

    登录接口请求Body为username=admin&pass=******时:

    • 如果需要检测暴力破解攻击,可选择统计指定参数并进行如下配置:

      • 参数位置POST参数

      • 参数名称pass

      • 阈值30

      表示在指定统计时长内,如果访问量超过阈值,同时POST参数pass的不同取值超过30个时,则触发告警。

    • 如果需要检测撞库攻击,可以选择统计所有参数并进行如下配置:

      • 排除参数名:无需设置,表示不排除任何参数。

      • 阈值:30

      表示在指定统计时长内,如果访问量超过阈值,同时参数username或者pass的不同取值超过30个时,则触发告警。

    事件等级

    设置攻击检测的事件等级。可选项:高危中危低危

    状态

    设置策略状态,默认为

    支持的匹配字段说明

    匹配字段

    支持的逻辑符

    说明

    URL

    • 等于多值之一、不等于任一值

    • 包含多值之一、不包含任一值

    • 长度等于、长度大于、长度小于

    请求的统一资源定位标识URL(Uniform Resource Locator),表示被请求的资源的路径。

    对应匹配内容以/开头,不包含域名,例如,/login.php

    IP

    属于、不属于

    请求的来源IP,即发起请求的客户端的IP地址。

    匹配内容填写要求如下:

    • 支持使用IPv4地址(例如,1.XX.XX.1)、IPv6地址(例如,2001:db8:ffff:ffff:ffff:ffff:ffff:ffff)。

    • 支持使用IP网段格式(例如,1.XX.XX.1/16)。

    • 每输入一个IP地址,按回车进行确认。

    • 最多支持设置100个IP地址。

      说明

      单个规则最多可填写100个IP或IP网段。例如,某条规则中包含两条匹配字段为IP的匹配条件,则两条匹配条件中的IP或IP网段总数不能超过100个。多个IP或IP网段之间使用英文逗号(,)分隔。

    User-Agent

    包含多值之一、不包含任一值

    发起请求的客户端的浏览器标识、渲染引擎标识和版本信息等浏览器相关信息。

    请求方法

    等于多值之一、不等于任一值

    请求的方法,包括GET、POST、DELETE、PUT、OPTIONS、CONNECT、HEAD、TRACE、PATCH,支持多选。

    请求长度

    等于、值大于、值小于

    请求的请求内容所包含的字节数。取值范围:0~8192。

    响应长度

    请求的响应内容所包含的字节数。取值范围:0~8192。

    GET参数

    • 长度等于、长度大于、长度小于

    • 存在、不存在

    • 包含多值之一、不包含任一值

    GET请求的参数。选择该匹配字段后,需设置具体的参数名。

    POST参数

    POST请求的参数。选择该匹配字段后,需设置具体的参数名。

    Cookie参数

    请求中的Cookie包含的参数。选择该匹配字段后,需设置具体的参数名。

    鉴权

    等于

    用户是否已获得API资产的访问授权。

    服务对象

    等于多值之一、不等于任一值

    API资产的服务对象,支持多选。

    业务用途

    API资产的业务用途,支持多选。

    响应状态码

    API资产的响应码状态。每输入一个响应码,按回车进行确认,最多支持设置50个响应码。

    敏感数据类型

    API资产的敏感数据类型,支持多选。

    敏感数据等级

    API资产的敏感数据等级,支持多选。

配置业务用途策略

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

  • 内置策略

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

  • 自定义策略

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

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

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

      配置项

      说明

      名称

      为该规则设置一个名称。

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

      URL特征

      设置业务场景的URL特征关键字,多个参数间用逗号(,)分隔。

      说明

      如果您配置多个参数,则命中其中一条即可生效,并更新对应资产的便签。

      参数名特征

      设置业务场景的参数名特征关键字,多个参数间用逗号(,)分隔。

      状态

      设置策略状态,默认为

配置API生命周期

API安全支持通过设置日访问量、持续时间,来自定义失活接口的判断标准,使得失活API检测更符合业务情况。

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

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

    • 单击内置模型

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

    • 单击自定义,并设置日访问量、持续时间。

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

配置生效对象

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

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

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

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

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

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

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

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

步骤六:查看更新后的API安全数据

完成步骤五:配置API安全策略的配置后,您可以在API安全页面的概览风险检测安全事件页签,查看配置了检测策略和生效对象后的安全数据。更多信息,请参见步骤三:查看API安全数据

相关操作

您可以在云监控控制台设置API安全事件的监控和告警,使WAF在检测到高危风险事件时向您发送告警通知,帮助您及时掌握API资产的安全状态。具体操作,请参见设置WAF攻击事件的监控与告警