如何防止DDos攻擊的一些個人經驗

2021-10-08 16:33:10 字數 1494 閱讀 8585

ddos(distributed denial of service)即分布式拒絕服務。ddos攻擊是指攻擊者通過控制大量的殭屍主機,向被攻擊目標傳送大量精心構造的攻擊報文,造成被攻擊者所在網路的鏈路擁塞、系統資源耗盡,從而使被攻擊者產生拒絕向正常使用者的請求提供服務的效果。可能不少朋友的公司都遭遇過大大小小的這類攻擊,導致**不少時間內都瀕臨崩潰無法訪問,上面被老闆催,下面被客戶質疑,但一時半會又搞不定的囧境,關鍵還是公司沒運維,沒其他人背鍋,只能自己團隊解決了

之前公司也遇到這種情況,總結一下我們當時是怎麼做的。

(一) 不斷的重啟伺服器

只能說是上面領導催促無奈中的舉措了(大概他們覺得這是你敲幾下鍵盤就能搞定的事情),一開始大量的流量導致伺服器宕機,只好暫時重啟,但是重啟之後不久又重新宕機,在沒找到解決問題的方案的時候,也只能派人守著隨時和運營商溝通和重啟伺服器。

我們採取的伺服器架構是一台nginx伺服器(含靜態檔案**和少量php**)+後端伺服器(存放應用**)+資料庫伺服器。經常宕機的主要是資料庫伺服器,偶爾是nginx負載均衡伺服器。

(二)開啟iptables防禦

一開始我們是分析access.log,統計訪問量最高的50個ip,在nginx裡面禁止訪問,防止訪問進入到應用**層

但過不了多久,伺服器也一樣崩潰,因為ddos攻擊是會一直偽造ip發起攻擊,所以效果不大,而且黑名單ip過多,也會影響其他使用者訪問速度。後來我們發現linux的iptables也有類似效果

這也是偶然發現的乙個方法,能抵禦輕量級的ddos方法,這裡直接發一篇引用文章

iptables防ddos攻擊和cc攻擊設定

(三)提高伺服器效能

可能我們針對的ddos攻擊是小規模,也或許對手暫時吃午飯去了,所以**崩潰現象暫時就緩下來了。為了防止今後更大規模的,我們做了伺服器的優化,首先因為經常崩潰的是資料庫伺服器,我們將資料庫伺服器的硬體配置公升級了(主要針對cpu),同時新增了一台備用的資料庫伺服器,打算做主從分離。(這裡應該花了不少錢,也不知道我們經理是如何說服摳門老闆的)。接著就是做伺服器優化,將nginx伺服器的所有**都遷出,nginx伺服器主要做負載均衡,**全部放到應用伺服器。一些靜態資源(主要是),準備上個cdn(也不知道經理有如何說服老闆了),減輕伺服器壓力。**層面,一些前台展示頁面,能做靜態快取的,全部做成靜態快取;我們屬於門戶類**,一些動態頁面,例如根據不同條件查詢分類列表不能做成靜態的,就準備構建個搜尋引擎,減輕資料庫壓力。這部分其實和ddos不是很大關係了,主要是針對自身專案結構設計、**邏輯的優化。

(四)購買運營商的ddos防護

伺服器被ddos攻擊 分析如何防止DDOS攻擊

上週知名博主阮一峰的部落格被ddos攻擊,導致 無法訪問而被迫遷移伺服器的事情,引起了廣大的關注及憤慨,包括小編的個人部落格也曾接受過ddos的 洗禮 對此感同身受。所以,本文我們一起來了解下ddos攻擊並分享一些在一定程度範圍內的應對方案。分布式拒絕服務 ddos distributed deni...

一些個人的想法

今天是2016年4月2日,星期六。目前我已經在網際網路行業裡摸爬滾打了三年有餘,加上七年的求學生涯,轉眼一看已經十年了。過去的十年是網際網路行業蓬勃發展的十年,雲計算 資料探勘以及移動網際網路的興起讓我們的生活出現了翻天覆地的變化 在這個遍地充滿機會的時代裡,出現了乙個又乙個的弄潮兒 這是乙個最好的...

PDV的一些個人理解

最近剛剛考完sas base,對這個考試的一大感受就是,只要你理解了pdv,基本上就不成問題。接下來談談我對pdv的理解吧,也算是學習sas的過程中的乙個筆記。sas的執行有兩個階段需要了解,編譯階段 compilation phase 和執行階段 execution phase 編譯階段sas主要...