• 文章中心
  • 装机吧u盘装系统,liux防御-和SYS攻击者过招实录

    作者:侠客 -------------- 文章来源:u盘装系统 发布时间:2013-11-18 20:03点击:

    u盘装win7系统教程

    今天早上一到公司登录公司官网的时候感觉挺慢,登录服务器查看官网访问情况:

    [root@web ~]# netstat -anp |awk '{print $6}'|sort|uniq -c |sort -rn

    172 ESTABLISHED

    59 CONNECTED

    589 SYN_RECV

    15 STREAM

    SYN居然这么高,继续追查是那些ip发出的SYN:

    [root@tweb ~]# netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

    570 x.x.x.x

    (ip就不写出了,是山东枣庄联通的一个ip),只是这一个ip就发出了这么多的syn请求连接,本来我们web服务器的并发数不是很高,这样一来正常的用户请求得不到相应,页面无法打开。因为硬件防火墙归集团IT部管理,我没有权限,所以只能在本地服务器上做些措施对SYN攻击进行部分减缓。

    首先说一下SYN的攻击原理:

    在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

    第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.

    以下是我修改后的参数,可以根据自己服务器的实际情况进行修改:

    [root@web ~]# more /etc/rc.d/rc.local

    #!/bin/sh

    # This script will be executed *after* all the other init scripts.

    # You can put your own initialization stuff in here if you don't

    # want to do the full Sys V style init stuff.

    touch /var/lock/subsys/local

    ulimit -HSn 65535

    /usr/local/apache2/bin/apachectl start

    #####

    sysctl -w net.ipv4.tcp_max_syn_backlog=2048

    sysctl -w net.ipv4.tcp_syncookies=1

    sysctl -w net.ipv4.tcp_synack_retries=3

    sysctl -w net.ipv4.tcp_syn_retries=3

    为了不重启服务器而使配置立即生效,可以执行

    #sysctl -w net.ipv4.tcp_max_syn_backlog=2048

    #sysctl -w net.ipv4.tcp_syncookies=1

    #sysctl -w net.ipv4.tcp_syu盘装系统步骤图解nack_retries=3

    #sysctl -w net.ipv4.tcp_syn_retries=3

    也有的人喜欢用访问控制列表来防止SYN的攻击,在一定程度上减缓了syn的攻击:

    Syn 洪水攻击

    #iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT

    --limit 1/s 限制syn并发数每秒1次

    防端口扫描

    # iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

    死亡之ping

    # iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

    #>iptables-save >/etc/sysconfig/iptables

    进行查看,#iptables -L

    ACCEPTtcp--anywhereanywheretcp flags:FIN,SYN,RST,ACK/SYN limit: avg 1/sec burst 5

    ACCEPTtcp--anywhereanywheretcp flags:FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5

    ACCEPTicmp --anywhereanywhereicmp echo-request limit: avg 1/sec burst 5

    再次进行查看syn连接:

    [root@web ~]# netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | su盘装系统步骤图解ort -nr | more

    20 10.92.10.220

    1 125.43.36.199

    明显SYN连接数已经下来了。

    u盘装系统镜像 本文由www.upzxt.com整理!