| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 关于分布式拒绝服务(DDoS)的梳理和介绍 -> 正文阅读 |
|
[网络协议]关于分布式拒绝服务(DDoS)的梳理和介绍 |
分布式拒绝服务(DDoS:Distributed Denial of Service):攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常该攻击方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。 DDos攻击:分布式拒绝服务攻击,是指利用合理的客户端请求来占用过多的服务器资源,从而使得合法用户无法得到服务器的响应。 DDoS攻击通过大量的请求占用大量网络资源,以达到瘫痪网络的目的。攻击方式可分为以下几种: 攻击的现象 被攻击主机上有大量等待的TCP连接; 网络层DDos攻击 SYN flood攻击主要利用了TCP三次握手过程中的bug,我们知道TCP三次握手过程是要建立连接的双方发送SYN,SYN+ACK,ACK数据包,而当攻击方随意构造源ip去发送SYN包时,服务器返回的SYN+ACK就不能得到应答(因为ip是随意构造的),此时服务器就会尝试重新发送,并且会有至少30s的等待时间,导致资源饱和服务不可用,此攻击属于慢型dos攻击。 协议漏洞及攻击原理: 我们回过头来从安全的角度看三次握手,会发现这个流程是有缺陷的:在第二次握手中,当服务器发送了syn+ack报文后,如果他连接的定时器超过超时重传时间(出现超时的原因可能是syn+ack报文丢失、客户ack报文丢失、RTT时间过长、甚至可能客户是在进行synflood攻击),服务器就会对报文进行重传,当重传次数超过阈值服务器认为TCP连接超时,而后才会销毁该请求套接口释放TCB。如果攻击者用快于服务器TCP连接超时的速度,连续对目标服务器开放的端口发送SYN报文,服务器的所有资源都将被消耗,以至于不能再接受其他客户的正常连接请求。(如果发送SYN+ACK包之后,没有收到应答,就会在重试5次之后,将其移出半连接队列。这5次发送的时间间隔为1s、2s、4s、8s、16s、32s)。 攻击检测及防御手段:
方法一:①当安全设备获取到发往服务器的SYN报文后,设备模拟服务端会给此源IP回复ack=Cookie的SYN/ACK报文(Cookie是通过五元组加密计算出来的值,正常情况下的ack=seq+1)。
方法二:①当安全设备获取到发往服务器的SYN报文后,设备模拟服务器给源IP回复seq=Cookie的SYN/ACK报文。
方法三:①当安全设备获取到发往服务器的SYN报文后,设备模拟服务器给源IP回复seq=Cookie的SYN/ACK报文。
(2)UDP flood攻击 由于udp是一种无连接的协议,因此攻击者可以伪造大量的源IP地址去发送udp包,此种攻击属于大流量攻击。正常应用情况下,UDP包双向流量会基本相等,因此在消耗对方资源的时候也在消耗自己的资源。 此攻击属于大流量攻击,其原理就是不断发送不正常的ICMP包(所谓不正常就是ICMP包内容很大),导致目标带宽被占用,但其本身资源也会被消耗。并且目前很多服务器都是禁ping的(在防火墙在可以屏蔽icmp包),因此这种方式已经落伍。 CC攻击的原理,就是针对消耗资源比较大的页面不断发起不正常的请求,导致资源耗尽。因此在发送CC攻击前,我们需要寻找加载比较慢,消耗资源比较多的网页,比如需要查询数据库的页面、读写硬盘文件的等。通过cc攻击,使用爬虫对某些加载需要消耗大量资源的页面发起http请求。 原理是在发送HTTP POST包时,指定一个非常大的Content-Length值,然后以极低的速度发包,保持连接不断,导致服务饱和不可用。 通过使网络过载来干扰甚至阻断正常的网络通讯; |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 7:39:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |