腾讯云微服务引擎 TSE - 域名防护
文档简介:
本文介绍云原生 API 网关如何结合 WAF 通过添加域名的方式与云原生 API 网关的资源(包括服务、路由)进行绑定,实现对经过云原生 API 的流量进行检测和拦截。
域名防护提供服务级、路由级别的防护,分别适用于不同粒度的防护,您可根据网关业务特性和 API 使用情况分别配置,在节约成本的同时保障 API 安全。对应的防护的区别为:
防护类型
|
防护说明
|
状态转换
|
服务级防护
|
访问该服务下所有路由的请求都将接入 WAF 默认规则的防护引擎,如您需要针对具体服务开启WAF防护,可使用该粒度防护。
|
默认关闭。
服务下全部路由开启:自动变为全部开启
服务下部分路由关闭:自动变为部分开启
|
路由级防护
|
仅访问该路由的请求都将接入 WAF 默认规则的防护引擎,如您只需要对具体路由开启WAF防护,可使用该粒度防护。
|
默认关闭。
服务防护开启:自动变为全部开启
|
说明:
不同 WAF 版本支持域名数量不同,详细参考WAF套餐与版本说明。
前提条件
在开启 WAF 前,确保您的 tse-global-configuration 插件和 tse-cloud-waf 插件已升级到最新版本。
1. 登录 TSE云原生API网关控制台。
2. 在左侧导航栏单击云原生 API 网关 > 插件管理,在页面上方选择好网关实例。
3. 选择系统插件页签,查看插件是否已更新到最新版本,若未更新,单击操作列的安装最新版本即可。
操作步骤
步骤 1:配置 Web 应用防火墙
1. 登录 Web 应用防火墙控制台,在左侧导航栏中,选择资产中心 > 接入管理 > 域名接入。
2. 在域名接入页面,单击添加域名,填写相关配置参数,单击确定即可。

参数
|
说明
|
所属实例
|
负载均衡型。
|
域名
|
在域名输入框中添加需要防护的域名。
|
流量来源
|
选择云原生 API 网关。
|
代理情况
|
选择“是” ,WAF 将通过 XFF 字段获取客户真实 IP 地址作为源地址,勾选可能存在源 IP 被伪造的风险。
|
国内地域
|
选择需要防护的地域。
|
3. 单击确定,即可返回域名接入。在域名接入可以查看到防护域名和网关实例 ID、名称等信息。
步骤 2:添加防护域名
1. 登录 云原生 API 网关控制台,在左侧导航栏选择安全防护 > WAF 防护,在防护域名 Tab,单击添加域名,选择或填写 步骤 1 中已经接入 WAF 的域名,支持选择在证书管理中已添加证书对应的域名,也支持自行输入域名进行添加。
2. 单击确定,确认防护域名已添加完成。
注意:
您需要确保防护域名已完成 WAF 接入,否则将无法将对应域名的请求进行送审。

步骤 3:开启资源防护
云原生 API 网关支持服务级和路由级粒度的防护,
开启服务级防护
1. 进入防护服务 Tab,默认展示当前实例下所有服务。
2. 选择需要进行 WAF 接入的服务,单击开启防护,在开启 WAF 防护的弹窗中,单击确定,开启该服务的 WAF 防护。
说明:
服务级防护开启后,该服务以及服务下所有的路由都对应开启防护。
如将服务下部分路由防护关闭,服务防护状态和实例防护状态都将变为部分开启。
开启路由级防护
1. 进入防护路由 Tab,默认展示当前实例下所有路由。
2. 选择需要进行 WAF 接入的路由,单击开启防护,在开启 WAF 防护的弹窗中,单击确定,开启该路由的 WAF 防护。
关闭服务级防护
1. 进入防护服务 Tab,默认展示当前实例下所有服务。
2. 选择需要关闭 WAF 接入的服务,单击关闭防护,在关闭 WAF 防护的弹窗中,单击确定,关闭该服务的 WAF 防护。
注意:
服务级防护关闭后,该服务以及服务下所有的路由都对应关闭防护。
关闭路由级防护
1. 进入防护路由 Tab,默认展示当前实例下所有路由。
2. 选择需要进行 WAF 接入的路由,单击关闭防护,在关闭 WAF 防护的弹窗中,单击确定,关闭该路由的 WAF 防护。
步骤4: 测试验证
1. 登录云原生 API 网关 控制台,在左侧导航栏中,选择安全防护。
2. 确认域名防护状态为部分开启或全部开启。

3. 在浏览器中输入网址http://<网关域名或IP>/?test=alert(123)并访问,浏览器返回阻断页面,说明 Web 应用防火墙防护功能正常。
