驱动管家:安全、高效、精准的专业驱动下载站!

SYN Flood原理是什么?如何诊断和应对SYN Flood?

2018-03-10 18:05:48责编:llp   来源:驱动管家     人气:

1.简介

SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,常用假冒的IP或IP号段发来海量的请求连接的第一个握手包(SYN包),被攻击服务器回应第二个握手包(SYN+ACK包),因为对方是假冒IP,对方永远收不到包且不会回应第三个握手包。导致被攻击服务器保持大量SYN_RECV状态的“半连接”,并且会重试默认5次回应第二个握手包,塞满TCP等待连接队列,资源耗尽(CPU满负荷或内存不足),让正常的业务请求连接不进来。

SYN Flood原理是什么?如何诊断和应对SYN Flood?

详细的原理,网上有很多介绍,应对办法也很多,但大部分没什么效果,这里介绍我们是如何诊断和应对的。

2. 诊断

我们看到业务曲线大跌时,检查机器和DNS,发现只是对外的web机响应慢、CPU负载高、ssh登陆慢甚至有些机器登陆不上,检查系统syslog:

复制代码

代码如下:

# tail -f /var/log/messages

Apr 18 11:21:56 web5 kernel: possible SYN flooding on port 80. Sending cookies.

检查连接数增多,并且SYN_RECV 连接特别多:

复制代码

代码如下:

# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

TIME_WAIT 16855

CLOSE_WAIT 21

SYN_SENT 99

FIN_WAIT1 229

FIN_WAIT2 113

ESTABLISHED 8358

SYN_RECV 48965

CLOSING 3

LAST_ACK 313

根据经验,正常时检查连接数如下:

复制代码

代码如下:

# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

TIME_WAIT 42349

CLOSE_WAIT 1

SYN_SENT 4

FIN_WAIT1 298

FIN_WAIT2 33

ESTABLISHED 12775

SYN_RECV 259

CLOSING 6

LAST_ACK 432

以上就是TCP洪水攻击的两大特征。执行netstat -na>指定文件,保留罪证。

3.优化Linux阻挡SYN洪水攻击

如果在Linux服务器下遭受SYN洪水攻击,可以进行如下一些设置:

复制代码

代码如下:

#缩短SYN- Timeout时间:

iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT

iptables -A INPUT -i eth0 -m limit –limit 1/sec –limit-burst 5 -j ACCEPT

#每秒 最多3个 syn 封包 进入 表达为 :

iptables -N syn-flood

iptables -A INPUT -p tcp –syn -j syn-flood

iptables -A syn-flood -p tcp –syn -m limit –limit 1/s –limit-burst 3 -j RETURN

iptables -A syn-flood -j REJECT

#设置syncookies:

sysctl -w net.ipv4.tcp_syncookies=1

sysctl -w net.ipv4.tcp_max_syn_backlog=3072

sysctl -w net.ipv4.tcp_synack_retries=0

sysctl -w net.ipv4.tcp_syn_retries=0

sysctl -w net.ipv4.conf.all.send_redirects=0

sysctl -w net.ipv4.conf.all.accept_redirects=0

sysctl -w net.ipv4.conf.all.forwarding=0

sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1

#防止PING:

sysctl -w net.ipv4.icmp_echo_ignore_all=1

#拦截具体IP范围:

iptables -A INPUT -s 10.0.0.0/8 -i eth0 -j Drop

  • 如何利用fck编辑器漏洞爆路径?

    如何利用fck编辑器漏洞爆路径?

    哈哈 夜猫纸 有木有!!!这编辑器漏洞该有的论坛也有了 也没啥好写的了 这个爆路径也不知道大家遇没遇到过。。刚发现这东东 不敢私用 搬上来分享。如题 爆路径的问题。 原理应该跟其他的爆路径差不多

    详情2018-01-17 18:58:33责编:llp   来源:驱动管家     
  • 路由器设置 路由器连接路由器的设置方法

    路由器设置 路由器连接路由器的设置方法

    本文将为大家详细讲述路由接路由的设置方法,下面以图示先标明局域网各路由间的接法:(上联路由LAN口接下联路由LAN口不在讨论范围)上联路由设置:跟平时设置时一样,无任何难度,不过要记好上联路由网关(此例为192

    详情2018-02-02 20:08:17责编:llp   来源:驱动管家     
  • 什么是肉鸡?得到肉鸡后命令的中英对照

    什么是肉鸡?得到肉鸡后命令的中英对照

    net use $ "> ipipc$Content$nbsp; "密码 " user: "用户名 " 建立IPC非空链接 net use h: $ "> ipc$Content$nbsp; "密码

    详情2018-01-23 18:51:30责编:llp   来源:驱动管家     
  • 常规入侵网站 如何在root bat文件中插入木马?

    常规入侵网站 如何在root bat文件中插入木马?

    我发现了一个网站,于是常规入侵。很好,它的FINGER开着,于是我编了一个SHELL,aaa帐号试到zzz(这是我发现的一个网上规律,那就是帐号的长度与口令的强度成正比, 如果一个帐号只有两三位长,那它的口令一般也

    详情2018-03-02 16:26:32责编:llp   来源:驱动管家     
  • 批处理教程 如何破解出伪exe的批处理源代码?

    批处理教程 如何破解出伪exe的批处理源代码?

    我这里所说的伪EXE就是里面是BAT批处理程序,外面只是披了层EXE的外壳,也就是网上不是有很多BAT转EXE的工具吗?就是那些工具转出来的程序。这些转换工具并不是真的把BAT编译成了EXE,因为那是不可能的。所以那些

    详情2018-02-01 18:32:09责编:llp   来源:驱动管家     
  • 瑞星杀毒软件怎么用?使用瑞星杀毒软件网络版的注意事项

    瑞星杀毒软件怎么用?使用瑞星杀毒软件网络版的注意事项

    瑞星杀毒软件网络版可以对网络内的计算机进行统一的安装、设置、管理、维护和升级,从而为企业网络提供完善的病毒防范体系。对于初次接触瑞星杀毒软件网络版的用户来讲,使用经验的缺乏和对产品功能的不熟悉都可

    详情2018-01-15 14:04:48责编:llp   来源:驱动管家     
  • php双字节漏洞代码 为什么会出现这个漏洞?

    php双字节漏洞代码 为什么会出现这个漏洞?

    看了《黑防09精华》这篇《双字节编码 php的隐形杀手》,记录一下。还是用一个demo php显示效果,代码如下:复制代码代码如下:

    详情2018-03-01 09:02:58责编:llp   来源:驱动管家     
  • web上最危险的安全漏洞:哈希算法漏洞

    web上最危险的安全漏洞:哈希算法漏洞

    信息安全行业的一位首席Web安全专家称,一年多前发现的哈希算法漏洞可能成为Web上最危险的安全漏洞。在2010 RSA大会上,WhiteHat首席安全技术官Jeremiah Grossman正式提出去年中排名前十位的网络黑客攻击技术。

    详情2018-02-26 12:16:32责编:llp   来源:驱动管家     
  • 数据库拿shell有哪些方法?数据库拿shell的教程

    数据库拿shell有哪些方法?数据库拿shell的教程

    进后台看看:1 有上传2 有数据库操作3 有系统设置拿shell,我有三种方法1 上传直接上传抓包爆出路径filepath,这里可以考虑NC提交,或者本地修改元素建立 asp文件夹这里我直接用googlechrome审查元素 uppics 1

    详情2018-02-09 14:38:53责编:llp   来源:驱动管家     
  • web data分离如何拿到完整数据库文件?

    web data分离如何拿到完整数据库文件?

    前些日子 搞一个站 拿到了WEBSHELL 可就是提权不了 分析了下也只有通过autorun inf提权 但是貌似时间不能等了 目标是拿到完整数据库文件 可web data是分离的 后来在硬盘里转悠了老半天 发现管理员都是

    详情2018-03-04 13:26:08责编:llp   来源:驱动管家