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


能夠看到這種設置很是有效的防止了慢速***,能夠在具體的實踐中嘗試用一用~ 

相關文章
相關標籤/搜索