快讯资讯
手机优化
系统数码
网络通信人工智能
网站游戏
测评专题

  LINUX 遭到SYN FLOOD攻击 L       通过ssh反向连接内网主机    

LINUX 遭到SYN FLOOD攻击 LINUX下SYN攻防战

时间:2026-09-10 00:54 来源:未知 人气:

LINUX下SYN攻防战如下

(一)SYN攻击原理

SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费服务器CPU和内存资源。SYN攻击聊了能影响主机外,还可以危害路由器,防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施.我们知道,在网络中两台电脑建立TCP连接 时需要进行三次握手过程,客户端首先向服务器发关TCP SYN数据包,接着服务器会向客户端发关相应的SYN ACK数据包,最后客户端会以ACK进行响应.从而建立正常的握手过程。在具体的连接细节中,服务器最早接受到SYN包时,在TCP协议栈中会将相应的半连接记录添加到队列中,之后等待接受下面准备握手的数据包,如果握手成功,那么这个半连接记录将从队列中删除.或者当服务器未收到客户端的确认包时,会重发请求包,一直到超时才将此条目从未连接队列删除。但是在服务器中的TCP协议栈中存储的半连接记录是有限的,当服务器受到SYN型的DOS攻击后,队 列会很快处于充满状态,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢严重者引起网络堵塞甚至系统瘫痪,服务器随后就不再接受新的网络连接,从而造成正常的客户端无法访问服务器的情况发生。

(二)实战SYN攻击过程

SYN攻击实现起来非常的简单,互联网上有大量面成的SYN攻击工具可以直接利用.假设在Linux服务器中安装了Web服务,在 Linux的命令提示符中执行service httpd start命令,即可开启Web服务,接着执行netstat -ant | grep 80命令,可以看到80端口已经处于打开状态了.在网络的其它机器上利用SYN攻击软件(例如synkill等)对Linux服务器的80端口进行 DOS攻击,之后在Linux服务器中执行命令netstat -ant | grep 80,可以看到大量的网络连接信息,包括连接的类型,原地址,目标直地址,连接状态等,当然,因为SYN工具通常会伪告客户端地址,因此在连接列表中是 找不到真实地址的.在连接状态中显示SYN_RECV,表示当前处于半连接状态.我们可以每隔几秒钟运行命令netstat -n -p TCP | grep SYN_RECV |grep 80 | wc -l,来检查某个端口(这里为80)的未连接队列的条目数,当发现该条目数增大到某个极大值,并处于平衡状态时,那么就很有可能是Linux的TCP协 议栈中的队列满了,此时用户就无法建立新的连接了。

(三)如可在Linux中防御SYN型DOS攻击

在Linux中防御SYN型DOS攻击的方法比较常见的有增大队列SYN最大半连接数,减小超时值,利用SYN cookie技术,过滤可疑的IP地址等常用方法,下面分别进行分析。

本文标签:

更多文章

相关文章

网站导航 | 快讯 | 资讯 | 手机

  • 系统 | 数码 | 网络通信 | 人工智能 | 网站 | 游戏

    合作伙伴:

  • 友情链接(欢迎业界知名网站交换链接)申请友情

    

    声明:本站资源皆来自网络,如有侵权问题,请联系管理员处理!

    Copyright ©2020-2028快知站 版权所有 All rights reserved.

    闽ICP备20010713号-1 闽公网安备 35020602001684号