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

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

概述介绍《服务器如何利用iptables的recent模块抵御DDOS攻击》开发教程,希望对您有用。

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

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

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

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

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

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

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

这样就放心了,我们大胆使用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次。

总结

以上是内存溢出为你收集整理的服务器如何利用iptables的recent模块来抵御DDOS攻击全部内容,希望文章能够帮你解决服务器如何利用iptables的recent模块来抵御DDOS攻击所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1041612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存