提到 DDoS 攻擊,不少人不會陌生。上週,美國當地時間 12 月 29 日,專用虛擬服務器提供商 Linode 遭到 DDoS 攻擊,直接影響其 Web 服務器的訪問,其中 API 調用和管理功能受到嚴重影響,在被攻擊的一週以內仍有部分功能不可用,嚴重影響其業務和成千上萬使用 Linode 服務的用戶。html
什麼是 DDoS 攻擊?node
DDoS,即分佈式拒絕服務(Distributed Denial of Service)攻擊,指藉助於客戶/服務器技術,將多個計算機聯合起來做爲攻擊平臺,對一個或多個目標發動攻擊,從而成倍地提升拒絕服務攻擊的威力。緩存
DDoS 的攻擊方式有不少種,最基本的 DDoS 攻擊就是利用合理的服務請求來佔用過多的服務資源,從而使合法用戶沒法獲得服務的響應。單一的 DoS 攻擊通常是採用一對一方式,當攻擊目標 CPU 速度低、內存小或者網絡帶寬小等各項指標值不高時,它的效果是明顯的。隨着計算機與網絡技術的發展,計算機的處理能力迅速增加,內存大大增長,同時也出現了千兆級別的網絡,這使得 DoS 攻擊的困難程度加大了——目標對惡意攻擊包的消化能力增強了很多。這時候分佈式的拒絕服務攻擊手段(DDoS)就應運而生。DDoS 就是利用更多的傀儡機來發起進攻,以比從前更大的規模來進攻受害者。安全
據統計,2015 年針對企業的 DDoS 攻擊持續增加,根據 Akamai 的調查報告,2015 年 DDoS 攻擊增加了前所未有的 180% !對於本次事件的 Linode 來講,早在 2013 年,Linode 就曾受到過大規模的 DDoS 攻擊。面對 DDoS 這樣的週期性挑釁,咱們應該找出被攻擊的緣由,創建有效的防護體系來抵禦攻擊。服務器
防止 DDoS 攻擊的方式網絡
1.減小公開暴露負載均衡
以前曝光的的 Booter 網站或者是臭名昭著的 LizardSquad 旗下站 LizardStresser,都提供付費 DDoS 攻擊某一目標的服務,並且這些網站都會將攻擊假裝成合法的載入測試來進行攻擊。這個黑客組織在 2014 年的聖誕節期間利用 DDoS 攻擊了微軟的 Xbox Live 和索尼的 PSN 網絡,令許多玩家很長時間沒法正常娛樂。分佈式
對於企業來講,減小公開暴露是防護 DDoS 攻擊的有效方式,對 PSN 網絡設置安全羣組和私有網絡,及時關閉沒必要要的服務等方式,可以有效防護網絡黑客對於系統的窺探和入侵。具體措施包括禁止對主機的非開放服務的訪問,限制同時打開的 SYN 最大鏈接數,限制特定 IP 地址的訪問,啓用防火牆的防 DDoS 的屬性等。性能
(圖片來源:OneRASP)測試
2.利用擴展和冗餘
DDoS 攻擊針對不一樣協議層有不一樣的攻擊方式,所以咱們必須採起多重防禦措施。利用擴展和冗餘能夠防患於未然,保證系統具備必定的彈性和可擴展性,確保在 DDoS 攻擊期間能夠按需使用,尤爲是系統在多個地理區域同時運行的狀況下。任何運行在雲中的虛擬機實例都須要保證網絡資源可用。
微軟針對全部的 Azure 提供了域名系統(DNS)和網絡負載均衡,Rackspace 提供了控制流量流的專屬雲負載均衡。結合 CDN 系統經過多個節點分散流量,避免流量過分集中,還能作到按需緩存,使系統不易遭受 DDoS 攻擊。
3.充足的網絡帶寬保證
網絡帶寬直接決定了能抗受攻擊的能力,倘若僅僅有 10M 帶寬的話,不管採起什麼措施都很難對抗當今的 SYNFlood 攻擊,至少要選擇 100M 的共享帶寬,最好的固然是掛在1000M 的主幹上了。但須要注意的是,主機上的網卡是 1000M 的並不意味着它的網絡帶寬就是千兆的,若把它接在 100M 的交換機上,它的實際帶寬不會超過 100M,再就是接在 100M 的帶寬上也不等於就有了百兆的帶寬,由於網絡服務商極可能會在交換機上限制實際帶寬爲 10M,這點必定要搞清楚。
4.分佈式服務拒絕 DDoS 攻擊
所謂分佈式資源共享服務器就是指數據和程序能夠不位於一個服務器上,而是分散到多個服務器。分佈式有利於任務在整個計算機系統上進行分配與優化,克服了傳統集中式系統會致使中心主機資源緊張與響應瓶頸的缺陷,分佈式數據中心規模越大,越有可能分散 DDoS 攻擊的流量,防護攻擊也更加容易。
5.實時監控系統性能
除了以上這些措施,對於系統性能的實時監控也是預防 DDoS 攻擊的重要方式。不合理的 DNS 服務器配置也會致使系統易受 DDoS 攻擊,系統監控可以實時監控系統可用性、API、CDN 以及 DNS 等第三方服務商性能,監控網絡節點,清查可能存在的安全隱患,對新出現的漏洞及時進行清理。骨幹節點的計算機由於具備較高的帶寬,是黑客利用的最佳位置,所以對這些主機增強監控是很是重要的。
另外,經過縮短 SYN 半鏈接的 time out 時間也能有效防止 DDoS 攻擊,系統監控可以經過自主設置的 Time out 閾值發送報警,對系統狀況進行總體的把控。
(圖片來源:Cloud Test)
Cloud Test 是基於雲技術的實時監控系統,可以幫你們實時監控網站性能,監控CDN、DNS、API等第三方服務提供商的可用性,實現應用性能及時監測及時報警。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客。 本文轉自 OneAPM 官方博客