HTTP慢连接攻击的原理和防范措施

随着互联网的快速发展,网络安全问题日益凸显,网络攻击事件频繁发生。其中,HTTP慢速攻击作为一种隐蔽且高效的攻击方式,近年来逐渐出现的越来越多。

为了防范这些网络攻击,我们需要先了解这些攻击情况,这样才能方便我们对症下药,选择合适的安全解决方案。作为当前常见的网络攻击方式,慢速连接攻击导致很多企业用户的网站业务或主机服务器深受其害,下面德迅云安全就从安全角度详细介绍HTTP慢速攻击的情况,并探讨一些对应的防护措施。

一、什么是HTTP慢速连接攻击?

HTTP慢速攻击(Slowloris Attack)是一种利用HTTP协议特性进行的攻击方式。攻击者通过发送大量的半开连接请求到目标服务器,每个连接请求只发送少量的数据,并长时间保持连接不断开。这样,攻击者可以逐渐占满服务器的连接资源,导致服务器无法处理正常的请求,从而造成拒绝服务(DoS)或分布式拒绝服务(DDoS)的效果。

由于这种攻击方式发送的请求都是合法的,因此很难被传统的防火墙或入侵检测系统所识别。同时,慢速攻击还可以与其他攻击方式相结合,形成更为复杂的攻击链,进一步提高攻击的成功率和隐蔽性。

二、HTTP慢速攻击的特点

1、隐蔽性高:慢速攻击利用的是HTTP协议的合法特性,因此很难被传统的安全设备所识别。

2、占用资源少:每个慢速连接只发送少量的数据,因此攻击者可以使用较少的资源发起大量的攻击。

3、攻击效果显著:通过占用服务器的连接资源,慢速攻击可以迅速导致服务器性能下降,甚至崩溃。

三、HTTP慢速连接攻击原理

HTTP慢速连接攻击是CC攻击的变种,对任何一个允许HTTP访问的服务器,攻击者先在客户端上向该服务器建立一个content-length比较大的连接,然后通过该连接以非常低的速度(例如,1秒~10秒发一个字节)向服务器发包,并维持该连接不断开。

由于 HTTP 请求底层使用TCP网络连接进行会话,因此如果中间件对会话超时时间设置不合理,并且HTTP在发送请求的时候采用了这种慢速连接发 HTTP 请求,并维持该连接不断开,就会导致占用一个HTTP连接会话。

如果攻击者在客户端上不断建立这样的连接,服务器上可用的连接和服务器正常资源将慢慢被占满,从而导致服务器拒绝用户正常的访问请求,也就产生了拒绝服务攻击的效果。

四、HTTP慢速连接攻击种类

HTTP慢速连接攻击主要分为三种:Slow read攻击、Slow headers攻击、Slow body攻击。

1、Slow read攻击

攻击者建立连接后发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取Response或者让服务器误以为客户端很忙,如很长一段时间客户端不读取任何数据,通过发送Zero Window到服务器,直到连接快超时前才读取一个字节,这样方式以消耗服务器的连接和内存资源。

2、Slow headers攻击

Web应用在处理HTTP请求之前都要先接受完所有的HTTP头部,Web 服务器在没接收到 2 个连续的 \r\n 时,会认为客户端没有发送完头部,而持续的等客户端发送数据。

攻击者就是利用了这点,对服务器发起一个HTTP请求,一直不停的发送HTTP头部,但是HTTP头字段不发送结束符,之后发送其他字段,而服务器在处理之前需要先接收完所有的HTTP头部,导致连接一直被占用,这样就消耗了服务器的连接和内存资源;

3、Slow body攻击

攻击者发送一个 HTTP POST 请求,并将总报文长度(Content-Length)设置为一个很大数值,表示要发送大量数据,服务器就会保持连接准备接收数据。

但是在随后的数据发送中,每次却只发送很小的报文(比如10-100s发一个字节),这样导致服务器端一直等待攻击者发送数据,以此消耗服务器的资源。

五、HTTP慢速攻击的防御措施

上述我们了解到了关于HTTP慢连接攻击的三种攻击方式,我们可以举个简单的例子再加强理解,比如一个餐馆,通常用餐的步骤是:点菜、用餐、付款。HTTP慢连接攻击,攻击者就像是看这个餐馆不顺眼的人,他雇佣了许多看似正常的客人进来用餐,但是做出一些不是正常用户会出的事情,结果就会发生了许多不正常的情况。

Slow read攻击就像吃完饭不离开一直霸占座位的客人,导致新的顾客无法进来就餐;

Slow headers攻击就像那种点餐犹豫不决的人,不停的说又一直说不清自己要点什么菜;

Slow body攻击就好比顾客结账,但却是从口袋一个一个摸硬币出来付款。

上面三种类型,共同特点就是:慢!想方设法地让自己的动作慢下来,在看似正常的点餐流程里面,他们总能想尽办法来拖延时间,占用资源并且长时间不释放,导致正常客人在后面排队等待,无法正常就餐。如果餐馆想正常营业,就只能通过阻止这些捣乱的顾客,清理这些点餐慢、付款慢的顾客,限定进餐时长等来解决,同理,防御这类慢连接攻击也是同样的道理。下面就来了解下HTTP慢连接攻击可以有哪些防护措施。

针对HTTP慢速攻击,我们可以采取以下防御措施:

1、限制连接数

在服务器端设置最大连接数限制,防止攻击者通过大量半开连接占满服务器资源。

2、设定超时时间

对web服务器的HTTP头部传输的最大许可时间进行限制,为每个连接设置合理的超时时间,当连接在一定时间内没有活动时,自动关闭该连接。

3、针对HTTP慢速攻击的特点,对每秒钟HTTP并发连接数进行检查,若发现如POST报文的报文头都没有结束标识等异常,断开此IP地址与HTTP服务器的连接。

4、使用安全设备

部署专业的网络安全设备,像德迅云安全的安全加速SCDN,可以进行慢连接攻击防御,对如Slow Headers攻击,可以通过检测请求头超时时间、最大包数量阈值进行有效防护,提高服务器的安全防护能力。

六、总结

HTTP慢速攻击作为一种隐蔽且高效的攻击方式,对服务器的安全和稳定性构成了严重威胁。通过大概了解了关于HTTP慢速连接攻击的相关情况,我们是可以从多个方面入手,包括限制连接数、设定超时时间、使用安全加速SCDN方案来防护处理攻击情况,确保网络环境的安全稳定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2496.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【笔试】03

FLOPS FLOPS 是 Floating Point Operations Per Second 的缩写,意为每秒浮点运算次数。它是衡量计算机性能的指标,特别是用于衡量计算机每秒能够执行多少浮点运算。在高性能计算领域,FLOPS 被广泛用来评估超级计算机、CPU、GPU 和其他处理器…

2024年区块链链游即将迎来大爆发

随着区块链技术的不断发展和成熟,其应用领域也在不断扩展。其中,区块链链游(Blockchain Games)作为区块链技术在游戏行业中的应用,备受关注。2024年,区块链链游行业即将迎来爆发,这一趋势不容忽…

Windows10如何关闭Edge浏览器的Copilot

在Windows10更新后,打开Edge浏览器,无论复制什么内容,都会弹出Copilot人工智能插件,非常令人反感,网上搜索的关闭方法都非常麻烦,比如:组策略和注册表。自己摸索得出最简便有效的关闭方法。 1、…

【java毕业设计】 基于Spring Boot+mysql的高校心理教育辅导系统设计与实现(程序源码)-高校心理教育辅导系统

基于Spring Bootmysql的高校心理教育辅导系统设计与实现(程序源码毕业论文) 大家好,今天给大家介绍基于Spring Bootmysql的高校心理教育辅导系统设计与实现,本论文只截取部分文章重点,文章末尾附有本毕业设计完整源码及…

一致性hash

一、什么是一致性hash 普通的hash算法 (hashcode % size ),如果size发生变化,几乎所有的历史数据都需要重hash、移动,代价非常大,常见的java中的hashmap就是如此。 那如果在hash表扩容或者收缩的时候size能够保持不变&#xff0…

gitee / github 配置git, 实现免密码登录

文章目录 怎么配置公钥和私钥验证配置成功问题 怎么配置公钥和私钥 以下内容参考自 github ssh 配置,gitee的配置也是一样的; 粘贴以下文本,将示例中使用的电子邮件替换为 GitHub 电子邮件地址。 ssh-keygen -t ed25519 -C "your_emai…

线性代数 --- 矩阵的对角化以及矩阵的n次幂

矩阵的对角化以及矩阵的n次幂 (特征向量与特征值的应用) 前言: 在上一篇文章中,我记录了学习矩阵的特征向量和特征值的学习笔记,所关注的是那些矩阵A作用于向量x后,方向不发生改变的x(仅有尺度的缩放)。线…

VMware 15 安装centos7虚拟机

1. 安装前准备 1.1 下载centos 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 下载需要版本的centos版本 直达链接 centos7.9 : centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云 .基础使用的话安装选择这个就行了,大概下载几分钟 2. …

linux负载均衡 和 系统负载分析笔记

1 负载均衡 1.1 计算负载 1.1.1 PELT算法简介 从Linux3.8内核以后进程的负载计算不仅考虑权重,⽽且跟踪每个调度实体的历史负载情况,该算法称为PELT(Per-entity Load Tracking) 《奔跑吧Linux内核》卷1:基础架构;P505 相关资料…

银河麒麟V10 SP1服务器客户端定时数据同步

银河麒麟V10 SP1服务器客户端定时数据同步 0.概述 当前只测试了将数据从客户端往服务端推送,两个客户端分别推送不同的数据 1.环境 三台电脑均为银河麒麟V10SP1桌面操作系统 服务器IP:192.168.1.51 用户名:wlh 客户端IP:192…

OpenStack云计算(十一)——OpenStack网络管理,验证OpenStack网络资源模型,验证来巩固和加深对OpenStack网络资源模型的理解

项目实训一 【实训题目】 验证OpenStack网络资源模型 【实训目的】 通过验证来巩固和加深对OpenStack网络资源模型的理解。 【实训准备】 (1)复习Neutron网络资源模型。 (2)重点理解网络、子网、端口和路由器的概念。 【实…

用 LM Studio 1 分钟搭建可在本地运行大型语言模型平台替代 ChatGPT

📌 简介 LM Studio是一个允许用户在本地离线运行大型语言模型(LLMs)的平台,它提供了一种便捷的方式来使用和测试这些先进的机器学习模型,而无需依赖于互联网连接。以下是LM Studio的一些关键特性: 脱机&am…

【笔记django】创建一个app

创建app 错误 raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Cannot import rules. Check that dvadmin.rules.apps.RulesConfig.name is correct.原因 刚创建的rules的app被手动移动到了dvadmin目录下 而dvadmin/rules/apps.py的内容还是&…

kubeadmin搭建自建k8s集群

一、安装要求 在开始之前,部署Kubernetes集群的虚拟机需要满足以下几个条件: 操作系统 CentOS7.x-86_x64硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多【注意master需要两核】可以访问外网,需要…

万界星空科技电机行业MES+商业电机行业开源MES+项目合作

要得出mes系统解决方案在机电行业的应用范围,我们先来看一下传统机电行业的管理难题: 1、 产品标准化程度较低,制造工艺复杂,生产周期较长,产品质量不稳定; 2、 自动化程度低,大多数工序以手工…

【linux】匿名管道|进程池

1.进程为什么要通信? 进程也是需要某种协同的,所以如何协同的前提条件(通信) 通信数据的类别: 1.通知就绪的 2.单纯的数据 3.控制相关的信息 2.进程如何通信? 进程间通信,成本会高一点 进程间通信的前提,先…

2024年最新 Windows\Linux 后台运行程序注解

一、前言 有时候需要在后台运行程序,查了查网上现有的程序有些运行不了,跑通了之后简单记录一下,为后面的同学躺一下雷 1、Linux 系统 Linux后台运行进程时,通常使用如下方法: (1)程序挂后台…

算法练习(2)——约瑟夫环和坐标公式的推导

看一下上面的牛客题。题目的意思是n个小朋友围成一个圆环,编号从0开始,数m个数时,让小朋友出列,然后出列小朋友的下一个位置为0,继续数m个数,然后小朋友出来,直到最后一个小朋友,然后…

SVN小乌龟汉化问题

1.首先确认中文语言包和SVN版本需要一致(点击右键 选择最后一个选项即可查看) 官网链接 点击这个官网链接可以下载对应版本的中文包 2.下载好之后直接无脑下一步安装即可 3.如果还是没有中文,找到这个文件夹,把里面的内容全部删…

图解《图搜索算法》及代码实现

关注我,持续分享逻辑思维&管理思维; 可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导; 有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自…