Azure上Linux VM DDOS***预防: 慢速***

在上篇博客(http://cloudapps.blog.51cto.com/3136598/1708539)中,介绍了如何使用Apache的模块mod_evasive进行反DDOS***的设置,在这种模式中,主要预防的是对http的volume attack,然而DDOS的***方式,各类工具很是多,随便搜一搜就知道了,咱们回过头来看看,什么叫DOS/DDOS,看看维基百科:php

“拒绝服务***Denial of Service Attack缩写DoS)亦称洪水***,是一种网络***手法,其目的在于使目标电脑的网络或系统资源耗尽,使服务暂时中断或中止,致使其对目标客户不可用。服务器

***使用网络上两个或以上被攻陷的电脑做为“僵尸”向特定的目标发动“拒绝服务”式***时,其称为分布式拒绝服务***Distributed Denial of Service attack缩写DDoS)。据2014年统计,被确认为大规模DDoS的***已达平均每小时28次。[1]***发起者通常针对重要服务进行***,如银行,信用卡支付网关,甚至根域名服务器。”网络

***方式能够分为:
app

带宽消耗类型***(DDoS带宽消耗***能够分为两个不一样的层次;洪泛***或放大***。)分布式

资源消耗性***spa

  • 协议分析***(SYN flood,SYN洪水)

  • LAND attack

  • CC***

  • 僵尸网络***

  • Application level floods(应用程序级洪水***)


若是你概括汇总一下***的类型的话,会发现,主要有:

  • 应用层级DDOS***

  • 协议层DDOS***(UDP/ICMP/SYN等)

  • 量级DDOS***(僵尸网络/CC等)



其中后两种,如今大部分的DDOS的设备均可防御,但应用级别的DDOS就会比较麻烦,很难防御,上篇博文中介绍的实际是该种***的一种,基于http的volume attack的预防,属于大批量,快速***类的;那还有一种比较常见的应用***叫慢速***(slow http DDOS),偏偏相反,就是慢速链接,耗掉你全部资源,比较有名的如Slowloris等。

对于第一种,基本原理是检测访问量和访问频率,封掉IP

对于第二种,使用netstat检测链接状态,而后将***地址加入iptable中,拒绝访问

今天咱们来介绍第二种方式的预防工具,不须要咱们来写脚本了,有一个开源的软件能够帮助咱们来作,软件名字叫DOS Deflate,这个软件是一个法国的大神Zaf(zaf@vsnl.com)开发的,基本原理同上介绍。在本文中使用CentOS6.5座位演示环境:

1. 准备目录:

$sudo mkdir -p /usr/local/src/

$cd /usr/local/src/

$sudo mkdir ddos

$cd ddos

2.下载DOS Deflate软件

$ sudo wget http://www.inetbase.com/scripts/ddos/install.sh

wKioL1Y2HlSRw-fpAAHgNifhUtA310.jpg

3. 安装软件

wKiom1Y2Hy7wrYmAAAEuLkCurCk884.jpg

4. 安装完成以后,须要进一步配置该软件:

$ sudo vi /usr/local/ddos/ddos.conf


4.1 须要检查一下配置路径是否和你的实际环境一致,本测试中保持不变:

##### Paths of the script and other files

PROGDIR="/usr/local/ddos"

PROG="/usr/local/ddos/ddos.sh"

IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list"

CRON="/etc/cron.d/ddos.cron"

APF="/etc/apf/apf"

IPT="/sbin/iptables"


4.2 FREQ参数的值定义,ddos脚本***时间被执行一次,使用的是Linux crontab服务,默认是1分钟执行一次:

FREQ=1


4.3 NO_OF_CONNECTIONS是定义你认为,若是是一个DDOS慢速***的客户端,会创建多少链接来还非你的资源,默认是150,我将他改为70

NO_OF_CONNECTIONS=70


4.4 DDOS Deflate支持两种防火墙APF和iptables,本测试中咱们使用iptables,因此将值改为0:

APF_BAN=0


4.6 定义了你是否使用交互模式来处理***IP,若是逆选择交互,则只会给你发封邮件,咱们设为1

##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)

##### KILL=1 (Recommended setting)

KILL=1


4.6 邮件通知地址:

EMAIL_TO="xxx@microsoft.com"


4.7 将这个被禁止掉的IP封掉多长时间,以秒为单位

##### Number of seconds the banned ip should remain in blacklist.

BAN_PERIOD=600


5. 全部的配置完成后,咱们从新启动服务:

wKiom1Y2JFLjCoHdAACIiQTKeY0507.jpg


6.配置完成后,咱们须要测试一下效果,光说不练不是真把式啊,DDOS***的工具很是多,常见的有如下这些:

  • HOIC (High Orbit Ion Canon)

  • LOIC ( Low Orbit Ion Canon)

  • XOIC

  • R-U-DEAD-Yet

  • Pyloris

  • OWASP DOS HTTP Post

  • GoldenEye HTTP Denial of Service Tool

  • Slowloris HTTP Dos

大部分的下载到目前为止都是不可用的,好比HOIC,Slowloris等,我找了一些能够作测试的分享给你们:

Slow Http Test :https://code.google.com/p/slowhttptest/downloads/detail?name=slowhttptest-1.6.tar.gz&can=2&q=

OWASP HTTP Post Tool

https://www.owasp.org/index.php/OWASP_HTTP_Post_Tool

http://www.proactiverisk.com/tools/


本测试Demo中,使用的是后者,能够作慢速***


6.1 首先检测一下当前iptables的状态:

wKiom1Y20BiBslncAADmiDw-oVc390.jpg


能够看到一切正常,那么就诶下来准备***。


6.2 配置你要***的IP地址,设置***链接数,时间等信息,开始慢速***

wKiom1Y20FmTTyz_AAGdNaDPcwo677.jpg

wKiom1Y20MOCeQ4aAAEUlH5o8Po851.jpg

6.3 你们会记得咱们设置的***检测时间是1分钟,***一段时间以后,咱们监测一下iptables的状态,能够看到,***的IP地址被检测到,并禁止了:

wKioL1Y20bGj1X0JAAEOLRyQfwY477.jpg

6.4 最终***被封杀,没法链接

wKioL1Y20hbDD7rUAAGJoU-B5PA892.jpg


能够看到这种设置很是有效的防止了慢速***,能够在具体的实践中尝试用一用~ 

相关文章
相关标签/搜索