全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 3722|回复: 17
打印 上一主题 下一主题

[疑问] 如何加快csf防火墙block ip的速度(送自己写的防CC脚本)

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-3 03:45:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我的服务器每天大概会被1000个左右的并发IP CC
我通过日志大概分析出来一些非法的请求,但是在使用CSF禁止ip的时候,由于iptables要锁表,导致特别特别慢。。求快速加入iptables的方法...

下面是封大量连接没有referer来源的脚本,自己写的比较2。。见谅..

#!/bin/bash
ips=`tail -100 /data/logs/aaa.com.log | grep -E ' GET ' | awk '{if ($11=="-"){print $1}}' |sort |uniq -c | awk '{if ($1 > 1 ){ print $2 }}'`

cache=`tail -1000 /data/logs/aaa.com.log`;
#printf "$cache";
#echo "$cache";
for ip in $ips;do
        #echo $ip;
        ipcache=`echo "$cache" | grep -E "^$ip"`;
        posttest=`echo "$ipcache" | grep -E ' POST ' | wc -l`;
        if [ $posttest -gt 0 ]
        then
                echo "$ip POST detected,continue";
                continue;
        fi
        match=`echo "$ipcache" |grep -E ' GET ' | awk '{if ($11 == "-") {print $11}}' | wc -l`;

        if [ $match -gt 10 ]
        then
                FLAG=0;
                grep $ip /etc/csf/csf.tempban > /dev/null
                if [ $? -ne $FLAG ]
                then
                        /usr/sbin/csf -td $ip 43200
                        echo "block $ip, match $match";
                else
                        echo "already block $ip, match $match" ;
                fi

        fi
        #echo $match;
        #echo "$cache"| grep $ip >> /data/logs/ban/200.log;
done
~

评分

参与人数 1威望 +10 收起 理由
wusir + 10 原创内容

查看全部评分

18#
 楼主| 发表于 2011-12-3 15:32:00 | 只看该作者
原帖由 莫桑比特 于 2011-12-3 11:56 发表
  直接上CC软防,几十万CC无视

求linux下的。。。
我这边的CC主要是1、2秒才发一个请求,那边机器多,应该是叫做非饱和攻击吧。nginx都不503。。
17#
发表于 2011-12-3 15:31:16 | 只看该作者
防SYN...无语
16#
 楼主| 发表于 2011-12-3 15:30:26 | 只看该作者
原帖由 fw2you 于 2011-12-3 11:57 发表

看来以后要加referer了

加了referer还要模拟爬虫、而且还要爬图片、而且每次间隔不能太短,否则把window打开大一点,照样全部封死,当然也得要求服务器性能好一些
15#
 楼主| 发表于 2011-12-3 15:29:23 | 只看该作者
原帖由 domin 于 2011-12-3 04:19 发表
直接通过iptables封不就行了吗, 为什么要用csf

CSF有临时表、永久表、防SYN、防FLOOD。。。
基本都能kill掉。。然后就剩下一些CC了。分析一下日志就好了,今天服务器很正常。
14#
 楼主| 发表于 2011-12-3 15:28:01 | 只看该作者
原帖由 wdlth 于 2011-12-3 13:01 发表
可以试试用KVDB来判断。

神马是KVDB?。。
13#
发表于 2011-12-3 13:01:58 | 只看该作者
可以试试用KVDB来判断。
12#
发表于 2011-12-3 12:59:13 | 只看该作者
判断reffer。。。
11#
发表于 2011-12-3 12:19:36 | 只看该作者
咱不懂
10#
发表于 2011-12-3 11:57:50 | 只看该作者
原帖由 loning 于 2011-12-3 03:45 发表
我的服务器每天大概会被1000个左右的并发IP CC
我通过日志大概分析出来一些非法的请求,但是在使用CSF禁止ip的时候,由于iptables要锁表,导致特别特别慢。。求快速加入iptables的方法...

下面是封大量连接没有referer来 ...

看来以后要加referer了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-6 23:57 , Processed in 0.108626 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表