目前,我一直在使用(D)DoS-Deflate来管理大量远程服务器上的此类情况,并使用Apache JMeter进行负载测试。
总的来说,它运行得相当好,尽管我想听听一些大师的建议,他们在这种情况下工作的时间比我长。我敢肯定,那些在网络托管业务中工作的人在处理这些情况方面有相当的份额。所以我想知道在企业环境中解决这类问题的最佳实践是什么?
目前,我一直在使用(D)DoS-Deflate来管理大量远程服务器上的此类情况,并使用Apache JMeter进行负载测试。
总的来说,它运行得相当好,尽管我想听听一些大师的建议,他们在这种情况下工作的时间比我长。我敢肯定,那些在网络托管业务中工作的人在处理这些情况方面有相当的份额。所以我想知道在企业环境中解决这类问题的最佳实践是什么?
防止 DDoS 主要是为了不成为目标。不要托管游戏服务器、赌博/色情网站和其他容易让人生气的东西。
缓解 DDoS 攻击有两种形式:
前者在某种程度上取决于您所提供的服务,但通常归结为缓存、溢出处理的某种组合(检测服务器何时“满”并将新连接重定向到资源使用率低的“抱歉”页面) ,以及请求处理的优雅降级(例如,不进行图像的动态渲染)。
后者需要与您的上游进行良好的沟通——将您的上游 NOC 的电话号码纹在您的眼睑内侧(或者至少在与您的生产服务器不在同一位置的某个 wiki 中)。 ..) 并了解在那里工作的人,所以当您打电话时,您会立即得到关注,因为您实际上知道他们在说什么,而不仅仅是一些随机的约翰尼。
你没有提到你有什么样的外围安全。使用 Cisco 防火墙,您可以限制防火墙在将其切断之前允许的初始(半会话)数量,同时仍允许完整会话通过。默认情况下它是无限制的,不提供任何保护。
Foundry ServerIron 和 Cisco ACE 等硬件辅助负载平衡器非常适合处理大量主要类型的 DOS/DDOS 攻击,但不如可以更快“学习”新技术的软件解决方案灵活。
一个很好的信息来源是这个站点。他们只是顺便提到的一项措施(值得进一步研究)是启用 SYN cookie。这通过防止攻击者打开大量“半开”连接以试图达到每个进程允许的最大文件描述符数来防止整个类别的 DoS 攻击。(参见 bash 手册页,查找带有 '-n' 选项的 'ulimit' 内置)
免责声明:我不是 DDoS 保护专家。
我认为这取决于您的预算、正常运行时间的条件条款以及您或您的客户如何面临这种风险。
基于代理的 DDoS 保护可能是一种选择。在大多数情况下,这不是一个便宜的选择,但我认为它是最有效的。我会向我的托管服务提供商寻求解决方案。例如,RackSpace 提供了这种多层缓解工具。我相信所有大型主机都有类似的解决方案。