在前面两期《D课堂》中,D妹和大家分享了网站搭建好之后无法访问,应该如何排查,不知道大家学会了吗?
然而,想要维持网站长久健康的运行,我们还需要关注网站的安全问题。
![图片[1]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/147973670fce6acf6656e3cfed69c3ab.jpg?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
不少站长们苦心经营自己的网站,眼看着流量上涨,正准备能赚点奶茶钱,网站就被攻击了。
更别说企业的站点,尤其是涉及交易、用户敏感信息的电商、金融、游戏等网站,容易因为高额利润、商业竞争等原因被黑客盯上。
一旦被攻击,可能会导致网站无法访问,辛苦积攒的用户飞了,严重的还会影响重要的交易、被盗取数据、被引流至非法网站,甚至受到黑客的删库勒索。不仅觉睡不好,还要承受钱财、形象等的损失。
![图片[2]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/d09638adcad47a85343ea8b54bee2605.png?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
今天,D妹带大家一起来了解下,网站一般会受到哪些攻击?我们又应该如何对网站进行保护?
DDoS攻击是什么?
DDoS攻击(Distributed Denial of Service Attack,分布式拒绝服务攻击)是一种历史悠久、让各位站长吃尽苦头的网络攻击方式。
黑客通过控制大量的僵尸网络同时向目标服务器发送大量的请求,以消耗服务器的资源,导致服务器无法正常响应合法用户的访问请求。这个攻击就好比一群捣蛋鬼来了餐厅,光占座不点餐,搞到其他真正要吃饭的顾客没办法点餐,餐厅就此错失了客户与收入。
黑客会先通过木马、蠕虫等恶意程序去感染大量设备,这些设备可能是服务器、个人电脑、手机、甚至物联网设备等等,当然有钱的黑客还能直接采购大量设备,把它们变成“肉鸡”,指挥它们对目标服务器发起进攻。
![图片[3]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/50f046a2f9991db8b5d6215f4584bf90-1024x766.png?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
当目标服务器的带宽、CPU被大量占用,甚至宕机,那么运行在服务器的应用程序/网站就无法访问了。
一般“肉鸡”们会集中攻击网络通信系统七层的其中一层,因此就衍生出DDoS攻击的多种方式,包括大家比较熟悉的SYN洪水攻击、UDP洪水攻击等。
![图片[4]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/c5dc5c2bbaa5d09e1c1fea136e90802b-1024x574.png?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
由于篇幅有限,D妹就来讲下与DNS比较相关的DDoS攻击 —— DNS洪水攻击、DNS放大攻击。
DNS洪水攻击(DNS Flood Attack),有点特别,它不是攻击目标服务器,而是攻击DNS服务器。
黑客控制“肉鸡”对DNS服务器发起大量的解析请求,将DNS服务器的资源耗尽,用户输入域名时就无法解析出IP地址,最终导致应用程序/网站无法访问。
![图片[5]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/916ba1d780494c121a9287867a9eca76.png?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
DNS放大攻击(DNS Amplification Attack),就是利用DNS的放大效果攻击目标服务器。
黑客将自己的IP伪造为目标服务器IP,不断向DNS服务器发起解析请求,DNS服务器响应请求并返回解析结果给目标服务器。
由于DNS的运作原理,黑客用某些手段让DNS尽可能大响应,因此DNS服务器的应答数据包是请求包的数十倍或数百倍,导致目标服务器容易被大量的响应淹没,从而资源耗尽,正常用户无法访问。这招可谓“借刀杀人”,四两拨千斤。
这些被利用的DNS服务器一般是开放的DNS服务器,站长们还不好做点啥,要根治还是需要提供DNS服务器的互联网服务提供商(ISP)过滤伪造IP的流量,避免被利用。
■ 如何应对DDoS攻击?
1、针对DNS洪水攻击,可以使用DNS安全防护服务,例如我们DNSPod的DNS安全防护套餐,最高可以承受1亿QPS,也就是每秒1亿次查询请求,DNS服务器即使遭到攻击也很难耗尽资源。(详情也可以查看公众号第二篇推文)
针对其他类型的DDoS攻击,目前比较主流的应对方法是在自己的终端加强防护:
2、在自己的服务器使用DDoS防护服务,例如腾讯云轻量应用服务器Lighthouse就提供了DDoS高防保险,当然你也可以选购更高规格的DDoS防护套餐。
3、通过内容分发网络(CDN)、负载均衡等将流量分发到各个地方,缓解被攻击时的高峰流量,减轻资源被耗尽的风险。
4、部署智能全局流量管理(IGTM),自动监控IP的健康状况,IP被攻击不幸故障时,可以自动切换到备用IP,保障网站运行的连续性。
5、部署Web应用防火墙(WAF),主要用来防御应用层的DDoS攻击,能够有效识别并阻止恶意请求。
CC攻击是什么?
CC攻击(Challenge Collapsar Attack)是DDoS攻击的一员,专门针对应用层。也就是其他DDoS攻击会攻击更底层的服务器,而CC攻击是攻击能直接看得到的应用程序/网站。
![图片[6]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/435e828b88ed2842372d6c1c043eaef0.png?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
黑客通过控制“肉鸡”或代理服务器模拟正常用户行为,大量请求服务器上的资源,尤其是需要较长时间计算或数据库交互的资源,例如登录页面、需要提交表单页(搜索页、注册页、评论页等)、带有大量图片或音视频的页面、API接口等,从而导致服务器的CPU被大量占用,正常用户访问慢或无法访问。
CC攻击对比其他DDoS攻击,模仿的是正常用户行为,因此很难区分IP是正常用户还是黑客,更具隐蔽性。
■ 如何应对CC攻击?
1、部署Web应用防火墙(WAF),主要用来防御应用层的DDoS攻击,能够有效识别并阻止恶意请求。
2、定期检查系统日志,关注短时间内发送大量请求的IP地址,并将这些攻击源IP加入黑名单,后续可进一步设置IP地址白名单和黑名单策略。
3、为每个用户或IP地址设置请求速率限制,例如每秒最多允许访问的次数,从而降低单个用户或IP地址对服务器的压力。
![图片[7]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/147973670fce6acf6656e3cfed69c3ab-1-1024x683.jpg?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
SQL注入攻击是什么?
SQL注入(SQL Injection)是利用程序员编写应用程序/网站时忽略的网络安全漏洞进行攻击。
如果一个应用程序/网站需要接受客户端用户输入的内容或传递的参数,且前端数据传到后端时没有做严格校验,这个内容或参数被当作SQL语句的一部分执行,从而导致数据库数据泄露、数据篡改、数据丢失等。
举个简单的例子,你的网站是需要用户登录的,用户输入账号与密码后,服务器就会向后端的数据库查询用户数据,这时就会用到SQL语言。
![图片[8]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/f3547354cfc9f5689bfb11223e35afc7.jpg?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
如果黑客在登录的时候不好好输入账号与密码,而是输入恶意SQL代码(如下图例子所示),那么后端就不会正常查询数据库,执行出来的SQL语句的意思就变味了。
![图片[9]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/dd353edbecec6528529d8f0ce35709c0.png?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
后端SQL语句为:从用户表单里选取用户名为dmei、密码为dns666的用户
SELECT * FROM users WHERE username = 'dmei' AND password = 'dns666'
![图片[10]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/838f7916931e5273f5187ac06522e2a2.png?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
后端SQL语句为:从用户表里选取用户名为dmei的用户即可。
(在MySQL里,– 后面的内容被认为是注释,不会作为代码执行,黑客就能绕过密码检查。)
SELECT * FROM users WHERE username = 'dmei' --' AND password = '123456'
这样,黑客即使不知道密码也可以直接登录。有的黑客会导出数据库里的所有用户数据,用于牟利或者其他非法用途,有的会篡改数据库,甚至有的会删库跑路。
![图片[11]|DDoS、CC,网站被攻击了该怎么办?|小白博客](https://xiaobal.com/wp-content/uploads/2024/07/05072061109d58027738298ef29b9de3.png?imageMogr2/format/webp/interlace/0/strip|watermark/2/text/WGlhb0JhbEJMT0c/font/dGFob21hLnR0Zg/fontsize/24/fill/IzAwMDAwMA/dissolve/80/shadow/0/gravity/southeast/dx/20/dy/20)
如何应对SQL注入攻击?
1、后端程序员在编写应用程序/网站的时候设置检测过滤,对用户的输入进行校验,过滤不正常的输入;同时也可以通过参数化查询的方法,将查询与数据分离,确保用户输入的数据不会被解释为SQL代码。
2、此外,还可以使用Web应用防火墙(WAF)、定期更新和限制数据库用户权限等措施来加强对数据库的防护。
结语
网站被攻击的形式还有很多,例如DNS劫持、DNS缓存投毒等等,D妹下期继续和大家讲解讲解~
还是要提醒一句,实施网络攻击是违法的,大家不要效仿哦。面对这些困扰已久又无法彻底根治的网络攻击,各位站长们平时在运营网站时要记得保持警惕,做好备份与防护!
站长群集#技术教程交流Q群:464723236 (新群&禁广)
守约者DNS二级域名分发系统www.kuz5.com(防失联)本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果有侵权之处请第一时间联系我们删除。敬请谅解! E-mail:xiaoyuziyuan@qq.com
暂无评论内容