前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >liunx服务器遇到SYN_SENT洪水攻击

liunx服务器遇到SYN_SENT洪水攻击

作者头像
PHP学习网
发布2022-08-03 14:31:37
1.3K0
发布2022-08-03 14:31:37
举报
文章被收录于专栏:PHP学习网PHP学习网

事情的经过是这样的,我将服务器上的redis端口暴露了在外面,而且没有给redis设置用户名和密码,当我用第三方开源工具 another redis deskTop Manager,连接时于是悲剧发生了,不知道是工具的事情还是别的事情造成的,先看看发生的特征吧。

执行命令:netstat -tun

你会看到自己的服务器不断的变换端口,然后朝着6379端口发送数据,注意看发送的ip也不一样,而且会不断的变换ip,造成了网络只有SYN_SENT状态,接着就造成了网络的堵塞,网站随即也就打不开了,这就是洪水攻击。

下面引用别人的对这个SYN_SENT洪水攻击的解释

SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费服务器CPU和内存资源.SYN攻击聊了能影响主机外,还可以危 害路由器,防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施.

我们知道,在网络中两台电脑建立TCP连接 时需要进行三次握手过程,客户端首先向服务器发关TCP SYN数据包,接着服务器会向客户端发关相应的SYN ACK数据包,

最后客户端会以ACK进行响应.从而建立正常的握手过程.在具体的连接细节中,服务器最早接受到SYN包时,在TCP协议栈中会将相应的半 连接记录添加到队列中,之后等待接受下面准备握手的数据包,

如果握手成功,那么这个半连接记录将从队列中删除.或者当服务器未收到客户端的确认包时,会重 发请求包,一直到超时才将此条目从未连接队列删除.但是,

在服务器中的TCP协议栈中存储的半连接记录是有限的,当服务器受到SYN型的DOS攻击后,队 列会很快处于充满状态,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,

服务器回复确认包,并等待客户的确认,由于源地址是不存 在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢严重者引起网络堵塞甚至系统 瘫痪,

服务器随后就不再接受新的网络连接,从而造成正常的客户端无法访问服务器的情况发生.

正常情况下,出现SYN_SENT的state应该很少,并且短暂.

如果一个连接长时间处在SYN_SENT,有可能是没连上,比如端口没有打开.

解决办法

备份数据,重新装系统吧,各种杀进程,也怕杀不干净。

防护

有了这个教训,一定要注意经常的数据备份和防护,切记不要直接把端口暴露出去,若要暴露一定要设置用户名和密码。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PHP学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解决办法
  • 防护
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档