佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1756|回复: 11

[求救] 关于iptables DROP ... (SYN flood attack)

[复制链接]
发表于 14-3-2010 03:55 PM | 显示全部楼层 |阅读模式
本帖最后由 旋转便便 于 15-3-2010 10:06 AM 编辑

请教下各位高手...
为什么我执行了以下这个command

  1. /sbin/iptables -A INPUT -s 111.122.133.144 -j DROP
复制代码


在 /sbin/iptables -L 出来的result会是这样的??
  1. DROP       all  --  111.122.133.144.kmr03-home.tm.net.my  anywhere
复制代码

而且根本没有drop到上面这个IP , 它还是自由出入啊...
回复

使用道具 举报


ADVERTISEMENT

发表于 14-3-2010 05:40 PM | 显示全部楼层
请问。。。。 你是要怎样block??
你要 block 你 internal 的 ip 还是 去外面的 external ip??
回复

使用道具 举报

发表于 14-3-2010 05:41 PM | 显示全部楼层
本帖最后由 ebook 于 14-3-2010 05:45 PM 编辑

111.122.133.144是tmnet的public IP,你的DNS Server把它解了域名。IP应该被封了,不过你自己测试不到,因为是在外网。
回复

使用道具 举报

发表于 14-3-2010 06:17 PM | 显示全部楼层
他说。。。自由出入
我觉得那个 ip 是能去不能进~
-.-"
回复

使用道具 举报

 楼主| 发表于 15-3-2010 10:04 AM | 显示全部楼层
本帖最后由 旋转便便 于 15-3-2010 10:05 AM 编辑
请问。。。。 你是要怎样block??
你要 block 你 internal 的 ip 还是 去外面的 external ip??
nick_khor 发表于 14-3-2010 05:40 PM


111.122.133.144 是 visitor 的 IP
我要block它所有的connection

111.122.133.144是tmnet的public IP,你的DNS Server把它解了域名。IP应该被封了,不过你自己测试不到,因为 ...
ebook 发表于 14-3-2010 05:41 PM

可是它一直 SYN flood 我的server


其实我是写了一个简单的script 用crond 来执行, 从 netstat 里把 SYN_RECV 的IP filter 出来然后block执行iptables drop


可是ip被易名。。。它还是flood个不停




目前我是 manual把 drop ip 放进 /etc/sysconfig/iptables ,再restart iptables service ,才能block到那 ip


可是我没办法24小时坐在电脑前standby 啊。。。













回复

使用道具 举报

发表于 15-3-2010 11:27 AM | 显示全部楼层
直接block syn packet,网上很多叁考。
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
回复

使用道具 举报

Follow Us
 楼主| 发表于 15-3-2010 12:13 PM | 显示全部楼层
本帖最后由 旋转便便 于 15-3-2010 12:17 PM 编辑

回复 6# ebook


   

已经在 /etc/sysconfig/iptables 加了

  1. -A INPUT -i eth0 -p tcp --tcp-flags ALL ACK,RST,SYN,FIN -j DROP
  2. -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
  3. -A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
复制代码


还有。。。

  1. echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  2. sysctl -w net.ipv4.tcp_max_syn_backlog=2048
  3. sysctl -w net.ipv4.tcp_syncookies=1
  4. sysctl -w tcp_synack_retries=2
复制代码


可是对方还是照样flood 。。。。
回复

使用道具 举报

发表于 16-3-2010 10:32 AM | 显示全部楼层
把它放在INPUT rule的上头试试,rule次序在firewall里很重要。如果在没做LOG的情况下,你还可以在syslog里看到iptables rules里己经DROP的info,就是代表那些rules没运作。例如-A INPUT -i eth0 -s 1.1.1.1 -j DROP,如果在syslog里还能看到1.1.1.1这个IP就表示这rule没效果。

如果你default policy不是DROP的话,也可能造成一些漏洞。


-A INPUT -i eth0 -p tcp --tcp-flags ALL ACK,RST,SYN,FIN -j DROP
-A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
-A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

关於这几条rules可能产生一些问题,就是你的系统就是一直忙着DROP DDoS的syn package,所以虽然DROP了但是系统还是忙,建议结合"--limit"使用:

iptables -N DoSFlag
iptables -A DosFlag -m limit --limit 15/minute -j LOG --log-prefix "DDoS:  "
iptables -A DosFlag -j DROP

另外你可以先了解DDoS是攻击你伺服机的那个port,然後iptables里放个--syn在後面:
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT --syn

评分

参与人数 1积分 +5 收起 理由
新力爱力新 + 5 熱心助人

查看全部评分

回复

使用道具 举报


ADVERTISEMENT

发表于 17-3-2010 05:34 PM | 显示全部楼层
系统bug了,我上楼回覆没刷新,给我机会赚多一分。
回复

使用道具 举报

 楼主| 发表于 18-3-2010 06:16 PM | 显示全部楼层
本帖最后由 旋转便便 于 18-3-2010 06:21 PM 编辑

回复 8# ebook

感谢ebook前辈的热心帮忙。。。感激不尽~
上面的方法我都试过了。。还是行不通,因为 iptables 的 --limit 好像不是 limitation per IP, 而是所有的connection ..
每当busy period 的时候把大部分的visitor都block在外面了。。。


我刚刚安装了shorewall ... 暂时还在测试阶段
以目前的测试看来,应该是解决了SYN flood 的问题了
希望接下来几天别出什么状况了
回复

使用道具 举报

发表于 18-3-2010 09:27 PM | 显示全部楼层
shorewall是iptables的"front end"软件,你可以打iptables -L看看它的script是怎样block syn packet的。帮不上忙真不好意思。
回复

使用道具 举报

 楼主| 发表于 20-3-2010 09:52 AM | 显示全部楼层
回复 11# ebook


是看了,但是看不明白。。。哈哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 4-11-2024 07:32 PM , Processed in 0.147670 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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