专栏首页网络安全防护如何通过iptables设置来缓解DDoS攻击和CC攻击?
原创

如何通过iptables设置来缓解DDoS攻击和CC攻击?

最近这几年,互联网高速发展的同时,网络安全威胁也日益严重。很多互联网公司经常会遭到各种各样的网络攻击,特别是DDOS攻击最让互联网企业感到头痛,因为DDOS攻击会直接造成服务器崩溃,导致用户无法访问,业务直接中断。而且DDOS攻击是利用TCP协议漏洞,根本无法完全避免,只能被动做好防御,防御的成本还比较高。今天墨者安全通过多年的一些高防经验,来分享一下当站点受到DDoS攻击和CC攻击时,如何通过iptables设置来缓解。

防范DDOS攻击脚本

#防止SYN攻击 轻量级预防

iptables -N syn-flood

iptables -A INPUT -p tcp --syn -j syn-flood

iptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURN

iptables -A syn-flood -j REJECT

#防止DOS太多连接进来,可以允许外网网卡每个IP最多15个初始连接,超过的丢弃

iptables -A INPUT -i eth0 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP

iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

#用Iptables抵御DDOS (参数与上相同)

iptables -A INPUT -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPT

iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT


防范CC攻击设置

1、系统要求

LINUX 内核版本:2.6.9-42ELsmp或2.6.9-55ELsmp(其它内核版本需要重新编译内核,比较麻烦,但是也是可以实现的)。

iptables版本:1.3.7

2、配置相应的iptables规则

示例如下:

(1)控制单个IP的最大并发连接数

iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j REJECT #允许单个IP的最大连接数为 30 。

#默认iptables模块不包含connlimit,需要自己单独编译加载

(2)控制单个IP在一定的时间(比如60秒)内允许新建立的连接数

iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT

#单个IP在60秒内只允许最多新建30个连接。

通过上述iptables设置,可以在网站服务器遭到CC攻击时,自动屏蔽IP地址,缓解CC攻击对服务器造成的影响。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 服务器遭到SYN攻击怎么办?如何防御SYN攻击?

    SYN洪水攻击是DDOS攻击中最常见的攻击类型之一。是一种利用TCP 协议缺陷,攻击者向被攻击的主机发送大量伪造的TCP连接请求,从而使得被攻击方主机服务器的资...

    墨者盾
  • 黑客是如何发起网络攻击的?

    近日,某网络游戏遭到DDOS攻击导致服务器崩溃,大量玩家频繁掉线,游戏长时间无法登入,严重影响玩家体验和口碑,使得该网络游戏用户量大幅度下降。

    墨者盾
  • 选择DDOS防御的几个关键因素

    刚刚有几个客户说受到CC攻击,附带DDOS攻击,接入了CDN后,防不住,问我高防是否可以防的住?我说当然可以啦,那我们就分享下选择DDOS防御的几个关键因素是什...

    墨者盾
  • linux防墙iptables详细介绍、配置方法与案例

    Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的安全自由的**基于包过滤的防火墙工具**,它的...

    砸漏
  • CTF线下防御战 — 让你的靶机变成“铜墙铁壁”

    随着CTF的普及,比赛的形式也有了越来越多的花样,对于线下赛来说,开始出现了安全加固或者防御战之类的环节,亦或者因为拿下靶机后不希望其他攻击者进入而进行“争夺”...

    慕白
  • 网管入门系列——在ubuntu配置iptables

    iptables是用来设置、维护和检查Linux内核的IP包过滤规则的。就是一个ip防火墙,也就是说我们无论用什么端口访问别人还是别人用什么端口来访问我们,都要...

    ppjun
  • Asciinema是一款Linux平台的轻便的终端录制与分享工具。

    官方网址:https://asciinema.org/ 官方用法介绍:https://asciinema.org/docs/usage GitHub项目地址:h...

    院长技术
  • Web前端性能优化教程03:网站样式和脚本&减少DNS查找、避免重定向

    一、将样式表放在顶部 可视性回馈的重要性 进度指示器有三个主要优势——它们让用户知道系统没有崩溃,只是正在为他或她解决问题;它们指出了用户大概还需要等多久,以便...

    逸鹏
  • 【答疑释惑第四讲】如何学习人工智能?

    疑惑一 如何学习人工智能? 很多人问如何学习这个,坦白说这个课题很大,用很小的篇幅也难说清楚,主要是人工智能涉及的领域以及专业知识太庞大,涉及到的不仅仅是编程知...

    程序员互动联盟
  • ​LeetCode刷题实战91:解码方法

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就...

    程序IT圈

扫码关注云+社区

领取腾讯云代金券