linux中Iptables限制同一IP连接数防CC/DDOS攻击方法

1.限制与80端口连接的IP最大连接数为10,可自定义修改。

 代码如下 复制代码

iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP

2.使用recent模块限制同IP时间内新请求连接数,recent更多功能请参考:Iptables模块recent应用。

 代码如下 复制代码

iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j LOG --log-prefix 'DDOS:' --log-ip-options
#60秒10个新连接,超过记录日志。
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP
#60秒10个新连接,超过丢弃数据包。
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --set -j ACCEPT
#范围内允许通过。

上面的相对比较简单,下面我来分析更具体的配置方法。CentOS/Redhat/Fedora

在服务器执行

 代码如下 复制代码
vi /etc/sysconfig/iptables
删除原来的内容输入如下内容 保存
# Generated by iptables-save v1.3.5 on Sun Dec 12 23:55:59 2010
*filter
:INPUT DROP [385263:27864079]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4367656:3514692346]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -s 127.0.0.1 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 80 -m state –state NEW -m recent –set –name WEB –rsource
-A INPUT -p tcp -m tcp –dport 80 -m state –state NEW -m recent –update –seconds 5 –hitcount 20 –rttl –name WEB –rsource -j DROP
-A INPUT -p tcp -m multiport –ports 21,22,80 -j ACCEPT
-A INPUT -p tcp -m tcp –tcp-flags SYN,RST,ACK SYN -m ttl –ttl-eq 117 -j DROP
-A INPUT -p tcp -m tcp –tcp-flags SYN,RST,ACK SYN -m length –length 0:40 -j DROP
-A INPUT -p tcp -m tcp ! –tcp-flags SYN,RST,ACK SYN -m state –state NEW -j DROP
COMMIT
# Completed on Sun Dec 12 23:55:59 2010

说明此设定仅对外开放21(FTP),22(SSH),80(http网站)三个TCP端口。设置80端口5秒内20个连接

重启iptables服务 /etc/init.d/iptables restart
设定iptables随机启动chkconfig iptables on

时间: 2024-11-03 20:49:08

linux中Iptables限制同一IP连接数防CC/DDOS攻击方法的相关文章

linux中 iptables遇到iptables: Protocol wrong type for socket

 下面琰各位介绍一篇关于Linode vps iptables遇到iptables: Protocol wrong type for socket.错误的解决方法,希望文章对各位有帮助     想在linode vps centos 6.4上iptables加入限制ip连接数不能超过100的规则: iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT 出现错误: iptable

Linux 中清空或删除大文件内容的五种方法_Linux

在 Linux 终端下处理文件时,有时我们想直接清空文件的内容但又不必使用任何Linux命令行编辑器 去打开这些文件.那怎样才能达到这个目的呢?在这篇文章中,我们将介绍几种借助一些实用的命令来清空文件内容的方法. 注意: 由于再Linux中一切皆文件,你需要时刻注意,确保你将要清空的文件不是重要的用户文件或者系统文件.清空重要的系统文件或者配置文件可能会引发严重的应用失败或者系统错误. 提示:在下面的示例中,我们将使用名为 access.log 的文件来作为示例样本. 1. 通过重定向到 Nul

asp.net防类似DDOS攻击(CC攻击)代码

Web.config <httpModules> <!–Url重写–> <add type="UrlRewriter.RewriterHttpModule, UrlRewriter" name="UrlRewriter"/> <!–防类似DDOS攻击–> <add type="UrlRewriter.DDosAttackModule, UrlRewriter" name="DDosA

linux中IPTABLES常用的例子

1.安装iptables 很多Linux已经默认安装iptables,可使用后文的查看命令测试是否安装 CentOS/RedHat下执行: yum install iptablesDebian/Ubuntu下执行: apt-get install iptables iptables –F 例子 #删除已经存在的规则 iptables -P INPUT DROP #配置默认的拒绝规则.基本规则是:先拒绝所有的服务,然后根据需要再添加新的规则. iptables -A INPUT -p tcp --

linux中iptables配置学习笔记

iptables是一个Linux下优秀的nat+防火墙工具,我使用该工具以较低配置的传统pc配置了一个灵活强劲的防火墙+nat系统,小有心得,看了网上也有很多这方面的文章,但是似乎要么说的比较少,要么就是比较偏,内容不全,容易误导,我研究了一段时间的iptables同时也用了很久,有点滴经验,写来供大家参考,同时也备日后自己翻阅. 首先要说明的是,iptables操作的是2.4以上内核的netfilter.所以需要linux的内核在2.4以上.其功能与安全性远远比其前辈 ipfwadm,ipch

Linux 防火墙iptables 禁止某些 IP访问

方法一,过滤一些IP访问本服务器 要封停一个IP,使用下面这条命令:  代码如下 复制代码 iptables -I INPUT -s ***.***.***.*** -j DROP 要解封一个IP,使用下面这条命令:    代码如下 复制代码 iptables -D INPUT -s ***.***.***.*** -j DROP 参数-I是表示Insert(添加),-D表示Delete(删除).后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃

10万IP小说站遭遇DDOS攻击的前因后果

先自我介绍一下,80后,07年开始做站长,白天上班晚上做网站,外链.黑链.站群什么的都弄过,最多同时运营20个网站,全是一些垃圾站,淘客站居多,小说站.电影站也弄过,大多默默无闻. 12 年春节的时候,一直在起点上看天蚕土豆的武动乾坤,为了看到最新章节,自然是买了VIP,还不贵,只是觉得有点浪费,看了一遍就没用了,于是乎建了一个武 动乾坤的小说站,更新最新的章节,前前后后折腾了快一年,没啥起色,到不了百度首页,完全没流量,不过本身只是顺手做的网站,因此没指望有啥前景. 去年年末的时候,百度调整算

linux中iptables防火墙怎么设置

当新配置了一台linux的服务器时,如果需要配置iptables,一般按照以下命令进行配置: 一,安装并启动防火墙 [root@linux ~]# /etc/init.d/iptables start 当我们用iptables添加规则,保存后,这些规则以文件的形势存在磁盘上的,以CentOS为例,文件地址是/etc/sysconfig /iptables,我们可以通过命令的方式去添加,修改,删除规则,也可以直接修改/etc/sysconfig/iptables这个文件就行了. 1.加载模块 /s

linux中iptables防火墙设置学习笔记

以下内容总结自鸟哥的 Linux 私房菜 -- 服务器(第三版),同时推荐喜欢Linux的同学们学习阅读. For Linux Kernel 2.6+ I. 图解防火墙 图解防火墙 上面的图示很复杂喔!不过基本上你依旧可以看出来,我们的 iptables 可以控制三种封包的流向: 封包进入 Linux 主机使用资源 (路径 A): 在路由判断后确定是向 Linux 主机要求数据的封包,主要就会透过 filter 的 INPUT 链来进行控管: 封包经由 Linux 主机的转递,没有使用主机资源,