免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1820 | 回复: 2
打印 上一主题 下一主题

[网络管理] 紧急:如何用IPTABLE 对抗ddos? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-13 05:32 |只看该作者 |倒序浏览
我的主机给人不停的攻击80端口,全部是碎包,
听说IPTABLE可以,哪位高人能指点一下?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-05-13 09:14 |只看该作者

紧急:如何用IPTABLE 对抗ddos?

直接把他的IP给拒绝掉

iptables -A INPUT-s xxx.xxx.xxx.xxx -j DROP

论坛徽章:
0
3 [报告]
发表于 2003-05-13 09:42 |只看该作者

紧急:如何用IPTABLE 对抗ddos?

给你一段netfilter howto的节选吧, 我没做过, 不过照下面所说, 做起来应该不难. 原文位置:
http://www.pttc.yn.cninfo.net/dtsy/nettech/linux/68935003.htm

limit
此模块必须明确指定'-m limit'或'--match limit'。用来限制匹配的速率。就像抑制记录信息。只会匹配给定的数字/每秒(默认是每小时3个匹配,和5个触发)。可以有两个参数:
--limit
后面跟数字:指定每秒钟允许的匹配最大平均数。这个数字可以指定 明确的单位,使用'/second'、`/minute'、`/hour' 或者 `/day',或者 只写一部分(如'5/second'和'5/s'一样)。
--limit-burst
后面跟一个数字,指明在上面的limit起作用前最大的触发值。
这个匹配(项)通常和LOG目标结合起来使用,以对速率限制进行记录。 为了理解它是如何工作的,我们来看看下面这条规则,它使用默认限制参数 记录包。
# iptables -A FORWARD -m limit -j LOG
当这条规则第一次启用时,包开始被记录。实际上,由于默认触发是5,前五个包会被记录。然后,每隔20分钟再记录一次包,无论这期间有多少包到达。而且,每个不匹配包的20分钟间隔里,会恢复一个触发(值)。如果100分钟都没有包到达这个规则,那么所有触发都会恢复,回到起点。
提示:你目前不能以大于59小时的时间来创建这种规则,所以如果你设置一个平均率为一天,那么你的触发率必须小于3。
你也可以将此模块用于避免使用快速响应速率的各类拒绝服务攻击(DoS,Denial of Server)。
(译者:以下是较著名的攻击)
Syn-flood protection:
# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
  
Furtive port scanner:
# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
  
Ping of death:
# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
这个模块工作原理类似于“节流阀”,以下是图示。



                 rate (pkt/s)
                       ^        .---.
                       |       / DoS \
                       |      /       \
          Edge of DoS -|.....:.........\....................... DoS的边界 =
           = (limit *  |    /:          \
          limit-burst) |   / :           \         .-.
                       |  /  :            \       /   \
                       | /   :             \     /     \
          End of DoS  -|/....:..............:.../.......\..../.  DoS结束
           = limit     |     :              :`-'         `--'
          -------------+-----+--------------+------------------>; time (s)
             LOGIC =>;  Match | Didn't Match |    Match



我们匹配由五个包触发的每秒一个包,不过每秒钟第四个包才开始进入(这个规则),进行三秒钟,然后重新开始。

                  <--Flood 1-->;           <---Flood 2--->;

          Total  ^                   Line  __--      YNNN
          Packets|               Rate  __--      YNNN
                 |            mum  __--      YNNN
              10 |        Maxi __--         Y
                 |         __--            Y
                 |     __--               Y
                 | __--    YNNN
                 |-    YNNN
               5 |    Y
                 |   Y                                Key:  Y ->; Matched Rule
                 |  Y                                       N ->; Didn't Match Rule
                 | Y
                 |Y
               0 +-------------------------------------------------->;  Time (seconds)
                  0   1   2   3   4   5   6   7   8   9  10  11  12



你可以看见,前五个包是允许超过一个包/每秒(这个速率)的,然后就开始限制。 如果有一个暂停,那么另一个触发也是允许的,但不能超过规则设置的最大速率。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP