使用iptables缓解DDOS及CC攻击

防止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攻击

当apache站点受到严重的cc攻击,我们可以用iptables来防止web服务器被CC攻击,自动屏蔽攻击IP。

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

  1. 安装
    安装iptables1.3.7和系统内核版本对应的内核模块kernel-smp-modules-connlimit
  2. 配置相应的iptables规则

示例如下:

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

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

早期iptables模块不包含connlimit,需要自己单独编译加载,请参考该地址http://sookk8.blog.51cto.com/455855/280372 不编译内核加载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个连接

实时查看模拟攻击客户机建立起来的连接数

watch ‘netstat -an | grep:21 | grep <攻击IP>| wc -l

查看模拟攻击客户机被 DROP 的数据包数

watch ‘iptables -L -n -v | grep <攻击IP>
时间: 2024-12-21 23:32:04

使用iptables缓解DDOS及CC攻击的相关文章

linux 中使用iptables 防止ddocs及cc攻击配置 。

#防止SYN攻击,轻量级预防 iptables -N syn-floodiptables -A INPUT -p tcp –syn -j syn-floodiptables -I syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURNiptables -A syn-flood -j REJECT #防止DOS太多连接进来,可以允许外网网卡每个IP最多15个初始连接,超过的丢弃 iptables -A INPUT -i eth0

防DDOS 脚本 CC攻击

#!/bin/sh #auther RuM #date 20140716 cc ( ) { [ -f ignore.ip.list ] ||  echo "127.0.0.1" > ignore.ip.list netstat -ntu | awk '{print $5}' | cut -d: -f4 | sort | uniq -c | sort -nr > BAD_IP_LIST while read line; do CURR_LINE_CONN=$(echo $li

Nginx配置抵御DDOS或CC攻击

防攻击的思路我们都明白,比如限制IP啊,过滤攻击字符串啊,识别攻击指纹啦.可是要如何去实现它呢?用守护脚本吗?用PHP在外面包一层过滤?还是直接加防火墙吗?这些都是防御手段.不过本文将要介绍的是直接通过nginx的普通模块和配置文件的组合来达到一定的防御效果. 验证浏览器行为 简易版 下面就是nginx的配置文件写法. if ($cookie_say != "hbnl"){ add_header Set-Cookie "say=hbnl"; rewrite .* &

用iptables来缓解web服务器被DDOS和CC攻击

[[email protected] ~]# vi /etc/iptables_settings.sh [[email protected] ~]# more /etc/iptables_settings.sh #!/bin/sh -e #---------------------------------------------------------- # iptables settings #--------------------------------------------------

用shell暂时缓解ddos和cc大流量访问的情况

在日常运维中,难免碰到大流量,造成网站无法访问或者影响缓慢的情况:如果没有购买高防产品,则可以通过shell暂时缓解: #!/bin/bash ############################################## #Author: Liuzhengwei - [email protected] #WeiXin:1135960569 #Last modified: 2018-10-09 14:31 #Filename: blockip.sh #Description: 检测

DDos/CC攻击单靠单独硬防有用?

网络虽然可以让人快速暴富,但也存在着不可避免的困扰.比如一些游戏或者人气站点很容易受到同行攻击或索要保护费等.DDOS与CC攻击是最为常见,其中DDOS流量攻击最为致命 也是最难防御的.除非依靠庞大的网络带宽及硬件防火墙才能缓解或与之抗衡,但真实的费用将是天文数字.即使有能力租用,但频繁掉线与速度卡又成了越来越多客户头疼而又不得不面对的现实.更何况作为机房而言,不可能把所有的带宽会让一家入住公司给霸占 .毕竟一家经营性机房是由多家ISP公司入住经营的,所以单独依靠硬件防火墙去抗衡DDOS攻击的话

谁遭到过ddos攻击怎么才能有效预防DDOS/CC攻击

关键词:遭到ddos攻击 有效预防 DDOS/CC攻击 简介:随着网络攻击的简单化,如今ddos攻击已经不止出现在大型网站中,就连很多中小型网站甚至是个人网站往往都可能面临着被DDoS攻击的的风险.或许很多站长对DDoS攻击并不是很了解,及时网站被攻击时往往不能及时发现,导致网站出现经常性大不开的情况,,为了让站长们避免网络受到DDoS攻击上的影响.下面由我详细给大家介绍一下网站受ddos.cc攻击的表现以及查看方法. 网站遭到DDOS攻击时候的表现: 一.服务器CPU被大量侵占: DDOS攻击

nginx防DDOS、cc、爬虫攻击

一.防止DDOS.CC攻击 http { limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m server { limit_conn perip 10; #单个客户端ip与服务器的连接数. limit_conn perserver 100; #限制与服务器的总连接数 } 二.禁止爬虫 server { listen 80; server_name 1

linux中防CC攻击两种实现方法(转)

CC攻击就是说攻击者利用服务器或代理服务器指向被攻击的主机,然后模仿DDOS,和伪装方法网站,这种CC主要是用来攻击页面的,导致系统性能用完而主机挂掉了,下面我们来看linux中防CC攻击方法. 什么是CC攻击 cc攻击简单就是(ChallengeCollapsar) CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃.CC主要是用来攻击页面的,每个人都有 这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线