上篇博客说到,httpd请求数过多,apache连接数不够,加大连接数的做法,在受ddos,cc攻击的情况下,最终的结果就是系统资源耗尽,导致死机。
测试服务器,也没有想到会受到攻击,什么防范措施也没有做。装了csf的防火墙,在应对少量ddos,cc攻击的,还是挺管用的,以前也用过apf也挺不错,下面记录一下,我是怎么发现攻击,并且是怎么解决的。1,调整apache的连接,总是会被占满,系统资源消耗的很厉害,测试服务器,没有装监控,nagios,cacti,munin,我的博客里面都有。可以自己搜索一下。
2,查看了一下apache的日志,发现某一个IP,请求某一个PHP,二天内达到9万多,apache的log做了滚动的,所以说正常情况下,不可能有这么多,并且这是测试服务器。看下图。
ddos 攻击" src="/Article/UploadPic/2013-5/20135917117717.jpg" data-ke-src="/Article/UploadPic/2013-5/20135917117717.jpg" title="ddos 攻击" style="border: 0px; height: auto;" οnlοad="return imgzoom(this,550);" οnclick="javascript:window.open(this.src);" style="cursor:pointer;"/>
下面说一下安装配置过程
一,下载安装
wget http://www.configserver.com/free/csf.tgz
tar -zxvf csf.tgz
cd csf
sh install.sh
如果报perl模块错误,
yum install perl-libwww-perl perl
测试一下csf
[root@rudder csf]# perl /etc/csf/csftest.pl
Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK
RESULT: csf should function on this server
二,配置csf
配置文件里面,可配置的东西很多,基本配置就不说了,网上有。在这里说一下,怎么配置防止少量的ddos,cc攻击
1,端口洪水攻击保护
vim /etc/csf/csf.conf //我做了二处改动,第一处如下
PORTFLOOD = "22;tcp;5;300,80;tcp;20;5"
解释:
1),如果300秒内有5个以上连接到tcp端口22的连接,则至少在发现最后一个数据包300秒后阻止该IP地址访问端口22,即在该阻止被取消前有300秒的"安静" 期。
2), 如果5秒内有20个以上连接到tcp端口80的连接,则至少在发现最后一个数据包5秒后阻止该IP地址访问端口80,即在该阻止被取消前有5秒的"安静" 期