我正在设置一个+ Lambda微服务,它将返回非敏感但特定于用户的data.This,这意味着来自服务的响应不能被缓存并提供给多个用户。
有一种可能性,即未经授权的第三方将攻击此服务,并导致资源使用激增。
主网站上的页面通常是从CloudFront缓存和服务的,而不需要将每个请求发送到原始服务器,因此不可能为每个用户提供这个请求服务器端。
还有什么可以做的,以确保该服务仅供实际查看网站的人访问,而不是第三方应用程序?
发布于 2018-06-18 17:58:12
在这种情况下,我要添加各种限制费率的种类和组合,例如:
如果您能够识别未经身份验证的呼叫,例如IP-Adress或Cookies之类的,您可能还可以进一步限制这一点,甚至更准确。例如:
间隔可以是固定的或滑动的时间窗口中的任何东西,例如硬编码的5秒。
在一个项目中,我使用ip-adress和用户id(如果可用的话)的组合实现了类似的功能--保护服务不受匿名、可识别甚至正确授权的客户端的误用/攻击。
我使用了https://github.com/mokies/ratelimitj -自述文件也指出了一些背景文章,例如https://blog.figma.com/an-alternative-approach-to-rate-limiting-f8a06cf7c94c
发布于 2018-12-11 07:58:34
在限制速率的情况下,我认为AWS网关已经建立了相应的机制,配置起来相对简单。(AWS API网关配额)
What Are Usage Plans and API Keys? A usage plan specifies who can access one or more deployed API stages and methods — and also how much and how fast they can access them. The plan uses API keys to identify API clients and meters access to the associated API stages for each key. It also lets you configure throttling limits and quota limits that are enforced on individual client API keys.
https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html
在用户和机器人的上下文中,可以检查简单的登录服务,该服务可以与API网关集成:
https://softwareengineering.stackexchange.com/questions/372726
复制相似问题