如何防止Azure APIM遭受恶意请求并重复触发速率或配额限制

87次阅读
没有评论

问题描述

面临这样的情况:他们有一个开放面向公众的Azure API网关,可以被任何人使用,但希望保护API免受同一IP或同一个人在多个IP后面发起的恶意攻击。用户已经查阅了一些文档,了解到Azure API Management内部可以配置一些策略来实现以下目标:
– 通过订阅来限制调用速率
– 通过密钥来限制调用速率
– 通过订阅来设置使用配额
– 通过密钥来设置使用配额
– 限制调用者的IP

但由于API对公众开放,上述的通过订阅或密钥来设置的限制不适用。而通过逐个限制调用者的IP,则不能预防问题发生。用户想知道如何防止同一用户(IP)重复超出速率或配额限制。此外,如何防止同一用户在多个IP上重复这样做。

用户猜测这个问题可能在Azure的DDoS Protection Basic文档中有涵盖,但他觉得那些文档中没有给出明确的答案。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

通过IP地址进行速率限制

为了防止同一IP反复触发速率或配额限制,你可以使用Azure API Management的灵活限制策略,具体操作如下:
1. 使用IP地址进行速率限制是一种有效的方法。你可以根据IP地址来限制请求的速率,防止同一IP在短时间内反复调用API。
2. 阅读Azure API Management的IP地址限制文档,了解如何配置IP地址限制策略。

注意Azure DDoS Protection Basic的限制

需要注意,Azure DDoS Protection Basic并不能提供很多保护,除非你选择付费约3000美元每月的标准计划。它并不知道什么对你的应用来说是正常的,因此在应对高级的恶意攻击时可能不足以保护你的API。因此,要综合考虑是否需要使用高级的DDoS保护计划来进一步保护API的安全。

以上就是解决方案的两个关键点,通过IP地址进行速率限制以及对Azure DDoS Protection Basic的认识。这些措施将帮助你有效地防止恶意请求不断触发API的速率或配额限制,从而维护API的正常运行和安全性。

以上解决方案可能受到Azure平台的更新和变化的影响,建议在操作前查阅最新文档和平台变更。

正文完