震惊!二狗子的火锅店被隔壁老王 DDoS 攻击了
近两年,游戏出海已经成为了出海热潮中的一员。在“后宅经济时代”的影响下,也得益于海外市场的互联网人口,游戏出海涨势非常迅猛。部分游戏在短时间内走红后,就会遭到了一些“有心人”发起的恶意网络攻击,其中最为常见的一种就是 DDoS 攻击。
在聊 DDoS 攻击之前,我们先来看看什么是 DoS。
DoS和DDoS
当个别 IT 基础设施组件负载过高时,通常会发生拒绝服务的情况,我们称之为 DoS(拒绝服务)。如果是这是因为攻击者用大量请求淹没目标链接,以致于服务器无法再处理所有请求时,即为 DoS 攻击。DoS 攻击会造成设备、操作系统和单个服务器服务只能以延迟的方式响应请求(如果还没完全宕机的话)。
DoS 的一种常见形式称为 “分布式拒绝服务” (DDoS,Distributed Denial of Service)。
以游戏 App 为例,DDoS 攻击的发起者不是只使用一台计算机,他们通过用大量不同机器的请求去 “轰炸” 这个游戏的服务器,最终导致服务器负载过重,运行的系统就会变慢甚至完全崩溃。这样,真正的游戏用户就无法再快乐地玩耍这个游戏。
举个具体的例子,让大家更清楚地了解什么是 DDoS 攻击。二狗子开了一家有 50 个座位的火锅店,用料上成食材新鲜,生意特别红火,而隔壁老王家的火锅店却无人问津。隔壁老王为了对付二狗子,叫了 50 个人去二狗子的店里坐着,找二狗子问这问那,然而他们就是不点菜,还占着座位赖着不走。二狗子和他的火锅店都崩溃了,因为真正的顾客进店连坐的地方都没有,也得不到热情的服务。
DDoS 攻击的基础基本是庞大的计算机群体。这些计算机攻击源组合在一起形成了巨大的僵尸网络,这样巨大的网络会产生比单个系统执行的简单 DoS 攻击更多的流量。DDoS 攻击会对网站管理造成相当严重的影响,因为定位攻击源的希望通常很渺茫。攻击者往往会向保护措施不足的计算机植入代码程序,即计算机病毒,这些计算机会在管理员不知情的情况下被攻击者控制。如今,路由器、监控摄像头或数字视频录像机等 IoT(物联网)设备使用也越来越频繁,这些设备也可能被利用变为 “僵尸主机”。
DDoS攻击类型
与其他种类的网络入侵不同,DDoS 攻击不会去试图渗透系统。相反,它可能会成为其他入侵中的一部分。例如,当一个系统瘫痪时,攻击可以用来分散服务器管理员的注意力,这样就容易忽略系统的其他地方正在被入侵。DDoS 攻击背后的策略可分为三类:
- 带宽过载
- 系统资源过载
- 利用软件错误和安全漏洞
1. 带宽过载
超载带宽的目的是令计算机无法访问。DoS 和 DDoS 攻击直接针对系统网络及其各自的连接设备。路由器一次只能处理一定数量的数据,如果超出此容量,其他用户将无法再使用服务。超载带宽中典型的 DDoS 攻击是 Smurf 攻击。
Smurf 攻击:这种 DDoS 攻击利用了 Internet 控制报文协议(ICMP),ICMP 的主要作用在于在计算机网络中交换信息和错误报告。攻击者将经过篡改的 ICMP 应答请求数据包(Ping)发送到网络的广播地址,使用目标的 IP 地址作为发件人地址;然后广播请求从路由器转发到所有连接的设备,导致该网络的所有设备都对此 ICMP 应答请求做出答复,进而淹没受害主机,导致网络阻塞。更加复杂的 Smurf 将源地址改为第三方的受害者,最终导致第三方崩溃。
2. 系统资源过载
针对 Web 服务器的 DDoS 攻击 是最为常见的。攻击者利用了 Web 服务器只能建立有限的数量连接。如果这些链接被无效请求占用,那么就能有效地阻止正常用户请求。这就是 Flood 泛洪。针对系统资源的经典 DDoS 攻击模式有 Ping Flood、SYN Flood 和 UDP Flood。
HTTP Flood:这是最简单的 DDoS 资源过载攻击的变体。攻击者通过大量 HTTP 请求淹没目标的 Web 服务器。他们只需访问网页中任何一个元素,就能让服务器因请求量过载而崩溃。
Ping Flood:此类攻击下,攻击者会使用 ICMP 应答请求数据包令服务器过载。这些请求通常由僵尸网络大规模发送。由于这些请求必须用来自目标系统的数据包来回答,数量过多就会消耗主机资源,主机资源耗尽后就会瘫痪或者无法提供其他服务。
SYN Flood:这种攻击属于滥用了 TCP 三次握手连接。TCP(传输控制协议)是一种网络协议,它与 IP 一起确保互联网上的数据流量通畅。TCP 连接在三步验证中建立,该过程从客户端向服务器发送同步数据包(SYN)开始;然后服务器接收到它,服务器用自己的同步数据包(SYN)和确认(ACK)确认请求;最后连接过程以客户端确认(ACK)结束。SYN flood 会在服务器上创建大量的半开连接,比如一直停留在最后一步,服务器会将这些没有最终确认的连接存储在内存中,直到服务器资源被完全耗尽。
UDP Flood:这种类型的攻击主要依赖于无连接的用户数据报协议(UDP)。与 TCP 协议传输不同,数据可以通过 UDP 传输而无需事先建立连接。对于 DDoS 攻击,UDP 数据包被发送到目标系统上的随机端口。系统会尝试确定哪些应用程序正在等待传输数据,确认未成功的情况下,会将 ICMP 数据包连同消息 “ Destination Unreachable(目的地无法到达)” 一起发送回发送方。当请求量过大时,系统资源过载,就会影响普通用户的请求。
3. 利用软件错误和安全漏洞
如果黑客在操作系统或程序中发现某些安全漏洞,他们也可以策划 DoS 或 DDoS 攻击来引发系统崩溃。此类攻击的类型包括死亡之 Ping 和 LAND(局域网拒绝服务)攻击等。
Ping of death:这种攻击的目的是造成系统崩溃。这是一种基于 IP 的攻击,这种攻击主要是由于单个包的长度超过了 IP 协议规范所规定的包长度。IP 数据包通常作为片段发送,如果组装后的 IP 数据包大于了 64 KB 的最大允许值,就会导致缓冲区溢出。包当中的额外数据就会被写入其他正常区域。这很容易导致系统进入非稳定状态,是一种典型的缓存溢出(Buffer Overflow)攻击。在一级防火墙中对于这种攻击进行检测是相当难的,因为每个分片包看起来都很正常。
LAND 攻击:这种类型的攻击通过发送精心构造的、具有相同源地址和目标地址的欺骗数据包,致使缺乏相应防护机制的目标设备瘫痪。攻击者发送符合 TCP 三次握手的 SYN 数据包,SYN 数据包与要攻击的服务器具有相同的目标和源地址,使目标机器开启一个源地址与目标地址均为自身 IP 地址的空连接,持续地自我应答,消耗系统资源直至崩溃。
如何预防和减少DDoS攻击的影响
了解了各种类型的 DDoS 攻击,然而我们并没有什么非常完美的办法阻止黑客发起攻击,只能提前加以防范。具体如何采取措施进行预防呢?一种方法是识别疑似攻击 IP 地址进行处理,同时关闭和修复任何已知的系统安全漏洞。此外,有条件的情况下可以使用专业的硬件和软件资源来阻挡攻击。
- IP 黑名单:添加 IP 黑名单可以识别关键 IP 地址并拒绝发出的数据包。这种措施可以手动添加,也可以通过防火墙策略自动添加黑名单。不过请求还是会落到主机上,如果请求量庞大还是会对系统造成影响。
- 过滤:过滤不必要的服务和端口,过滤掉不规则的数据包,也可以定义指定时间段内的访问数量限制,或对请求进行限速。
- SYN cookie:是对 TCP 服务器端的三次握手协议作一些修改,专门用来防范 SYN Flood 攻击的一种手段。有关 SYN 数据包的信息将不再保存在服务器上,而是作为加密 cookie 发送给客户端。SYN Flood 攻击会占用一些计算机容量,但不至于使系统的内存过载。
- 专业的高防服务:高防服务器主要是指独立单个硬防防御应对 DDOS 攻击和 CC 攻击 100G 以上的服务器,可以为用户提供安全维护,根据各个 IDC 机房的环境不同,有的提供硬防,有的使用软防。简单来说,就是能够帮助网站抵御拒绝服务攻击,并且定时扫描现有的网络主节点,查找可能存在的安全漏洞。目前除了高防服务器,还有高防 IP、高防 CDN 等更专业的产品。
如果您的网站在使用又拍云 CDN ,又拍云还提供了各种访问控制功能,包括各种防盗链、IP 访问限制、CC 防护、WAF 防护、限速等多种功能,大家可以根据自己的需求自行开启~
震惊!二狗子的火锅店被隔壁老王 DDoS 攻击了的更多相关文章
- 受到 1 万点暴击,二狗子被 DDoS 攻击的惨痛经历
二狗子的遭遇 “好消息,好消息,免费 DDoS 攻击软件上线了,性感黑客在线攻击,帮您攻克所有商业难题.”二狗子不知道在看着什么网站,新买的 Mac 中发出热闹的声音. 二狗子想知道“DDoS 是什么 ...
- 第一次亲密接触——二狗子初识 CDN
二狗子是国内知名XXX大学的在校学生,作为一名编程爱好者,他利用业余时间搭建了一个网站,把平时的学习心得和技术分享全都 PO 在自己的网站上.渐渐地,二狗子的网站因为文章质量高,技术分享全面,受到了很 ...
- 夜空中最靓的二狗子是如何让 HTTPS 快上加快的?
二狗子是某不知名网站的站长,他热衷于通过博客分享日常的一些工作.生活.技术等,立志要成为夜空中最靓的仔. 但是前段时间有几个用户反馈,网站总是莫名会跳转到一个 xx 网站,除此之外访问速度也有点慢.作 ...
- 二狗子 、初恋及HTTPS
最近二狗子宅在老家,最悠闲的就是泡壶茶看着院子的风景发呆一下午.今天,二狗子看到了对面自己暗恋的小翠花,看着美好的小翠花二狗子不禁想起了自己美好的初恋. 二狗子的初恋在初中,那个时候学校禁止带手机.上 ...
- 【MySQL】记一次线上重大事故:二狗子竟然把线上数据库删了!!
写在前面 估计二狗子这几天是大姨夫来了,心情很郁闷,情绪也很低落,工作的时候也有点心不在焉.让他发个版本,结果,一行命令下去把线上的数据库删了!你没听错:是删掉了线上的数据库!运营那边顿时炸了锅:怎么 ...
- 【Spring注解驱动开发】二狗子让我给他讲讲@EnableAspectJAutoProxy注解
写在前面 最近,二狗子入职了新公司,新入职的那几天确实有点飘.不过慢慢的,他发现他身边的人各个身怀绝技啊,有Spring源码的贡献者,有Dubbo源码的贡献者,有MyBatis源码的贡献者,还有研究A ...
- iOS10 导航条,这个二狗子变了...踩坑
1.iOS10导航透明要转换一个透明image UIImage *image = IsDeviceVersionIOS10 ? [WeUtils imageWithColor:[UIColor cle ...
- 超详细的编码实战,让你的springboot应用识别图片中的行人、汽车、狗子、喵星人(JavaCV+YOLO4)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 老王教您怎么做cass7.1 8.0 9.1所有系列的复制狗 加密狗 破解狗
cass7.1 8.0 9.1所有系列的复制狗 加密狗 破解狗本来是出于好奇看到网上有这样的东西,学了下感觉挺简单的,如果你是cass的初学者想仅仅是想学习这个软件,不想花大价格购买正版的,这个是可以 ...
- Subresource Integrity(子资源一致性)和JS DDos 攻击
以下文章转载自 http://www.cnblogs.com/zoucaitou/p/4505483.html 和 http://www.puronglong.com/blog//2015/04/12 ...
随机推荐
- windows 下终止nginx 进程 重新启动nginx
进入cmd 输入一下命令 删除nginx所有进程 taskkill /f /t /im nginx.exe
- Ubuntu 20.04 查看内存信息
输入命令 dmidecode -t memory 输出如下: # dmidecode 3.2 Getting SMBIOS data from sysfs. SMBIOS 2.8 present. H ...
- python01-基础概念与环境搭建
学习目标 了解硬件 & 操作系统 & 软件(应用系统)之间的关系. 了解常见的操作系统都有哪些. 了解编译器和解释器的区别和作用. 了解编程语言进行分类 了解Python解释器的种类 ...
- .NET中有多少种定时器
.NET中至少有6种定时器,每一种定时器都有它的用途和特点.根据定时器的应用场景,可以分为UI相关的定时器和UI无关的定时器.本文将简单介绍这6种定时器的基本用法和特点. UI定时器 .NET中的UI ...
- HarmonyOS 开发入门(二)
HarmonyOS 开发入门(二) 日常逼逼叨 在HarmonyOS 开发入门(一)中我们描述了 HarmonyOS 开发的语言ArKTs以及Ts简单的入门级语法操作,接下来我们进入第二部分Harmo ...
- JavaWeb项目练习(学生选课管理系统)三【登录功能】
需求: 首页为用户登录页面,管理员,教师,学生三种角色用户登录后,进入相应的功能页. 在index.jsp文件里跳转到login.jsp页面,为了更好地书写 <%@ page contentTy ...
- Codeforces Round #656 (Div. 3) E. Directing Edges(拓扑排序)
题目传送门 首先发现初始图五有向环的话那么肯定是"YES",否则是"NO".然后找到一种满足要求地建树规则即可.这里采用拓扑排序建树,先dfs找出目前点的拓扑序 ...
- VS Code安装教程
一.下载 1.官网 下载地址:https://code.visualstudio.com/Download 2.下载 根据自己电脑型号下载,此处以Windows为例. 二.安装 1.下载完成后,直接点 ...
- MySQL8.0 安装教程
一.下载 1.官网地址 MySQL :: Download MySQL Community Server 2.选择安装包安装方式 3.选择安装版本 4.开始下载 5.下载成功 二.安装 1.双击安装包 ...
- [AGC031E] Snuke the Phantom Thief
Problem Statement A museum exhibits $N$ jewels, Jewel $1, 2, ..., N$. The coordinates of Jewel $i$ a ...