DDOS 攻击的防范教程 —— 阮一峰,ddos攻击的防御策略是什么

DDOS 攻击的防范教程 —— 阮一峰一个多月前,我的个人网站遭受 DDOS 攻击,下线了50多个小时。这篇文章就来谈谈,如何应对这种攻击。
需要说明的是,我对 DDOS 并不精通&

一个多月前,我的个人网站遭受DDOS攻击,离线50多个小时。本文介绍了如何应对这种攻击。

需要明确的是,我对DDOS 并不熟悉,也从未想过自己会成为攻击目标。袭击发生后,许多素未谋面的朋友给了我帮助和建议,我学到了很多东西。这里记录了一些对我最有帮助的解决方案。

一、DDOS 是什么?

首先我们来解释一下什么是DDOS。

比如我们开了一家餐厅,正常情况下最多可以容纳30人同时就餐。只需走进餐厅,坐在餐桌旁,点餐,即可立即收到食物。

不幸的是,我激怒了一名帮派成员。他同时派了三百人进餐厅。这些人看上去都是熟客,纷纷说道:“快点上菜吧。”不过,这家餐厅可容纳30人,无法同时容纳多份订单,而且入口被封锁,分为室内三层和室外三层,所以普通食客不可能不被允许进入。事实上,餐厅已经瘫痪了。

这是一种DDOS攻击,会在短时间内发起大量请求,耗尽服务器资源,导致无法响应正常访问,从而导致网站下线。

DDOS中的DOS代表拒绝服务,表明这种攻击的目的是破坏服务。第一个D是分布式的,由于攻击来自四面八方而不是一个地方,因此更难以防守。当我关上前门时,他从后门进来。关上后门,从窗户跳出去。

二、DDOS 的种类

DDOS 不是一种攻击,而是一大类攻击的总称。其类型有几十种,而且新的攻击方法一直在被设计出来。网站运营的各个方面都可能受到攻击。除非某一环节断裂,整个流程无法运行,否则就达到了瘫痪服务的目的。

其中,最常见的攻击之一是cc攻击。它简单粗暴地发送大量超出服务器最大容量的常规请求,导致停机。我遇到了抄送攻击,全球多达20 个或更多IP 地址按顺序发送请求,每个地址每秒发出大约200 个请求。查看访问日志,我们似乎被请求淹没了,日志文件大小在短短几分钟内就增长了100MB。

本文以下内容是针对cc攻击的。

三、HTTP 请求的拦截

如果恶意请求有特征,就很容易处理。拦截一下就可以了

通常,HTTP 请求有两个特征:IP 地址和用户代理字段。例如,如果您的所有恶意请求都来自某个特定的IP 段,您可以简单地阻止该IP 段。或者,如果用户代理字段具有特征(包含特定单词),则拦截包含该单词的请求。

拦截可以在三个级别上进行。

(1)专用硬件

您可以在Web 服务器前面设置硬件防火墙来专门过滤请求。这是最有效的,但也是最昂贵的。

(2)本地防火墙

所有操作系统都有软件防火墙,Linux 服务器通常使用iptables。例如,要拦截来自IP地址1.2.3.4的请求,请运行以下命令:

$ iptables -A 输入-s 1.2.3.4 -j 删除

iptables 比较复杂,我不太擅长使用它。对服务器性能有一定影响,无法防范大规模攻击。

(3)网络服务器

Web 服务器还可以过滤请求。拦截IP地址1.2.3.4,nginx编写如下:

位置/{

拒绝1.2.3.4。

}

Apache 编写此内容的方式是将以下段落添加到您的.htaccess 文件中:

一切都需要

请求所有补助金

不需要IP 1.2.3.4

/一切你需要的

如果您想要更精确的控制(例如自动识别和阻止频繁请求的IP 地址),您应该使用WAF。我这里就不详细说了。有关配置nginx 的信息,请参阅此处和此处。

Web 服务器拦截对性能要求极高,尤其是对于Apache。对于稍微大一点的攻击,这个方法就没啥用了。

四、带宽扩容

上一节中的HTTP拦截是有前提条件的。也就是说,请求必须具有特征。然而,真正的DDOS 攻击是不伦不类的,无法被拦截,因为请求看起来像正常请求,并且来自不同的IP 地址。这就是DDOS特别难以防范的原因。

当然,这种DDOS攻击的成本并不低,正常网站不会这样对待。但如果遇到了,该怎么办呢?有什么根本的预防方法吗?

答案很简单。只是尝试吸收这些需求。如果一家30人的餐厅来了300人,就想办法把餐厅扩大到容纳300人,比如临时租用店面、聘请厨师,这样老顾客不受影响吧。对于网站来说,这意味着短时间内快速扩展,提供数倍甚至数十倍的带宽来承受大流量需求。云服务提供商能够提供保护产品,因为他们拥有丰富的冗余带宽可用于吸收DDOS 攻击。

我朋友教我的方法给我留下了深刻的印象。一家云服务提供商一次购买了五台,因为他们承诺每台主机都将受到保护,免受低于5G 流量的攻击。网站架设在其中一台主机上,但其他主机都是镜像,并使用DNS在这四台镜像服务器之间均匀分配流量。当发生攻击时,该架构可以阻止20G流量,并且当发生更大规模的攻击时,可以购买额外的临时主机并不断扩展镜像。

五、CDN

CDN 是指将网站的静态内容分发到多个服务器上,以便用户可以访问附近的服务器以获得更快的速度。因此CDN也是一种带宽扩展的方法,可以用来防御DDOS攻击。

您的网站内容存储在源服务器上并缓存在CDN 上。仅允许用户访问CDN,如果内容不在CDN上,则CDN向源站服务器发出请求。这种情况下,只要CDN足够大,就可以抵御大规模的攻击。不过,这种方法是有前提条件的。您网站的大部分内容应该是可静态缓存的。对于主要包含动态内容的网站(例如论坛),您需要找到其他方法来最大程度地减少用户对动态数据的请求。

上一节我们讲的镜像服务器本质上就是自己搭建一个微型CDN。来自主要云服务提供商的高度防御的IP 在幕后做着同样的事情。您网站的域名指向一个受到高度保护的IP,它提供了一个缓冲层来清理流量并在源服务器上缓存内容。

这里有一个重要的点。一旦您访问CDN,您不应暴露源服务器的IP 地址。否则,攻击者可能会绕过CDN,直接攻击源服务器,让你的努力付诸东流。如果你搜索“绕过CDN,获取真实IP地址”,你就会发现黑色产业在中国有多盛行。

Cloudflare 是一项免费的CDN 服务,并提供防火墙,因此我们强烈推荐它。另外,还要感谢v2ex.com 的站长@livid,他目前正在使用CDN 产品。

(就这样)

学习资料分享

当然,只给出方案而不给出教材,无异于流氓行为。 ### 如果您有兴趣开始网络安全,请单击此处。 CSDN礼包:《黑客网络安全入门进阶学习资源包》免费分享。

如果您对网络安全感兴趣,我们的学习资源免费共享,并保证完全免费。 (Heyke入门教程)

全套网络安全(Heyke)学习视频

通过看视频学习的时候,理解并运用它们,而不是仅仅动动眼睛、动动脑袋,才是更科学的学习方法。

网安(嘿客红蓝对抗)所有方向的学习路线****

对于刚接触网络安全的学生,我们创建了详细的学习和成长路线图。这可以说是最科学、最系统的学习路线。每个人都可以遵循这个大方向。

学习资料工具包

盒子底部的丰富资源全面深入地介绍了基础网络安全理论,包括逆向工程、八层网络防御、汇编语言、白帽网络安全、密码学、网络安全协议等。它被集成到.基础理论与主流工具的应用实践。帮助读者了解各种主流工具背后的实现机制。

面试问题信息

我们的专用频道收集了京东、360、天融信等公司的试题。大工厂的入口就在拐角处!

嘿客必备开发工具

工欲善其事,必先利其器。学习黑客常用的开发软件都在这里了,节省了大家很多时间。

这份完整版的网络安全(嘿客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接也可扫描下方微信二v码获取网络工程师全套资料【保证100%免费】

如果你对网络安全入门感兴趣,那么你点击这里CSDN大礼包:《黑客网络安全入门进阶学习资源包》免费分享

以上防范#DDOS攻击教程——阮一峰相关内容来源网络,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92210.html

Like (0)
CSDN的头像CSDN
Previous 2024年6月25日
Next 2024年6月25日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注