关闭

LINUX对 SYN Flood 攻击的设置[摘]

标签: linuxtcp防火墙服务器cookiesservice
3872人阅读 评论(0) 收藏 举报

摘于http://www.cublog.cn/opera/showart.php?blogid=12384&id=107049

网页在翻页到一个特定的页面的时候,和服务器80端口的连接被中止。
查看了netstat -anlp 发现有类似以下的记录,而IP就是我的。


tcp 0 2560 61.152.251.68:80 60.26.156.241:1523 SYN_RECV -
由于可能是程序的问题,因为仅仅在浏览这张网页的时候会出现这个问题,但是还是在netstat里面偶尔会看到几个 SYN_RECV ,所以就google了一下,在此总结一下。

1.对于大量的 SYN_RECV
若怀疑是SYN Flood攻击,有以下建议:


这个攻击的解决方法如下: 
1,增加未完成连接队列(q0)的最大长度。 
echo 1280>;/proc/sys/net/ipv4/tcp_max_syn_backlog 
2, 启动SYN_cookie。 
echo 1>;/proc/sys/net/ipv4/tcp_syncookies 
这些是被动的方法,治标不治本。而且加大了服务器的负担,但是可以避免被拒绝攻击(只是减缓) 
治本的方法是在防火墙上做手脚。但是现在能在一定程度上防住syn flood攻击的防火墙都不便宜。并且把这个命令加入"/etc/rc.d/rc.local"文件中

如果对 /proc/sys/net/ipv4 下的配置文件进行解释,可以参阅 LinuxAid技术站的文章。查看本文全文也可以参阅。
关于 syn cookies, 请参阅 <>; http://cr.yp.to/syncookies.html
也许 使用mod_limitipconn.c来限制apache的并发数 也会有一定的帮助。

最终,仅仅修改了这个参数,但是也加上了iptables的防火墙规则,问题解决。

2.什麼是 TCP SYN Flood 攻擊? 
發表日期: 星期二, 15 六月 2004 @ 01:36:47 台北標準時間 

TCP SYN Flood是一種常見,而且有效的遠端(遠程)拒絕服務(Denial of Service)攻擊方式,它透過一定的操作破壞TCP三次握手建立正常連接,佔用並耗費系統資源,使得提供TCP服務的主機系統無法正常工作。 由於TCP SYN Flood是透過網路底層對服務器Server進行攻擊的,它可以在任意改變自己的網路IP地址的同時,不被網路上的其他設備所識別,這樣就給防範網路犯罪部門追查犯罪來源造成很大的困難。 在國內內外的網站中,這種攻擊屢見不鮮。在一個拍賣網站上,曾經有犯罪分子利用這種手段,在低價位時阻止其他用戶繼續對商品拍賣,干擾拍賣過程的正常運作。

系統檢查 
一般情況下,可以一些簡單步驟進行檢查,來判斷系統是否正在遭受TCP SYN Flood攻擊。 

1、 服務端無法提供正常的TCP服務。連接請求被拒絕或超時。 
2、透過 netstat -an 命令檢查系統,發現有大量的SYN_RECV連接狀態。

3. iptables的设置,引用自CU


防止同步包洪水(Sync Flood) 
# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT 
也有人写作 
#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洪水攻击(Ping of Death) 
# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:343427次
    • 积分:5332
    • 等级:
    • 排名:第5051名
    • 原创:125篇
    • 转载:74篇
    • 译文:2篇
    • 评论:63条
    最新评论