让CDN成为围绕您不断增长的REST API集的保护屏障。 这是一个示例用法。
除非你是一个拥有大量活跃用户和收入的大型部署,否则我认为除了基本措施之外你不能证明任何理由。
相反,请确保您确信您将及时了解您的系统受到攻击(通过监视CPU /内存/请求每秒)。
如果您认为自己受到攻击,请询问托管服务器的任何人。
我很想听到另一种观点,但我认为任何自己动手的方法几乎总是注定要失败。几乎无论你做什么,上游提供的链接都可能已经饱和,这意味着有时唯一可以做某事的人就是服务器的上游 - 而不是你。
启用Web缓存可以缓解对GET请求的DoS攻击。但另一种常见的DoS攻击类型是在HTTP POST方法中发送大量数据。要缓解此类DoS,最好在Web服务器或应用程序服务器中设置PostTimeoutSecs,MaxPostTimeSecs,MaxPostSize设置。参数名称因服务器而异。
话虽这么说,添加Web缓存和设置POST请求限制是防止DoS攻击的非常基本的方法。为了更有效地抵御DoS攻击,您可以考虑使用Web Application Firewall等解决方案。请访问 OWASP 市场上的WAF产品列表,包括一些开源选项。
在您的API前放置一个类似Squid或Varnish的HTTP缓存,并在您关注的任何资源上放置一个小的max-age标头。即使最大使用期限为1秒,也会阻止您的API因该资源每秒被击中一次以上。
的 DDoS攻击 强> 攻击利用应用程序中的弱点,这是由于代码异常(例如内存泄漏,更长的会话时间,占用高CPU周期的边界条件)而形成的。会话时间对于RESTFul Web服务可能无效,因为它们被认为具有无状态响应。但是,以下步骤可能有所帮助。
的 开发/编码视角 强>
的 运营视角 强>
的 基础设施观点 强>