TCP洪水攻击(SYN_SENT)的诊断和处理
SYN攻击原理
SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费服务器CPU和内存资源.SYN攻击聊了能影响主机外,还可以危 害路由器,防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施.
我们知道,在网络中两台电脑建立TCP连接 时需要进行三次握手过程,客户端首先向服务器发关TCP SYN数据包,接着服务器会向客户端发关相应的SYN ACK数据包,
最后客户端会以ACK进行响应.从而建立正常的握手过程.在具体的连接细节中,服务器最早接受到SYN包时,在TCP协议栈中会将相应的半 连接记录添加到队列中,之后等待接受下面准备握手的数据包,
如果握手成功,那么这个半连接记录将从队列中删除.或者当服务器未收到客户端的确认包时,会重 发请求包,一直到超时才将此条目从未连接队列删除.但是,
在服务器中的TCP协议栈中存储的半连接记录是有限的,当服务器受到SYN型的DOS攻击后,队 列会很快处于充满状态,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,
服务器回复确认包,并等待客户的确认,由于源地址是不存 在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢严重者引起网络堵塞甚至系统 瘫痪,
服务器随后就不再接受新的网络连接,从而造成正常的客户端无法访问服务器的情况发生.
原因:
Linux syn攻击是一种黑客攻击,如何处理和减少这种攻击是系统管理员比较重要的工作,怎么才能出色的完成这项工作,希望通过本文能给你一启发,让你在以后工作中能轻松完成抵御Linux syn攻击的任务。
虚拟主机服务商在运营过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等。通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长。比较彻底的解决方法是添置硬件防火墙。
不过,硬件防火墙价格比较昂贵。可以考虑利用Linux 系统本身提供的防火墙功能来防御。
抵御SYN SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问
[root@smsplatform01 ~]# su - oracle
su: /bin/bash: Resource temporarily unavailable #提示资源临时不可用
#用网络监控命令查看有很多22端口链接IP其它国家主要发起端squid64这个程序发起
[root@smsplatform01 ~]# [root@smsplatform01 ~]# netstat -antp|grep squid64
tcp 0 1 172.20.1.134:58209 200.217.145.158:22 SYN_SENT 43610/squid64
tcp 0 1 172.20.1.134:20789 33.242.44.139:22 SYN_SENT 45122/squid64
tcp 0 1 172.20.1.134:15980 223.227.215.142:22 SYN_SENT 43178/squid64
tcp 0 1 172.20.1.134:16990 102.207.43.139:22 SYN_SENT 44474/squid64
tcp 0 1 172.20.1.134:59686 61.215.164.153:22 SYN_SENT 44690/squid64
tcp 0 1 172.20.1.134:40245 205.141.32.222:22 SYN_SENT 43826/squid64
tcp 0 0 172.20.1.134:29689 122.241.55.233:22 ESTABLISHED 43610/squid64
tcp 0 296 172.20.1.134:37535 54.191.35.1:22 ESTABLISHED 44042/squid64
tcp 0 52 172.20.1.134:52042 79.0.92.57:22 ESTABLISHED 43610/squid64
tcp 0 1 172.20.1.134:21707 33.26.124.139:22 SYN_SENT 44690/squid64
tcp 0 1 172.20.1.134:57264 214.188.32.139:22 SYN_SENT 45122/squid64
tcp 0 0 172.20.1.134:46389 208.187.162.71:22 ESTABLISHED 43826/squid64
tcp 0 0 172.20.1.134:29847 202.56.193.174:22 ESTABLISHED 44906/squid64
tcp 0 1 172.20.1.134:37320 184.228.7.212:22 SYN_SENT 43394/squid64
tcp 0 296 172.20.1.134:13625 64.128.45.90:22 ESTABLISHED 44258/squid64
tcp 0 1 172.20.1.134:64599 216.5.205.139:22 SYN_SENT 44042/squid64
tcp 0 1 172.20.1.134:16193 249.85.249.207:22 SYN_SENT 44690/squid64
tcp 0 1 172.20.1.134:13796 53.23.42.139:22 SYN_SENT 44690/squid64
tcp 0 1 172.20.1.134:19435 131.189.129.175:22 SYN_SENT 43178/squid64
tcp 0 1 172.20.1.134:36747 193.64.23.143:22 SYN_SENT 44906/squid64
tcp 0 1 172.20.1.134:34676 190.132.208.232:22 SYN_SENT 43610/squid64
tcp 0 1 172.20.1.134:42500 101.140.28.143:22 SYN_SENT 43394/squid64
tcp 0 1 172.20.1.134:24853 135.179.0.146:22 SYN_SENT 45122/squid64
tcp &nbs
SYN攻击原理
SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费服务器CPU和内存资源.SYN攻击聊了能影响主机外,还可以危 害路由器,防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施.
我们知道,在网络中两台电脑建立TCP连接 时需要进行三次握手过程,客户端首先向服务器发关TCP SYN数据包,接着服务器会向客户端发关相应的SYN ACK数据包,
最后客户端会以ACK进行响应.从而建立正常的握手过程.在具体的连接细节中,服务器最早接受到SYN包时,在TCP协议栈中会将相应的半 连接记录添加到队列中,之后等待接受下面准备握手的数据包,
如果握手成功,那么这个半连接记录将从队列中删除.或者当服务器未收到客户端的确认包时,会重 发请求包,一直到超时才将此条目从未连接队列删除.但是,
在服务器中的TCP协议栈中存储的半连接记录是有限的,当服务器受到SYN型的DOS攻击后,队 列会很快处于充满状态,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,
服务器回复确认包,并等待客户的确认,由于源地址是不存 在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求被丢弃,目标系统运行缓慢严重者引起网络堵塞甚至系统 瘫痪,
服务器随后就不再接受新的网络连接,从而造成正常的客户端无法访问服务器的情况发生.
原因:
Linux syn攻击是一种黑客攻击,如何处理和减少这种攻击是系统管理员比较重要的工作,怎么才能出色的完成这项工作,希望通过本文能给你一启发,让你在以后工作中能轻松完成抵御Linux syn攻击的任务。
虚拟主机服务商在运营过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等。通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长。比较彻底的解决方法是添置硬件防火墙。
不过,硬件防火墙价格比较昂贵。可以考虑利用Linux 系统本身提供的防火墙功能来防御。
抵御SYN SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问
[root@smsplatform01 ~]# su - oracle
su: /bin/bash: Resource temporarily unavailable #提示资源临时不可用
#用网络监控命令查看有很多22端口链接IP其它国家主要发起端squid64这个程序发起
[root@smsplatform01 ~]# [root@smsplatform01 ~]# netstat -antp|grep squid64
tcp 0 1 172.20.1.134:58209 200.217.145.158:22 SYN_SENT 43610/squid64
tcp 0 1 172.20.1.134:20789 33.242.44.139:22 SYN_SENT 45122/squid64
tcp 0 1 172.20.1.134:15980 223.227.215.142:22 SYN_SENT 43178/squid64
tcp 0 1 172.20.1.134:16990 102.207.43.139:22 SYN_SENT 44474/squid64
tcp 0 1 172.20.1.134:59686 61.215.164.153:22 SYN_SENT 44690/squid64
tcp 0 1 172.20.1.134:40245 205.141.32.222:22 SYN_SENT 43826/squid64
tcp 0 0 172.20.1.134:29689 122.241.55.233:22 ESTABLISHED 43610/squid64
tcp 0 296 172.20.1.134:37535 54.191.35.1:22 ESTABLISHED 44042/squid64
tcp 0 52 172.20.1.134:52042 79.0.92.57:22 ESTABLISHED 43610/squid64
tcp 0 1 172.20.1.134:21707 33.26.124.139:22 SYN_SENT 44690/squid64
tcp 0 1 172.20.1.134:57264 214.188.32.139:22 SYN_SENT 45122/squid64
tcp 0 0 172.20.1.134:46389 208.187.162.71:22 ESTABLISHED 43826/squid64
tcp 0 0 172.20.1.134:29847 202.56.193.174:22 ESTABLISHED 44906/squid64
tcp 0 1 172.20.1.134:37320 184.228.7.212:22 SYN_SENT 43394/squid64
tcp 0 296 172.20.1.134:13625 64.128.45.90:22 ESTABLISHED 44258/squid64
tcp 0 1 172.20.1.134:64599 216.5.205.139:22 SYN_SENT 44042/squid64
tcp 0 1 172.20.1.134:16193 249.85.249.207:22 SYN_SENT 44690/squid64
tcp 0 1 172.20.1.134:13796 53.23.42.139:22 SYN_SENT 44690/squid64
tcp 0 1 172.20.1.134:19435 131.189.129.175:22 SYN_SENT 43178/squid64
tcp 0 1 172.20.1.134:36747 193.64.23.143:22 SYN_SENT 44906/squid64
tcp 0 1 172.20.1.134:34676 190.132.208.232:22 SYN_SENT 43610/squid64
tcp 0 1 172.20.1.134:42500 101.140.28.143:22 SYN_SENT 43394/squid64
tcp 0 1 172.20.1.134:24853 135.179.0.146:22 SYN_SENT 45122/squid64
tcp &nbs