网站遭受的 DDoS 攻击对用户、所有者和运营商构成了严峻挑战。分布式拒绝服务 (DDoS) 攻击会通过向网站、服务器或应用程序注入虚假流量,从而阻止合法用户访问,从而破坏网站、服务器或应用程序。如果您拥有或运营一个商业网站,那么学习如何保护网站免受 DDoS 攻击至关重要。本文将介绍如何保护网站免受 DDoS 攻击、网站为何成为 DDoS 攻击者的目标、风险最大的网站类型、这些攻击的影响以及网站遭受 DDoS 攻击的近期示例。最后,您将了解为何以及如何保护您的网站免受 DDoS 攻击。
为什么要保护您的网站免受 DDoS 攻击?
DDoS 攻击可能导致网站下线,从而造成收入损失和客户流失。保护您的网站免受 DDoS 攻击对于防止以下负面后果至关重要:
网站遭受 DDoS 攻击的示例
DDoS 攻击频频发生,因此大多数攻击都没有被报告,尽管它们的影响可能会给企业带来严重影响。最近登上新闻的网站 DDoS 攻击包括:
这些事件清楚地提醒我们,DDoS 攻击可以随时针对任何人,包括个人、企业、行业、组织和政府,除非有全面的DDoS 防护服务来应对此类攻击。
显然,所有类型的网站都面临 DDoS 攻击的风险。但是,某些行业或垂直行业的网站面临的风险更高:游戏、金融和电信行业分别是最常受攻击的行业。
值得注意的是,DDoS 攻击是一种真正的全球威胁。您的企业、服务器或客户的位置不会对您成为攻击目标的可能性产生重大影响。因此,保护您的网站免受 DDoS 攻击绝对必不可少。让我们来看看如何做到这一点。
让我们探讨一些防止 DDoS 攻击的关键方法。
自动化恶意机器人可以执行诸如网页抓取、表单提交滥用以及恶意 POST、GET、PUT、PATCH 或DELETE 请求等任务。实施速率限制(限制进入您网站的请求速率)是一种有效的对策。
通过配置速率限制器,您可以指定每秒允许对您的网站或域的用户请求数,从而保护您的网站免受 DDoS 攻击产生的欺诈性请求。您甚至可以按地理位置限制请求。
网络安全解决方案中提供全面自动化的机器人保护。订阅后,您可以配置机器人保护以减轻针对您的在线资产的机器人活动。
Gcore WAAP (Web 应用程序防火墙 + API 保护)采用实时监控和机器学习来过滤传入流量、扫描和验证请求签名并阻止恶意请求,从而保护您的连接资源。它可以保护网站和 Web 应用程序免受零日攻击、凭证盗窃、帐户接管、恶意机器人、 OWASP 十大威胁和 DDoS 攻击。
启用后,您可以在一个位置查看报告、创建规则和管理触发器。触发器允许您指定条件、过滤器以及在发生符合您设置的条件的攻击时要采取的措施。
由于新游戏的发布,游戏平台等网站可能会遭遇真正的流量高峰或类似 DDoS 攻击,导致其在关键时刻无响应或完全无法供游戏玩家使用。幸运的是,可以通过将游戏平台连接到内容交付网络(CDN) 来预防或缓解这种情况。CDN 是一个全球分布的缓存(边缘)服务器网络,可确保高效的内容交付。
在 DDoS 攻击期间,具有 DDoS 保护功能的 CDN(如Gcore CDN)可保护您的源服务器和最终用户。CDN 可监控、分析和过滤传入流量,仅允许合法请求到达您的源服务器。CDN 网络内的缓存服务器随后将请求的内容仅提供给合法用户,从而防止网络拥塞和拒绝向最终用户提供服务。
将所有网站内容放在一个域上会增加您遭受 DDoS 攻击的风险。一种战略替代方案是将您的内容分布在多个域或子域中,从而增加冗余度,从而提高 DDoS 弹性。
将内容和 API 保存在同一个域中的网站或应用程序比将其 API 放在专用域中的网站或应用程序更容易受到 DDoS 攻击,这增加了潜在攻击者的障碍。
将 API 存储在专用域中,您可以设置和应用自定义访问策略和安全措施,例如请求限制和 WAF。此外,还可以为 API 分配特定资源(例如专用服务器)。这可以改善组织并简化维护。
静态内容(例如脚本、图像和样式文件)在网页加载时保持不变。与动态内容不同,它们易于缓存、服务速度快、资源高效且不可改变。将静态内容存储在专用域上并将其连接到 CDN 可使该内容更易于缓存,并更快地为最终用户提供服务。它还可以提高冗余性和 DDoS 弹性。
在将内容拆分到不同域之间时,只需在主页上存储最少量的 JavaScript 代码。这有助于同时从 API 和静态内容域下载内容。主页的 JavaScript 代码不应存储客户端数据或依赖于客户端数据。这将有助于防止出现安全、隐私、性能、维护和缓存问题。
每当收到 REST API 请求时,它们都会在客户端使用 JavaScript 请求进行处理,从而保护您免受不熟悉 JavaScript 的不良行为者的 DDoS 攻击。
URL 路径是域名中 com 后面的部分。例如, example.com/ product/categories/shoes 中的 URL 路径是/product/categories/shoes 。如下图所示。
网站上的路径分割功能可让您跨不同的 URL 路径高效地组织、分配和管理资源。更重要的是,它允许您应用定制的访问策略(例如速率限制)来阻止 DDoS 攻击。
查询参数是 URL 中问号 (?) 后面的部分。它们也称为 URL 参数或查询字符串,用于向 Web 服务器传递附加信息,由键值对组成,以 = 符号分隔。多个键值对以与号 (&) 分隔。
在以下 URL 中,有两个由 & 符号分隔的键值对: http://www.example.com/products/shoes? color=black&sort=newest
键 1 :颜色,值 1 :黑色
键 2 :排序,值 2 :最新
这将过滤结果以显示黑色鞋子,并首先列出最新的鞋子。
减少查询参数的数量可以让 Web 服务器更轻松地缓存、获取和提供网页,从而提高冗余度和 DDoS 弹性。换句话说,查询参数越少或越短越好。