加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

服务器如何利用iptables的recent模块来抵御DDOS攻击

发布时间:2020-12-13 17:26:19 所属栏目:Linux 来源:网络整理
导读:《服务器如何利用iptables的recent模块来抵御DDOS攻击》要点: 本文介绍了服务器如何利用iptables的recent模块来抵御DDOS攻击,希望对您有用。如果有疑问,可以联系我们。 网站上线后,没多久就会有很多人用各种黑客工具来扫描你的网站,比如下图,一秒钟内

《服务器如何利用iptables的recent模块来抵御DDOS攻击》要点:
本文介绍了服务器如何利用iptables的recent模块来抵御DDOS攻击,希望对您有用。如果有疑问,可以联系我们。

网站上线后,没多久就会有很多人用各种黑客工具来扫描你的网站,比如下图,一秒钟内会有N>30次的扫描。

服务器如何利用iptables的recent模块来抵御DDOS攻击1

扫描的地址大多是一些开源软件的地址,比如kindeditor, dedecms,phpcms等程序上传文件地址或有漏洞的页面地址。

此外,限制黑客猜密码也是这样不断暴力破解,有时也会受到DDOS的功击。

它们共同的特点就是“短时间内高频率”功击。


这类小规模的功击或扫描,可以利用iptables的recent模块来抵御,主要规则是限制在多少秒内发起多少次读取,一旦触发,就阻止该IP访问。

不过,我知道搜索引擎的蜘蛛有时也会很疯狂,比如谷歌蜘蛛,虽然不在中国办公,但它的蜘蛛还是不断抓取国内网站。只是不知道它的抓取频率是多少,为了避免把疯狂的蜘蛛抓取和这类功击行为混在一起拒绝了,我特地看了一下使用VEPHP框架开设的网站89微商代理网 统计系统。如下图统计的,看看时间频率就可以放心了,蜘蛛没那么疯:

服务器如何利用iptables的recent模块来抵御DDOS攻击2


这样就放心了,我们大胆使用iptables的recent。

命令:在60秒内连续连接超过20次,就把该IP拒绝掉。

$ iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set

$ iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 20 -j DROP


保存设置:

$ service iptables save  #或iptables-save  
$ service iptables restart


小知识点:

这里的hitcount最大值只能设置20,可以执行这条命令查看你服务器上的ip_pkt_list_tot限制:

$ cat /sys/module/xt_recent/parameters/ip_pkt_list_tot


默认都是输出20.

如果你想要设置更大的,可以这样做:

进入到/etc/modprobe.d/ 目录下新建配置文件xt_recent.conf:

$ cd /etc/modprobe.d/
$ vi xt_recent.conf

添加:

options xt_recent ip_list_tot=1024 ip_pkt_list_tot=200


这样就可以把上限提高到200了。


同理,你也可以用它来限制黑客对你服务器暴力破解密码行为:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name SSHPOOL --rcheck --seconds 3600 --hitcount 5 -j DROP

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name SSHPOOL --set -j ACCEPT


对连接到本机的SSH连接进行限制,每个IP每小时只限连接5次。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读