电子技术论坛

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
下载方法|用单线程|避免多扣帖子规范|求助必读|发帖建议积分策略|勋章介绍|新人必读获取金币|推广论坛|出售帖子基本礼节|致会员信|版规总则
禁涉政治|反对低俗|举报专帖征集相片|留下足迹|推荐精华上传附件|制作分卷|使用网盘禁发qq群|恶意灌水|纯表情帖加入团队|监督机制|安全上网
查看: 1548|回复: 4

liux防御-和SYS攻击者过招实录

[复制链接]
发表于 2014-7-22 05:43:14 | 显示全部楼层 |阅读模式

注册家电维修技术论坛,与同行畅聊维修技术,享更多技术论坛功能。

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

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

  [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状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.

  。tcp_syncookies是一个开关,是否打开syn cookie 功能,该功能可以防止部分syn攻击。tcp_synack_retries和tcp_syn_retries定义syn 的重试连接次数,将默认的参数减小来控制syn连接次数的尽量少。

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

  [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 dont

  # 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_synack_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 | sort -nr | more

  20 10.92.10.220

  1 125.43.36.199

  明显syn连接数已经下来了。
发表于 2014-7-22 16:15:33 | 显示全部楼层
感谢分享,学习了。
发表于 2014-7-22 16:50:54 | 显示全部楼层
看来挺复杂的。
发表于 2014-7-22 17:36:19 | 显示全部楼层
偶终于知道了,此番人世,得此一贴
发表于 2014-7-23 01:22:34 | 显示全部楼层
顶个~ 真是不错 哈哈!
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|家电维修技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2024-5-8 18:29 , Processed in 0.061937 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

CopyRight © 电子技术论坛
电子邮箱:8794149@qq.com | 联系 QQ:3081868839 | 官方网址:www.dzdu.com

Qiji. All Rights Reserved


服务条款 | 站长声明

Wuhan Qiji Technology Co., Ltd.武汉奇迹科技有限公司版权所有


鄂ICP备09003585号-2鄂公网安备42010602000420号

快速回复 返回顶部 返回列表