被人DDoS攻擊了,分析一下原理和防禦

1、行業現象

1.1 爲何要攻擊?

常見的,一個是同行惡意競爭,一個是敲詐勒索。java

不管是傳統行業的線下門店,仍是互聯網行業的門戶網站、APP產品,都存在着競爭關係,爭相得到更多客源,究其目的,無非是爲了賺錢。數據庫

1.2 被攻擊有什麼症狀?

傳統行業線下門店來說,你開了一家飯店,正正經經作生意,生意也還不錯。這兩天常常有一大堆人進飯店,可是不點菜就佔着位置不消費,或者動不動有乞丐在門口守着,有人在飯菜裏面吃到蟲子等等,這就是傳統行業的惡意競爭。瀏覽器

互聯網行業同理,你的門戶網站或者APP產品一直正常運行,也沒有作推廣導流大量用戶,可是系統忽然沒法訪問,或者卡的要死,技術檢查說是服務器流量暴增,致使服務器崩潰,阿里雲ECS被拉入黑洞,沒法訪問。tomcat

用戶沒法正常使用你的產品,天然會以爲你的系統不穩定,致使用戶流失。服務器

1.3 惡意競爭的對手通常是不會攻擊,那他是怎麼作到的?

  • 「發單者」,發起惡意競爭的對手,或者是敲詐勒索的主,即「老闆」;
  • 「攻擊者」,收到發單者的訂單,經過專業技術手段對目標進行攻擊操做,即「項目經理」;
  • 「肉雞供應商」,即給攻擊者提供資源的供應商,資源即「搗亂者」;

攻擊產業簡述.png

另,本圖只是簡單介紹攻擊產業鏈,還有其餘角色此處就不作詳細介紹,後續咱們再出專題討論。網絡

1.4 哪些行業更有可能被攻擊?

  • 遊戲(棋牌、網遊私服)類
  • 某顏色類網站類
  • 金融類
  • 虛擬貨幣類

簡單分析下上述類行業,他們至少有一個很是關鍵的共同點:有錢!架構

2、常見攻擊方式

2.1 DDoS攻擊

DDoS攻擊是利用網絡上被攻陷的電腦做爲「肉雞」,經過必定方式組合造成數量龐大的「僵屍網絡」,採用一對多的方式進行控制,向目標系統同時提出服務請求,超出服務器的承載量,致使服務器崩潰的攻擊技術。網站

簡單的說,就是你的飯館最多承載100個客人在店裏面消費,當被人家惡意攻擊時,忽然有不少人往店裏擠,不光是從大門進,還有後門,爬窗,各式各樣的,致使店裏沒辦法控制,而且人滿爲患,真正的消費者沒法進入飯店消費,最後歇菜。ui

通常DDoS攻擊有 NTP Flood、ICMP Flood、UDP Flood、SYN Flood、DNS Query Flood 等,因爲專業描述過於複雜,此處不作詳細介紹。阿里雲

2.2 cc攻擊

cc攻擊主要分代理cc和肉雞cc,其目的都是經過控制大量的請求,訪問受害主機的合法網頁或接口,致使服務端應用層(如java的tomcat)沒法正常響應,服務器CPU長時間處於100%狀態,網絡帶寬被佔滿,數據庫被拖死等狀況。

簡單的說,當你的飯館被惡意cc攻擊時,忽然來了不少客人,他們雖然不爬窗不抄後門,可是仍然把你的大門給擠滿堵死,真正的客人沒法進入,人又多,飯館的服務員忙不過來,最後歇菜。

這種攻擊技術性含量高,見不到真實源IP,見不到特別大的異常流量,但服務器就是沒法進行正常鏈接。因此cc攻擊成本也相對高一些,若是不是真的有什麼深仇大恨,通常不會持續多久。

3、DDoS攻擊防禦

3.1 理解DDoS攻擊原理

首先咱們要知道,最基礎的網站部署是怎麼實現的,用戶經過瀏覽器訪問域名,域名再轉發到你的源服務器。

基礎的網站部署.png

而後咱們要了解DDoS攻擊原理,他們攻擊的,是你的源服務器,也就是你的飯館門店。由於通常域名都是顯示指向服務器的ip,也就是你的門店定位是暴露給客戶的,因此攻擊者是能夠直接找到門店進行攻擊。

3.2 前置路由服務器,保護源服務器

因此要防禦DDoS攻擊第一步,是要保護好咱們的源服務器,不讓對方知道咱們的源服務器地址,即加一個前置路由服務器,通常咱們是使用NGINX、Apache等軟路由,部署以下圖。

保護源服務器部署.png

3.3 路由服務器被打死怎麼辦

上述架構圖中,只是保證了源服務器不被影響,可是前置路由服務器被打死,用戶依然訪問不了,因此有的朋友已經想到了,咱們再換一個路由服務器,部署以下圖。

多路由服務器部署.png

但這種方式,必需要人工將域名轉發配置從新改爲新的路由服務器,而且域名轉發最慢可能要10分鐘,因此存在部分用戶短期內沒法正常訪問的弊端。

3.4 高富帥的完美作法

前面講到的多路由服務器的方式,存在明顯的體驗差的弊端,那麼有沒有更好的方式呢?固然有,就是費點錢。好比阿里雲,就有他們本身的高防服務,20000元包月,打底30G流量,超出的流量按量付費。 舉個例子,這個月,你被攻擊了5次,每次平均流量時100G,那麼也就是說,你要額外再出 70G * 5 * 平均小時 的額外流量費用。(我一個搞遊戲的朋友被同行惡意攻擊,一個晚上的功夫,就是1萬多的超額費用。。。),部署架構圖以下。

阿里雲高防IP部署.png

阿里雲DDoS報價.png

3.5 想要有阿里雲高防IP的服務又想節省成本

阿里雲高防IP的作法,其實就是本身作了一套清洗規則,咱們百度阿里雲高防能夠看到,不少競價排名在前面的都是一些機房,他們的作法跟阿里雲的作法原理也是差很少的,而且價格要比阿里雲便宜很多,那麼靠譜嗎?

競價排名嘛,羊毛出在羊身上,因此對於他們的同行來講,價格確定也是偏高的,穩不穩定得看口碑了。咱們以前作互聯網金融的時候,被別人敲詐勒索,最後也是找到一個比較靠譜的機房作的防禦,他們24小時在線查處問題,後面也一直處於比較清靜的狀態。

4、cc攻擊防禦

4.1 理解cc攻擊原理

cc攻擊不一樣於普通的DDoS攻擊,玩的是合法的網絡請求,也就是說他就是經過域名網頁請求過去的,也是由於他自己就不須要繞過門面直接攻擊源服務器,那麼即便加上普通的前置路由服務器,也是沒用的。

既然不須要隱式保護源服務器,那要怎麼處理呢?

通常cc攻擊都是有策略的,經過識別出當時攻擊的策略,防禦修改對應的應對策略便可。(固然,沒點專業技術能力的,這個應對策略也是作不到的)

4.2 如何找到專業的cc攻擊策略防禦

一樣,也是使用類阿里雲的高防IP,當服務器被攻擊時,會提示你的服務器當前在被什麼策略的cc攻擊,對應的人爲在高防管理後臺修改防禦策略便可應對。

另外一個就是前面說的機房,他們也是一樣的方式,只是由於接入了機房,被攻擊的對象就是他們的服務器,因此就讓他們機房本身修改策略應對就行了,你只須要觀察你的客戶是否能夠正常訪問便可。

5、防禦方式用戶體驗與成本對照表

防禦方式 用戶體驗 價格成本 人工成本 穩定程度
多前置路由服務器 部分用戶短期內沒法訪問,體驗差 主備模式,備用能夠須要時再臨時適用,成本較低 略高 通常
阿里雲高防IP 用戶體驗基本沒有感知 2萬保底30G,成本很是高 較少 穩定
靠譜IDC機房 用戶體驗基本沒有影響 3千左右保底50G,免費彈性到100G,成本較低 較少 穩定

My Blog

blog.guijianpan.com

技術交流

weixin-x175.jpg
相關文章
相關標籤/搜索