服如何抵御频发的 DDOS 攻击?服务器DDoS防御方法

作者 | 阿文作者|高加文编辑|郭蕊2016年5月,非法黑客对全球多家银行网站发起了一系列DDoS攻击。导致约旦、韩国、摩纳哥等央行网络系统瘫痪半小时,无***常工作。2016年11月,俄罗斯五家主要银行遭受了为期两天的DDoS攻击。由来自30个国家的24000台计算机组成的僵尸网络继续发...

作者 | 阿文作者|高加文

编辑|郭蕊

2016年5月,非法黑客对全球多家银行网站发起了一系列DDoS攻击。导致约旦、韩国、摩纳哥等央行网络系统瘫痪半小时,无***常工作。

2016年11月,俄罗斯五家主要银行遭受了为期两天的DDoS攻击。由来自30个国家的24000台计算机组成的僵尸网络继续发起强大的DDOS攻击。

2017年4月初,江苏省某网络公司服务器频繁遭到DDoS流量攻击,导致服务器上挂载的多个网站无***常运行,损失严重。

2018年3月,Github遭遇了迄今为止有记录以来最大的DDoS攻击。攻击者通过公共互联网向错误配置的memcached服务器发送一个小字节的基于UDP的数据包请求。作为回应,memcached服务器向Github发送大量不成比例的响应,造成巨大的DDoS攻击。

2019年9月初,北京市公安局网络安全总队(以下简称“网安总队”)在全国范围内开展了“分布式拒绝服务攻击”专项打击行动。三个月内,网络安全部队在全国范围内逮捕了379名犯罪嫌疑人,并在北京清除了7268名被告主机。

……

什么是DDOS攻击?什么是DDOS攻击?

比如我开了一家餐厅,可以同时容纳100个人吃饭。我的一个竞争对手也在门对面开了一家餐厅。竞争对手雇了300人坐在这家餐厅,不吃不喝,导致餐厅爆满,无***常营业。这表现为计算机中的分布式拒绝服务。在计算机系统中,利用网络协议和操作系统的某些缺陷,采用欺骗和伪装的方式对网络进行攻击,使网站服务器上充斥着需要回复的信息,消耗网络带宽或系统资源,导致网络或系统过载,从而停止提供正常的网络服务。

分布式拒绝服务(DDoS)是指不同地点的多个攻击者同时攻击一个或几个目标,或者一个攻击者控制不同地点的多台机器,利用这些机器同时攻击受害者。

攻击时可以伪造源IP地址。通常,攻击者在发动DDOS攻击之前,会控制数千台存在漏洞的电脑。这些计算机被称为“肉鸡”,入侵者通过这些“肉鸡”同时向目标机发出并发请求,导致目标机的系统资源瞬间被填满,无***常向外界提供服务。

与单个主机发起的DoS攻击相比,DDoS攻击是由数百台甚至数千台被入侵并安装了攻击过程的主机发起的群体行为。

攻击方式攻击模式

SYN洪水攻击

SYN Flood攻击是当前网络上最常见的DDoS攻击,它利用了TCP协议实现中的一个缺陷。向网络服务所在端口发送大量伪造源地址的攻击报文,可能会导致目标服务器中的半开连接队列已满,从而阻止其他合法用户访问。

众所周知,TCP需要三次握手才能建立连接,通信双方至少要交换三次信息才能进入全开状态。正常的连接建立需要以下步骤:

首先,客户端向服务器发送SYN数据包,以便启动连接;服务器响应该初始包与SYN / ACK包,以确认通信;最后,客户端返回ACK数据包以确认从服务器接收到的数据包。完成这个数据包发送和接收序列后,TCP连接打开并能发送和接收数据。

通过使用TCP握***制,服务器收到初始SYN包后,会用一个或多个SYN/ACK包进行响应,并等待握手中的最后一步。它是这样工作的:

攻击者向目标服务器发送大量SYN数据包,通常会使用欺骗性的IP地址。服务器响应每个连接请求,并留下开放端口准备好接收响应。服务器等待从未到达的最终ACK数据包时,攻击者继续发送更多的SYN数据包。每个新的SYN数据包的到达导致服务器暂时维持新的开放端口连接一段时间,一旦所有可用端口被使用,服务器就无***常工作。

当服务器断开连接,但连接到另一端的机器没有连接时,连接被认为是半开的。在这种类型的DDoS攻击中,目标服务器保持打开的连接,等待每个连接超时,然后端口再次可用。因此,这种攻击可以被认为是“半开放攻击”。

UDP洪水攻击

UDP Flood是一种日益猖獗的流量DDoS攻击,原理很简单。使用大量UDP数据包来影响DNS服务器或Radius认证服务器和流式视频服务器是很常见的。由于UDP协议是一种无连接服务,在UDP Flood攻击中,攻击者可以发送大量伪造源IP地址的小UDP包。

ICMP洪水攻击

ICMP Flood攻击是一种流量攻击,利用大流量给服务器带来沉重的负载,影响服务器的正常服务。目前很多防火墙直接过滤ICMP报文。因此,ICMP泛滥的频率较低。

连接泛滥攻击

连接泛滥是一种典型的攻击方法,它使用小流量来影响大带宽网络服务。这种攻击的原理是通过使用真实的IP地址,向服务器发起大量的连接。而且连接建立后长期不释放,占用服务器的资源,导致服务器上剩余连接(等待状态)过多,效率降低,甚至耗尽资源,无法响应其他客户发起的链接。

Http攻击

这种攻击主要针对ASP、JSP、PHP、CGI等脚本程序。,特点是与服务器建立正常的TCP连接,不断向脚本程序提交查询、列表等消耗数据库资源的调用。这种攻击的特点是可以绕过常见的防火墙保护,通过Proxy代理进行攻击。缺点是用静态页面攻击网站效果不好,会暴露攻击者的lP地址。

Udp查询洪水攻击

Udp查询洪水攻击采用向被攻击的服务器发送大量域名解析请求的方法。通常,请求解析的域名是随机生成的,或者在网络世界中不存在。域名解析的过程给服务器带来了很大的负载,如果域名解析的请求数超过每秒一定的星数,就会导致DNS服务器超时解析域名。

DDOS 的防范DDOS的预防

防止通过Linux自己的防火墙的攻击

以DDOS SYN Flood攻击为例,我们可以通过系统自带的iptables防火墙进行防护。

第一种方式是禁止攻击源IP,但通常攻击源不止一个IP。这种方式保护性弱。

$ iptables -I INPUT -s 192.168.0.2 -p tcp -j REJECT

第二种方法是限制syn并发数和同一IP中的新连接数。

#限制 syn 并发数为每秒 1 次$iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT#限制单个 IP 在 60 秒新建立的连接数为 10$iptables -I INPUT -p tcp --dport 80 --syn -m recent --name SYN_FLOOD --update --seconds 60 --hitcount 10 -j REJECT

但如果攻击源很多,还是很难阻止。SYN Flood会导致SYN_RECV状态下的连接数急剧增加,可以通过调整半连接的容量来调整,比如调整到1024。

$ sysctl -w net.ipv4.tcp_***x_syn_backlog=1024net.ipv4.tcp_***x_syn_backlog = 1024

另外,如果每个SYN_RECV都失败,内核会自动重试。默认为5次,可以修改为1次。

$ sysctl -w net.ipv4.tcp_synack_retries=1net.ipv4.tcp_synack_retries = 1

此外,TCP SYN Cookies是防御SYN Flood攻击的一种特殊方法。其原理是根据连接信息(包括源地址、源端口、目的地址、目的端口等)计算一个哈希值(SHA1)。)和加密种子(如系统启动时间)。这个哈希值称为cookie。

这个cookie被用作序列号来响应SYN+ACK包并释放连接状态。当客户端发送三次握手的最后一个ACK时,服务器会再次计算这个哈希值,确认是最后一个SYN+ACK的返回包,然后会进入TCP连接状态。所以打开SYN Cookies后,不需要维持半开放连接状态,然后就没有半连接次数的限制了。

注意,TCP syncookies打开后,内核选项net.ipv4.tcp_***x_syn_backlog就失效了。它可以通过以下方式打开:

$ sysctl -w net.ipv4.tcp_syncookies=1net.ipv4.tcp_syncookies = 1

优化网络相关的内核参数

当受到攻击时,请求的数量会很大,你可能会在时间内看到大量的连接。等待状态。

Linux查看tcp状态命令:

netstat -nat查看TCP各个状态的数量;lsof -i:port可以检测到打开套接字的状况;sar -n SOCK查看tcp创建的连接数;tcpdump -iany tcp port 6000对tcp端口为6000的进行抓包。[root@centos ~]# netstat -antActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 0.0.0.0:22 0.0.0.0:* LISTENtcp 0 0 127.0.0.1:25 0.0.0.0:* LISTENtcp 0 0 192.168.10.58:22 13.136.182.140:23107 TIME_WAITtcp 0 48 192.168.10.58:22 13.136.182.140:61282 TIME_WAITtcp6 0 0 :::22 :::* LISTENtcp6 0 0 ::1:25 :::* LISTEN

TCP状态及其描述:

状态描述LISTEN等待来自远程TCP应用程序的请求SYN_SENT发送连接请求后等待来自远程端点的确认。TCP第一次握手后客户端所处的状态SYN-RECEIVED该端点已经接收到连接请求并发送确认。该端点正在等待最终确认。TCP第二次握手后服务端所处的状态ESTABLISHED代表连接已经建立起来了。这是连接数据传输阶段的正常状态FIN_WAIT_1等待来自远程TCP的终止连接请求或终止请求的确认FIN_WAIT_2在此端点发送终止连接请求后,等待来自远程TCP的连接终止请求CLOSE_WAIT该端点已经收到来自远程端点的关闭请求,此TCP正在等待本地应用程序的连接终止请求CLOSING等待来自远程TCP的连接终止请求确认LAST_ACK等待先前发送到远程TCP的连接终止请求的确认TIME_WAIT等待足够的时间来确保远程TCP接收到其连接终止请求的确认

它们会占用大量内存和端口资源。此时,我们可以优化与TIME_ WAIT状态相关的内核选项,例如采取以下措施:

增大处于 TIME_WAIT 状态的连接数量net.ipv4.tcp_***x_tw_buckets,并增大连接跟踪表的大小net.netfilter.nf_conntrack_***x。减小 net.ipv4.tcp_fin_timeout和net.netfilter.nf_conntrack_tcp_timeout_time_wait,让系统尽快释放它们所占用的资源。开启端口复用 net.ipv4.tcp_tw_reuse。这样,被TIME_WAIT状态占用的端口,还能用到新建的连接中。增大本地端口的范围net.ipv4.ip_local_port_range。这样就可以支持更多连接,提高整体的并发能力。增加最大文件描述符的数量。你可以使用fs.nr_open和fs.file-***x,分别增大进程和系统的最大文件描述符数;或在应用程序的systemd配置文件中,配置LimitNOFILE,设置应用程序的最大文件描述符数。

通过专业的流量清洗系统防止DDOS攻击。

流量清洗服务是一种网络安全服务,用于监控、报警和保护DOS/DDOS攻击。在不影响正常业务的前提下,清理异常流量。它会对异常流量进行分析过滤,将异常攻击流量挡在门外,为正常请求提供服务。

一般这些系统都是由专门的服务提供商提供的,大部分都会提供10 Gpbs~100Gpbs的防护能力。

本文来自Rose情調※投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/586379.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 06-11
下一篇 06-11

相关推荐

  • 热水器冷热水开关坏了怎么修 热水器频发故障及维修方法

    如果出现这种故障,应检查以下零件:1、检查水压是否正常。如果水压正常,但热水龙头或花洒水压不正常,可能是热水龙头或花洒脏了,堵塞了。清理干净恢复正常水压就行了。2.检查是否有叮当声。如果没有叮叮当当的声音,检查电池是否有电或接触不良。如果电池正常,检查一下水控

    2023-07-06 23:44:01
    697 0
  • 服如何抵御频发的 DDOS 攻击?服务器DDoS防御方法

    作者 | 阿文作者|高加文编辑|郭蕊2016年5月,非法黑客对全球多家银行网站发起了一系列DDoS攻击。导致约旦、韩国、摩纳哥等央行网络系统瘫痪半小时,无***常工作。2016年11月,俄罗斯五家主要银行遭受了为期两天的DDoS攻击。由来自30个国家的24000台计算机组成的僵尸网络继续发

    2023-06-11 06:04:01
    1040 0
  • 朋友圈微信视频能发多长时间 1分钟的视频发朋友圈

    长期习惯微信好友的朋友都知道,分享视频一般需要15秒,如果通过腾讯视觉功能,可以达到30秒。虽然这种方法的时间增加了一倍,但还是不够。之前有一些插件工具可以延长分享视频的时长,但是很容易被屏蔽。介绍了一种利用微信自带收藏功能的笔记功能,与好友分享时长更长的视频

    2023-05-18 09:31:01
    715 0
  • 腾讯视频发弹幕方法

    在pc 1上,打开腾讯视频软件2,点击播放任意视频,将鼠标移动到右下角的设置按钮3,点击弹幕设置,勾选显示弹幕类型中的三个选项。打开腾讯视频,点击正在追的剧观看,点击观看界面右上方的“四横”弹幕图标,弹幕就会打开,赶上弹幕打开后的剧烈变化会更有趣。腾讯视频于201

    2023-04-21 10:54:01
    289 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信