网站刚上线,就被 DDoS 攻击炸了!
今天是一个值得纪念的日子,你打开一罐可乐,看着自己刚刚上线的小网站,洋洋得意。
这是你第一次做的网站,上线之后,网站访问量突飞猛进;没过多久,你就拿到了千万的风投,迎娶了女神,走上了人生巅峰。。。
害,原来是喝醉了啊。。。你发现刚才那一切竟然都是你的幻想!
这时你突然收到了一封邮件:
你:???
虽然你之前就听说过 DDoS 攻击,但没想到这么快就发生在了自己的头上。
DDoS(分布式拒绝服务)攻击是一种通过制造大量恶意流量打向目标服务器,导致其资源耗尽、服务中断或无法正常响应用户请求的网络攻击方式。
曾经你以为,DDoS 没什么可怕的,大不了攻击时网站不提供服务,攻击结束后再重启服务不就好了?
但现实给了你一巴掌,没想到云服务器平台直接把你的服务器 封禁了 12 小时 !你脊背有些发凉了:攻击者只需攻击几十秒,竟然就能让你的服务器老老实实瘫痪半天。
你不甘心,决定运用你学过的专业知识进行反击。
你给服务器程序增加了一个请求 IP 黑白名单,并且能够对每个 IP 的请求频率进行统计,只要发现单个 IP 请求过快过多,系统就会自动把该 IP 拉黑,就不用处理该 IP 的请求了。
你信心满满,又开始了对未来的幻想。。
结果没多久,你又收到了同样的邮件,你的服务器 IP 又被封堵了!而且这次 封禁了 24 小时 !
坏了,你意识到自己犯了一个错误。DDoS 攻击根本不需要向你的应用程序发送恶意请求,而是可以通过直接发送大量的网络流量(比如 UDP 包、ICMP 请求等)到服务器,从而消耗服务器的带宽和资源。也就是说,攻击的目标是直接影响服务器的网络层和传输层,不需要经过应用层。
那一瞬间,你发如雨下,突然意识到,自己的后端技术学得再好,有什么用?DDoS 来了,自己还是没办法解决。
不过你不甘心,天将降大任于斯人也,必先苦其心志劳其筋骨,伤其服务器。。。你继续搜索防御方案,发现 Cloudflare 提供了免费的、号称不限量的 DDoS 防护服务!于是你满怀希望地将它接入网站。
之后,有些用户访问网站时,就会看到这朵小黄云,减少了机器请求攻击:
这下,你长呼了一口气,让攻击者和 Cloudflare 斗智斗勇吧~
可没想到,接下来的几天,不断有用户反映:猪站长啊,你这网站打开速度也太慢了!
原来免费版本的 Cloudflare 在国内的节点数量有限,要从国外节点加载网站文件,导致国内用户访问速度变慢了。
于是你在网上查了一些攻略,发现有一些开源仓库确实可以找到国内优选的加速节点,但对网络运营商还是有一定限制,而且谁知道这些节点又能撑多久呢?
正当你犹豫不决时,你又又又又又收到了服务器封堵的邮件!
你一脸懵逼:不是已经接入 CloudFlare 防护了么?
等等,攻击者已经知道了服务器本身的 IP 地址,完全可以绕过 CloudFlare,直接攻击到服务器啊!
这就好比你造了一面墙,但攻击者直接绕过去:
你有些头痛了,干脆一不做二不休,花点儿钱上更好的防护服务?于是你上网搜了一下大公司专业的高防服务器,发现价格竟然在几万 ~ 几十万不等!
你看了看自己 “薄如蝉翼” 的钱包,瞬间放弃了这个念头。
你开始怀疑是不是自己选错了方向,或者该做的也许并不是去拼防护,而是去做点儿别的事情?
首先,你想到了切换一个平台作为源站,只要保证服务器不会因为攻击而导致长时间封禁,这样即使被攻击了也能快速恢复。但是换到哪个平台呢?这时你想到了你的好朋友鱼皮,他曾经也用了一些平台,比如 Vercel。但你听说,他当时在 Vercel 上的网站因为被攻击得太严重,直接被平台封禁了账号,属实是老倒霉蛋了。
通过调研,你发现可以使用云托管之类的容器部署平台,可以将应用程序部署到多个不同的节点上,被封禁的概率小了很多。
但治根不治本,你想了想,只要保护好自己的源站服务器 IP 地址不被泄露,是不是就可以了呢?
于是,你更换了个新的服务器 IP。这次,不直接将网站域名解析到服务器 IP,而是接入了一个大厂的 CDN 服务,将域名解析到 CDN 服务,再让 CDN 服务从你的服务器获取网站文件。这样一来,攻击者无法直接得到服务器的 IP 地址,只能看到 CDN 节点的 IP。
CDN 一般是按照流量计费的,不出意外的话,价格比高防可低了太多。
那如果,出意外了呢?
没过几天,你发现自己的云服务账户欠费了!
原来,攻击者疯狂请求你的 CDN 盗刷流量,产生了高额的流量费用。
第一次使用 CDN 的你,根本没有料到这点。后来,鱼皮给你推荐了他写过的一篇文章 《我被刷几万元的血泪经验。。。》 ,看完后你才意识到:乱用 CDN,钱包两行泪啊!
这次,你给 CDN 配置了单 IP 访问频率限制、最大消耗流量的限制和自动告警,比如 5 分钟内流量超过 5 G 时,就自动停止 CDN 服务。
这样一通操作之后,你又恢复了些信心。但没想到,接下来等待你的,是一场无休止的攻击循环。
攻击者攻击了你的 CDN => 触发 CDN 的用量封顶防护,自动关闭服务 => 你重新打开 CDN 服务、并且通过 CDN 配置拉黑了之前攻击者的 IP => 攻击者又使用新的 IP 攻击 CDN。。。
你的选择
你的故事还没有结束,接下来,你会怎么做呢?
A. 怒砸巨款,买一年的 DDoS 安全防护
B. 关闭网站,不做了
C. 找专业人士求助
D. 找警察叔叔求助
E. 想办法拉赞助
你的结局
A. 怒砸巨款,买一年的 DDoS 安全防护
你决定不再 “省小钱,吃大亏”,干脆砸几万块钱,买一个更加专业的防护服务。你的网站终于在大流量攻击下依然稳定运行,用户也稳定增长,但一年后,你的网站只盈利了不到 1 万,血亏!
B. 关闭网站,不做了
看到 DDoS 攻击一波又一波地袭来,你虽然无数次尝试过调整策略,但身心俱疲,最后你决定放弃,关掉这个网站。
虽然稍有不甘,但你意识到,想一个人做好、运营好网站真的太不容易,你也更加理解鱼皮曾经的感受,选择加入鱼皮,帮他一起开发 编程导航 。
C. 找专业人士求助
你意识到自己的网络安全知识是缺斤少两的,于是决定请一位专家来帮你做 DDOS 防护。专家跟你说了很多的专业名词和理论,什么零信任架构、IDS、IPS、态势感知、流量清洗、蜜罐之类的,但最终并没有给你实质性的帮助,因为你也没有足够的资金去实现那些理论。
D. 找警察叔叔求助
你认为攻击者已经触犯了法律,于是决定报警。但没想到,由于你并没有受到巨大的金额损失,警方表示对此案件的关注度较低。而且 DDoS 攻击通常是由大量分布在全球各地的受害主机发起的,很难被追踪和定位。
你很难过,但也意识到了,这才是现实。
E. 想办法拉赞助
既然解决不了 DDoS 问题,何不去找找投资者或合作伙伴,拉个 “大力支持” 的赞助?说不定他们会为你提供免费的 DDOS 防护服务呢!
于是,你将网站开源,持续写文章介绍自己的网站。最终被一位年轻的富二代看上,他不仅没有给你提供赞助,还直接让公司的程序员搬走了你的开源代码,自己上线了个网站。
从此,网络上总会看到一个郁郁寡欢的年轻人,嘴里念念有词:“我抄你们码!”
当然,还有更多的选择和结局,留给评论区的人才们讨论吧~ 如果你喜欢这篇文章的话,记得点赞支持哦!
更多编程学习资源
网站刚上线,就被 DDoS 攻击炸了!的更多相关文章
- 【转】《从入门到精通云服务器》第四讲—DDOS攻击
上周咱们深入分析了云服务器的配置问题,好了,现在手上有了云服务器之后,我们又不得不提它:DDOS攻击.这是所有运维者的心头痛,也是任何公司听闻后都将心惊胆战的强大对手.下面我们将用浅显易懂的方式讲述什 ...
- JavaScript实现DDoS攻击原理,以及保护措施。
DDos介绍 最普遍的攻击是对网站进行分布式拒绝服务(DDoS)攻击.在一个典型的DDoS攻击中,攻击者通过发送大量的数据到服务器,占用服务资源.从而达到阻止其他用户的访问. 如果黑客使用JavaSc ...
- 浅谈Ddos攻击攻击与防御
EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...
- nginx爆出新漏洞 最低限度可造成DDos攻击
5月9日消息:国内某安全厂商称HTTP代理服务器nginx爆出远程栈缓冲区溢出漏洞,攻击者利用此漏洞可能造成栈溢出,从而执行任意代码,最低限度可造成拒绝服务攻击.目前,官方已经发布安全公告以及相应补丁 ...
- 通过DDOS攻击流程图来浅谈如何预防Ddos攻击与防御
DDOS攻击流程图 站长之家配图(来源:ppkj.net) 一 背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台以传递安全问题 ...
- DDOS攻击(流量攻击)防御步骤
DDOS全名是Distributed Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击,DDOS 最早可追溯到1996年最初,在中国2 ...
- Linux下防御DDOS攻击的操作梳理
DDOS的全称是Distributed Denial of Service,即"分布式拒绝服务攻击",是指击者利用大量“肉鸡”对攻击目标发动大量的正常或非正常请求.耗尽目标主机资源 ...
- 转载-浅谈Ddos攻击攻击与防御
EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...
- 现身说法:面对DDoS攻击时该如何防御?
上周,我们的网站遭到了一次DDoS攻击.虽然我对DDoS的防御还是比较了解,但是真正遇到时依然打了我个措手不及.DDoS防御是一件比较繁琐的事,面对各种不同类型的攻击,防御方式也不尽相同.对于攻击来的 ...
- NET MVC全局异常处理(一) 【转载】网站遭遇DDoS攻击怎么办 使用 HttpRequester 更方便的发起 HTTP 请求 C#文件流。 Url的Base64编码以及解码 C#计算字符串长度,汉字算两个字符 2019周笔记(2.18-2.23) Mysql语句中当前时间不能直接使用C#中的Date.Now传输 Mysql中Count函数的正确使用
NET MVC全局异常处理(一) 目录 .NET MVC全局异常处理 IIS配置 静态错误页配置 .NET错误页配置 程序设置 全局异常配置 .NET MVC全局异常处理 一直知道有.NET有相关 ...
随机推荐
- MyBatis——案例——查询-多条件查询-动态条件查询(关键字 if where)
动态条件查询 SQL语句会随着用户的输入或外部条件的变化而变化,我们称为 动态SQL MyBatis 对动态SQL有很强大的支撑: if choose(when,otherwise) ...
- C#/.NET/.NET Core技术前沿周刊 | 第 6 期(2024年9.16-9.22)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- Windows系统环境变量
添加环境变量: 添加系统变量,机器要重新启动 添加用户变量,机器不用重启: 一般添加环境变量都添加在用户变量中,但只针对这一用户生效 为了使的所有用户都能正常使用软件,通常添加系统变量
- 记录JDK8到JDK17各个版本的更新重点
虽然大多数公司还是用的JDK8但是也要去了解和学习一下新得东西 ## JDK8新特性(2014年初)(LTS版本) 1.Lambda表达式 2.函数式编程 3.接口可以添加默认方法和静态方法,也就是定 ...
- JS数据类型&类型转换
基本数据类型 JS中的数据类型由原始值和对象共同组成,原始值一共有七种原始值: 数值(Number) 大整数(BigInt) 字符串(String) 布尔值(Boolean) 空值(Null) 未定义 ...
- 为 AntdUI 扩展一个 MessageBox 方法
AntdUI是个很不错的开源 WinFrom 界面组件,使用中感觉消息对话框调用有点麻烦,于是按照 MessageBox.Show 的使用习惯,增加了一个扩展方法来调用,废话不多说,直接上代码. 1 ...
- OpenGL和OpenCL区别
1.OpenGL用于图形渲染程序:OpenCL用于复杂的计算.他们都是由Khronos管理并使用C语言编译. 2.OpneGL使编程能够进行图形操作:OpenCL使编程能够在多个处理器中进行计算. 3 ...
- 墨天轮访谈 | 百度云邱学达:GaiaDB如何解决云上场景的业务需求?
分享嘉宾:邱学达 百度云原生数据库资深技术专家 整理:墨天轮社区 导读 业务上云的大背景对弹性与可靠性的要求越来越高,传统架构的单机数据库或是分片数据库已经很难支撑快速增长的业务,导致单机瓶颈.扩容缩 ...
- 6. CSS有哪些方法可以提升层级
1. 使用 z-index 2. 使用定位,脱离标准流
- 04 Transformer 中的位置编码的 Pytorch 实现
1:10 点赞 16:00 我爱你 你爱我 1401 class PositionalEncoding(nn.Module): def __init__(self, dim, dropout, max ...