震惊!二狗子的火锅店被隔壁老王 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 ...
随机推荐
- 如何通过 wireshark 捕获 C# 上传的图片
一:背景 1. 讲故事 这些天计划好好研究下tcp/ip,以及socket套接字,毕竟工控中设计到各种交互协议,如果只是模模糊糊的了解,对分析此类dump还是非常不利的,而研究协议最好的入手点就是用抓 ...
- 普冉PY32系列(十) 基于PY32F002A的6+1通道遥控小车I - 综述篇
目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) P ...
- CentOS6-详细启动流程
CentOS6的启动流程 第一步:硬件启动阶段 本步的流程: 1. 打开电源: 2. POST自检: 3. BIOS逐一排查设备启动顺序,如果是硬盘启动,读取硬盘的MBR的BootLoader.(这里 ...
- 你知道Spring中BeanFactoryPostProcessors是如何执行的吗?
Spring中的BeanFactoryPostProcessor是在Spring容器实例化Bean之后,初始化之前执行的一个扩展机制.它允许开发者在Bean的实例化和初始化之前对BeanDefinit ...
- timeSetEvent()函数定时器的使用
1.定时器函数的使用 微软公司在其多媒体Windows中提供了精确定时器的底层API支持,利用多媒体定时器可以很精确地读出系统的当前时间,并且能在非常精确的时间间隔内完成一个事件.函数或过程的调用. ...
- 3款国产办公软件,不仅好用,还支持linux国产操作系统
当提到国产办公软件并支持Linux国产操作系统时,以下是三款备受好评的软件: 1. WPS Office(金山办公套件) WPS Office是中国知名的办公软件套件,也是一款跨平台的应用程序.它包含 ...
- CentOS(7.6)环境下迁移Mysql(5.7)的data目录到指定位置
第一步:关闭Mysql #关闭Mysql服务systemctl stop mysqld#查看Mysql服务状态 ps -ef|grep mysql 第二步:创建新目录,并拷贝数据文件 #创建data文 ...
- Mybatis-Flex核心功能之@Table
1.能干啥? @Table 主要是用于给 Entity 实体类添加标识,用于描述 实体类 和 数据库表 的关系,以及对实体类进行的一些 功能辅助. 例如: 数据库有一张tb_member的会员表 这时 ...
- 组合式api的使用方式
方式一:通过setup选项 <script> export default { setup(){ // 提供数据 // 提供函数 // 提供计算属性等等..... } } </scr ...
- VsCode运行与freopen与快读
运行 g++ -o a a.cpp && ./a g++ b.cpp -o b && ./b g++ c.cpp -o c && ./c freopen ...