持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情
写在前面
今天继续安全系列文章,这次讲解一个目前在软件层面没有太有效防御效果的攻击 DDOS ,此网络攻击主要涉及到网站的正常运转,通过本文也给自己搭建网站的掘友一点参考建议,提高网站的抗风险的能力。
DDOS
DDOS,即分布式拒绝服务攻击(英文意思是Distributed Denial of Service,简称DDoS,是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击,其中的攻击者可以有多个。
攻击过程
1、收集僵尸机
目前规模较大的网站,基本上都应该是做了高并发机制的,那么黑客如果只通过自己的力量,肯定无法将网站服务器冲垮,为了将流量放大,黑客通常采取的是同时操控网络上大量的被其控制的主机,同时对某个网站设施集中打击,所以收集僵尸机成为了最开始的第一步,也是最关键的一步。通常,黑客们会采用无差别扫描,通过扫描器,对网络上大量的主机进行渗透检测,当发现某主机存在漏洞,即通过相关攻击手段获取该主机的控制权,拿权限的方法有很多,可能是上传木马病毒等方式,这里不展开介绍,当拿到控制权后,这台主机将成为僵尸机池里的一名成员,随时待命着。
2、发出指令
当黑客收集到足够的僵尸机后,那就到了最后设施的关键一步了,黑客远程对所有僵尸机下达指令,统一对目标网站进行访问
3、网站响应至宕机
当黑客完成指令下达后,僵尸机将开始持续统一地对网站发起无差别请求,这个时候,网站按正常的响应方式,一一对僵尸机的请求进行响应,随着请求越来越多,网站服务器达到其性能瓶颈,最后资源被耗尽,进入宕机状态,网络攻击成功
典型案例
假设有两个购物网站,阿猫网和阿狗网,阿猫网起家早,卖货生意非常火爆,而后来入局者阿狗网却一天天持续低迷,销量持续萎缩,眼看着对手在逐渐吃掉自己的市场份额,这个时候,啊狗网开始慌了,于是,在情急之下动了个歪主意,请了某网站的黑客,希望他帮忙想办法打压啊猫网,于是思来想去,黑客终于想到了一个非常可取的方案,那就是让阿猫网不定时宕机,影响消费者的好感度,进而打压其市场份额。于是黑客开始实施该方案,首先通过在网络上搭建钓鱼网站,诱骗安全意识较低的网民下载提前写好的具有高传播性的木马病毒,于是通过不断的传染复制,许多机子被病毒感染,等待数日后,黑客启动病毒控制程序,收集被感染的主机,加入僵尸机池,准备任务完成,然后黑客选了一个月黑风高夜,想所有主机发起指令,吹响总攻号角,于是,啊猫网不出所料应声宕机。。。。。。
防范措施
针对 DDOS,由于其访问并非同一台主机发起,无法对访问次数进行限制并封禁 IP ,因此在软件层面上是很难进行正对性防御的。
1、搭建负载均衡高性能服务器集群
DDOS 主要是利用大量的流量来冲垮服务器,那么我们可以采取增加服务器、搭建负载均衡的方式来对抗这类攻击,当然这样做的成本是巨大的,为了抵挡 DDOS 攻击,增加非常多的服务器设备,将是一笔非常大的开支,也增加了非常多的运维成本,一般不建议这么做
2、部署 CDN
CDN主要是能够使访问者按最近原则获取网页缓存内容,从而缩短访问速度,那么如果部署了 CDN ,DDOS 的访问流量首选就应该是走 CDN 而不是直接访问服务器了,这样一来也就能够利用 CDN 为网站抵挡一部分的攻击
3、部署安全厂商的防火墙
对于 DDOS ,各大安全厂商都做了相对应的防御型产品,当预算重置的情况下,部署防 DDOS 防火墙也是一个不错的选择
4、购买云 DDOS 高防服务
对于初创公司,没有自建机房,网站部署在云端的,可以采取购买对应云厂商的高防 DDOS 高防服务来对抗 DDOS,毕竟云厂商的数据中心设备资源量也是能够达到一定量级的,当发生 DDOS 攻击的时候,通过智能调度调配资源,也能够对 DDOS 达到有效的防御
往期好文推荐
面试官:说说从输入 URL 到页面显示到底经历了什么,体现一下你的知识广度
面试官:HTTPS 采用的是对称加密还是非对称加密?具体说说其加密过程
面试官:你就只会 npm run build 吗?(Webpack 配置 Vue+Ts)
面试官:连VuePress都没搭过还说开发过组件库?(VuePress 搭建)
面试官: 连 Vue 视图更新都不会写?(Vue视图更新原理【一】)
面试官: 能不能手写 Vue 响应式?(Vue2 响应式原理【完整版】)
面试官:能不能手写 Vue3 响应式(Vue3 原理解析之响应系统的实现)
面试官:说一下这个Loading动画实现思路 (CSS3 实现 Loading 动画)
面试官:你确定你说的防抖不是节流吗?( 面试题梳理系列 (二))
面试官:除了 HTTP,你还用过什么通信协议?(Websocket 在数字孪生中的应用)
面试官:你真的理解 Event Loop 吗?( JS 事件循环 )
面试官:v-for 中 key 为什么不能用 index,从原理层面聊聊?
面试官:vue-router 的 hash 与 history 哪个模式会刷新页面?
面试官:说说你平时用过的自适应方案(数字孪生可视化自适应方案)
写在最后
博主接下来将持续更新好文,欢迎关注博主哟!!
如果文章对您有帮助麻烦亲点赞、收藏 + 关注和博主一起成长哟!!❤️❤️❤️