使用API网关流控防攻击-阿里云开发者社区

开发者社区> 银月> 正文

使用API网关流控防攻击

简介: API使软件之间的通讯更加便捷,使得基于软件支撑的商业模式得以落地,如移动支付,从而促进API经济的繁荣。现在开放API服务已经成为软件服务的主要趋势,对于API提供者而言,API服务的安全性则是需要重点考虑的。但互联网上的攻击,或者某次促销导致流量暴增,超出服务承受能力的情况无可避免
+关注继续查看

  API使软件之间的通讯更加便捷,使得基于软件支撑的商业模式得以落地,如移动支付,从而促进API经济的繁荣。现在开放API服务已经成为软件服务的主要趋势,对于API提供者而言,API服务的安全性则是需要重点考虑的。但互联网上的攻击,或者某次促销导致流量暴增,超出服务承受能力的情况无可避免,在这种情况下,怎么保护后端服务不受影响,服务不被中断?
  API网关在设计之初,就重点考虑了安全性的问题,流控作为API网关的主要功能,能从API分组、API、用户、APP四个维度进行流量控制,当流量超过设置阈值时,API网关会直接返回错误信息(错误码403,有明确的因流控被拒的错误信息)给请求者,不会再继续调用API提供者的后端服务,从而保护了后端服务不被攻击。同时我们还具有精准流控,实时生效的特点。

API分组流控

  每个API分组在建立的时候,默认设置了分组的QPS为500,指该分组下所有API的QPS之和为500,目前该值没有开放给用户编辑,如果该值不能满足你的业务情况,请通过提交工单的方式联系我们修改。

API流控设置

  API流控用于通道内的业务分层,API提供者可以根据后端服务能力和业务的重要程度来区分API,可分别设置不同的流量控制,以保证重要业务的延续性。API流控须小于分组流控。
  用户流控用于在API上的用户分层,API提供者可以为普通用户设置流量控制,防止用户间相互挤占资源。用户流控须小于API流控。
  同理,APP流控类似。APP流控须小于用户流控。

  具体操作方法如下:

1、建立流控策略

screenshot

screenshot

  API流量控制指单位时间内的调用次数控制
  单位时间:目前支持分钟、小时、天三个粒度的流量控制。
  分钟:适合配置在调用频繁,请求量大的API上,防攻击,因为不能长时间中断调用,所以单位时间不能设置太长。
  小时、天:级别的适合配置在敏感型API上,比如发短信API,获取验证码API等,限制调用频率。

2、设置特殊流控策略

  上面的流控是针对普通用户设置的默认流控,如果还有例外的情况,我们支持给用户和APP设置特殊流控。特殊流控,主要用于对用户或APP分层,API提供者可以设置API上某个用户(或某个APP)的单独流控,可以大于或小于用户流控。
  在“流控管理”详情页面可分别添加“特殊应用”和“特殊阿里云用户”的流控。
screenshot

3、绑定API

  将策略绑定到API上,即可生效。针对不同环境的API(如测试、线上),可分别绑定不同的API策略。
screenshot
screenshot

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4494 0
Spring Boot 使用 Zuul 开发 API Gateway
Spring Boot 使用 Zuul 开发 API Gateway 《Spring Boot 实战开发》—— 基于 Gradle + Kotlin的企业级应用开发最佳实践 Spring Boot 是构建单个微服务应用的理想选择,但是我们还需要以某种方式将它们互相联系起来。
4304 0
微服务网关SIA-GateWay使用指南
微服务网关SIA-GateWay使用指南
1896 0
ApplicationContextAware使用说明
唯一接口方法作用 设置该对象在其中运行的ApplicationContext 通常这个调用将被用来初始化对象 在普通bean属性的装配之后但在初始回调例如InitializingBean#afterPropertiesSet()或一个自定...
1007 0
API网关支持专享实例
信息摘要: API网关支持专享实例自助购买(北京、青岛、杭州、上海、深圳、新加坡、法兰克福)适用客户: 开发者,企业,对API网关服务品质有更高要求的客户。版本/规格功能: 专享实例是API网关新推出的提供更高RPS与SLA的规格,用户可以通过支付规格配置费用自助购买更高的RPS,获取独享的资源,包含公网入口IP地址、仅允许自己VPC访问的的内网IP地址、公网出口带宽、独立隔离的服务器集群等,提供更高等级的SLA保障。
620 0
+关注
5
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载