全國服務熱線:
0791-88196636

嘉興網站設計:網站建設知識之網站如何高效防御來自外部的DDOS攻擊

 二維碼 69127
發表時間:2020-12-16 09:55作者:嘉興網站設計來源:南昌莫非網絡科技公司網址:http://m.lwdongzao.com

嘉興網站設計:網站建設知識之網站如何高效防御來自外部的DDOS攻擊。

在前幾天,我們公司旗下子公司運營的某門戶網站遭受了一次ddos攻擊,我們的那個網站是一個公益性質的站點,為各個廠商之間搭建一個平臺以傳遞安全問題等信息,我們并不清楚因為什么會遭遇這種無恥黑客的攻擊。因為我們本身并不從事這種類型的攻擊,這種攻擊技術一般也是比較粗糙的,所以討論得比較少,但是既然發生了這樣的攻擊我們覺得分享攻擊發生后我們在這個過程中學到的東西,以及針對這種攻擊我們的想法及經過這次攻擊產生真正的價值,而并不是這樣的攻擊僅僅浪費大家的時間而已。下面進入正題。。。

我們發現大型的企業都有遭受攻擊的案例,但是大家遭受攻擊之后的應對措施及學到的經驗卻分享都比較少,這導致各家都是自行的摸索經驗,依然停留在一家企業對抗整個互聯網的攻擊的局面,而對于攻擊者卻是此次攻擊針對你,下次攻擊卻是針對他了,而且攻擊之后無論是技術還是資源都沒有任何的損耗,這也是導致這種攻擊頻繁并且肆無忌憚的原因。

對此南昌莫非傳媒小編認為我們應該來嘗試做一些改變:

常見ddos攻擊及防御

ddos的全稱是分布式拒絕服務攻擊,既然是拒絕服務一定是因為某些原因而停止服務的,其中最重要的也是最常用的原因就是利用服務端方面資源的有限性,這種服務端的資源范圍很廣,可以簡單的梳理一個請求正常完成的過程:

1、用戶在客戶端瀏覽器輸入請求的地址。

2、瀏覽器解析該請求,包括分析其中的dns以明確需要到達的遠程服務器地址。

3、明確地址后瀏覽器和服務器的服務嘗試建立連接,嘗試建立連接的數據包通過本地網絡,中間路由最終艱苦到達目標網絡再到達目標服務器。

4、網絡連接建立完成之后瀏覽器根據請求建立不同的數據包并且將數據包發送到服務器某個端口。

5、端口映射到進程,進程接受到數據包之后進行內部的解析。

6、請求服務器內部的各種不同的資源,包括后端的API以及一些數據庫或者文件等。

7、在邏輯處理完成之后數據包按照之前建立的通道返回到用戶瀏覽器,瀏覽器完成解析,請求完成。

上面各個點都可以被用來進行ddos攻擊,包括:

1、某些客戶端劫持病毒,還記得訪問百度跳搜狗的事情么?

2、某個大型互聯網公司發生的dns劫持事件,或者直接大量的dns請求直接攻擊dns服務器,這里可以使用一些專業的第三方dns服務來緩解這個問題,如Dnspod。

3、利用建立網絡連接需要的網絡資源攻擊服務器帶寬使得正常數據包無法到達如udp的洪水攻擊,消耗前端設備的cpu資源以使得數據包不能有效轉發如icmp和一些碎片包的洪水攻擊,消耗服務器方建立正常連接需要的資源如syn flood或者就是占用大量的連接使得正常的連接無法發起,譬如這次的TCP flood。

4、利用webserver的一些特點進行攻擊,相比nginx來說,apache處理一個請求的過程就比較笨重。

5、利用應用程序內部的一些特性攻擊程序內部的資源如mysql,后端消耗資源大的接口等等,這也就是傳統意義上的CC攻擊。

這里涉及到攻防的概念,但是實際上如果了解對方的攻擊點和攻擊手法,防御會變成簡單的一個拼資源的過程,應該從最合適的地方入手把問題解決掉,譬如在路由器等設備上解決應用層攻擊就不是一個好的辦法,同理,在應用層嘗試解決網絡層的問題也是不可能的,簡單來說,目標是只讓正常的數據和請求進入到我們的服務,一個完善的防御體系應該考慮如下幾個層面:

1、作為用戶請求的入口,必須有良好的dns防御

2、與你的價值相匹配的帶寬資源,并且在核心節點上布置好應用層的防御策略,只允許你的正常應用的網絡數據包能夠進入,譬如封殺除了80以外的所有數據包

3、有支持你的服務價值的機器集群來抵抗應用層的壓力,有必要的話需要將一個http請求繼續分解,將連接建立的過程壓力分解到其他的集群里,這里似乎已經有一般的硬件防火墻能做這個事情,甚至將正常的http請求解析過程都進行分解,保證到達后端的是正常的請求,剔除掉畸形的請求,將正常的請求的請求頻度等行為進行記錄和監控,一旦發生異常就在這里進行應用層的封殺。

在攻擊發生后,**個現象是我們的網站上不去了,但是依然可以訪問到管理界面,我們登陸上去簡單執行了命令:

netstat -antp

我們看到有大量的鏈接存在著,并且都是ESTABLISHED狀態,正常狀態下我們的網站訪問量沒有這么高,對于這樣的情況其實處理就比較簡單,這是一次四層的攻擊,也就是所有ip都是真實的,由于目前為止只是消耗了webserver的網絡連接資源,所以我們只需要簡單的將這些ip在網絡層封禁就可以,很簡單,用下面的命令即可:

for i in `netstat -an | grep -i ‘:80 ‘|grep ‘EST’ | awk ‘{print $5}’ | cut -d : -f 1 | sort | uniq -c | awk ‘{if($1 > 50) {print $2}}’`

echo $i

echo $i >> /tmp/banip

/sbin/iptables -A INPUT -p tcp -j DROP -s $i

done

然后作為計劃任務一分鐘執行一次即可,很快,iptables的封禁列表就充斥了大量的封禁ip,我們簡單的統計了下連接數**的一些ip發現都來自韓國。為了保證系統的性能,我們調大了系統的可接受的連接數以及對Nginx進行了每個連接能夠進行的請求速率,系統于是恢復了正常的運行。

正常狀態一直持續到第二天,但是到中午之后我們發現訪問又出現了問題,網絡很慢,使用ping發現大概出現了70%左右的丟包,在艱難的登陸到系統上之后,發現系統已經很少有TCP的正常連接,為了查明原因,我們對系統進行了抓包:

tcpdump -w tmp.pcap port not 22

tcpdump -r tmp.pcap -nnA

我們發現攻擊已經從應用層的攻擊調整到了網絡層的攻擊,大量的目標端口是80的udp和icmp包以極快的速度充滿了網絡,一個包大小大概在1k左右,這次占據的資源純粹是帶寬資源了,即使在系統上做限制也解決不了這個問題,不過也沒有關系,對于網絡層的問題我們可以在網絡層上做限制,我們只需要在網絡上把到達我們ip的非TCP的所有包如UDP和ICMP等協議都禁止掉即可,但是我們沒有自己的服務器也缺乏對網絡設備的控制權,目前是由工信部CERT提供支持的,由于臨時無法協調進行相應的操作,后果如大家看到,我們的服務很慢,基本上停止了服務,在一段時間之后攻擊者停止了攻擊,服務才進行了恢復,很憋屈是么?但是同時我們得到了很多熱心朋友的幫助,得到了更好的網絡和服務器資源,在網絡資源方面的能力得到了很大的提升,緩解了這方面的問題,這里對他們表示感謝。

根源及反擊

我困惑的是一點,攻擊我們并不能得到實際的好處為什么還是有人來攻擊,而且聽說其他公司都有被攻擊的情況,我覺得有一點原因就是攻擊我們的確得不到什么好處,但是實際上攻擊者也并不損失什么,無論是資源上還是法律風險上,他不會因為一次攻擊而損失太多,而相比之下,服務提供者損失的東西卻太多了,這從經濟學角度來講就是不平衡的,我們處于弱勢。

一般而言,的確對于作惡者是沒有什么懲罰措施,但是這次,我們覺得我們是可以做一些事情的,我們嘗試挖掘背后的攻擊者,甚至清除這個僵尸網絡。

首先這次攻擊起源于應用層的攻擊,所以所有的ip都是真實的,經過與CERT溝通,也發現這些ip都是韓國的,并且控制端不在國內,因為期間沒有與國內有過通訊,即使在后面換成了udp+icmp的flood,但是依然是那些韓國的ip,這很有意思,正常情況下udp+icmp的數據包是可以偽造的,但是這里居然沒有偽造,這在后面大概被我們證實了原因。

這些ip是真實存在的ip,而且這些ip肯定在攻擊完我們之后一定依然跟攻擊者保持著聯系,而一般的聯系方式因為需要控制的方便都是dns域名,既然如此,如果我們能挖掘到這個dns域名我們就可能間接的挖掘出真正幕后黑手在哪里。首先,我們迅速的找出了這次攻擊ip中開放了80端口的機器,因為我們對80端口上的安全問題比較自信,應該很快可以獲知這些ip背后的細節(80sec名稱由來),我們發現大部分是一些路由器和一些web的vpn設備,我們猜測這次攻擊的主要是韓國的個人用戶,而個人用戶的機器操作系統一般是windows所以在較高版本上發送數據包方面可能有著比較大的限制,這也解釋了為什么即使是udp+icmp的攻擊我們看到的大都是真實ip。發現這些路由設備之后我們嘗試深入得更多,很快用一些弱口令譬如admin/admin登陸進去,果然全世界的網民都一樣,admin/admin是天生的入口。

登陸進去一些路由之后我們發現這些路由器里面存在一個功能是設置自己的dns,這意味著這下面的所有dns請求都可以被定向到我們自己設置的dns服務器,這對于我們去了解內部網絡的細節會很有用,于是我們建立了一個自己的dns服務器,并且開啟了dns請求的日志功能以記錄所有請求的細節。我們大約控制了20臺路由器的dns指向,并且都成功重定向到我們自己的服務器。

剩下的就是簡單的數據分析,在這值錢我們可以對僵尸網絡的控制域名做如下的猜測:

1、這個dns應該為了靈活的控制域名的緩存時間TTL一般不會特別長

2、這個dns應該是定期的被請求,所以會在dns請求里有較大的出現比例

3、這個dns應該是為了控制而存在的,所以域名不應該在搜索引擎以及其他地方獲得較高的訪問指數,這與2中的規則配合起來會比較好確定,是一個天生的矛盾。

4、這個dns應該在各個路由下面都會被請求

每個公司都有自己對自己價值的評估從而決定安全投入上的大小,每一次攻擊也會涉及到利益的存在,正如防御因為種種原因譬如投入上的不足和實施過程中的不**,有著天生的弱點一樣,攻擊也是有著天生的弱點的,因為每一次攻擊涉及到不同的環節,每個環節都可能由不同水平的人完成,他所擁有的資源,他使用的工具和技術都不會是**的,所以才有可能進行防御,另外,我相信進行DDOS攻擊的人是一個固定的行業,會有一些固定的人群,對于其中使用的技術,工具,資源和利益鏈都是比較固定的,與之相對的是各個企業卻缺乏相應的溝通,以個人企業對抗一個產業自然是比較困難,而如果每一個企業都能將自己遭受攻擊時的經驗分享出來,包括僵尸網絡的大小及IP分布,攻擊工具的特征,甚至有能力的可以去分析背后的利益點及操作者,那么每一次攻擊都能讓大家的整體防御能力上升,讓攻擊者的攻擊能力有損失,我們很愿意來做這個事情。

南昌莫非網絡科技公司總結:正如一個朋友所講的,所有的防御是不**的正如攻擊是不**的一樣,好的防御者在提升自己的防御能力趨于**的同時也要善于尋找攻擊者的不**,尋找一次攻擊中的漏洞,不要對攻擊心生恐懼,對于Ddos攻擊而言,發起一次攻擊一樣是存在漏洞的,如果我們都能夠擅長利用其中的漏洞并且抓住后面的攻擊者那么相信以后的ddos攻擊案例將會減少很多,在針對目標發起攻擊之前攻擊者也會做更多的權衡,損失,利益和法律。

企業新聞
關于南昌莫非網絡科技公司2022年元旦放假安排通知.元旦:1月1日(星期六)至1月3號(星期一)放假,共計三天(無調休),1月4日(星期二)上班。
關于南昌莫非網絡科技公司2021年國慶節放假安排通知。根據《國務院辦公廳關于2021年部分節假日安排的通知》(國辦發明電〔2020〕27號),結合我單位工作實際情況,現就2021年國慶放假的有關事項安排如下。
南昌莫非網絡科技公司2021年中秋節放假通知.一、假期從:2021年09月19日到2021年09月21日結束,假期共3天(9月18日正常上班,9月26日正常休息)。二、如有緊急情況,請各位同仁及時配合相關部門主管人員把事情處理妥善。做好防火、防盜工作并督促各部門關好辦公區域的門、窗等。
根據《國務院辦公廳關于2021年部分節假日安排的通知》(國辦發明電〔2020〕27號),結合我單位工作實際情況,現就2021年端午節放假的有關事項安排如下:一、放假時間:2021年6月12日(星期六)至2021年6月14日(星期一),共放假3天。
南昌莫非網絡科技公司2021年五一勞動節放假通知.現就2021年五一勞動節放假的有關事項安排如下:一、放假時間,2021年5月1日(星期六)至2020年5月5日(星期三),共放假5天。4月25日(星期日)上班,5月6日(星期四)正常上班。
南昌莫非網絡科技公司2021年清明節放假通知.2021年4月3日(星期六)-2021年4月5日(星期一)放假,共3天。4月6日(星期二)正常上班。放假期間,各項業務照常運行,售后問題您可以直接相關負責人提交服務單,技術人員將在12小時之內處理。
關于南昌莫非網絡科技公司2021年春節放假安排通知.一、春節放假時間:2021年2月5日(農歷臘月二十四)至2021年2月18日(農歷正月初七)放假,共13天,2月19日(星期五)開始上班,2月21日星期日(農歷正月初十)恢復正常上班。由于疫情,假期時間可能會有所變化,具體以通知為準。
關于南昌莫非網絡科技公司2021年01月01日元旦放假通知。一、放假時間:2021年1月1日(星期五)至2021年1月3日(星期日)放假,共3天;2021年1月4日(星期一)正常上班。公司放假期間如有相關業務及服務事宜敬請撥打我司24小時服務熱線:0791-8819-6636或咨詢客服QQ:2401077293,可隨時與我司進行聯系。
南昌莫非網絡科技公司2020年中秋節+國慶節放假通知。根據《國務院辦公廳關于2020年部分節假日安排的通知》,為了讓大家度過一個充實、平安的假期,現把2020年中秋國慶放假時間及溫馨提示通知如下!
南昌莫非網絡科技公司2020年五一放假通知.在過去的歲月里,南昌莫非網絡科技公司與新老客戶一直保持著愉快的合作,這離不開大家的鼎立支持和幫助。在未來的日子里還需要更多朋友們的支持與幫助,希望你們能始終如一的支持南昌莫非網絡科技,并提出您寶貴的意見及建議。
南昌莫非網絡科技公司2020年春節寒假放假安排通知。南昌莫非網絡科技公司提前祝全國合作伙伴新春快樂、闔家幸福!預祝全體員工春節快樂!
南昌莫非網絡科技公司2020年元旦節放假安排通知.元旦將至,南昌莫非網絡科技公司預祝全體員工元旦快樂!現將2020年元旦節放假安排通告如下:一、放假時間:2020年1月1日,共1天。
網站建設行業方案
網站維護知識
網站制作常見問題
SEO網站優化教程
踏上云端,轉型升級融入互聯網時代,現在就聯系我們吧!
——      我們時刻為你提供更多優質互聯網技術服務      ——
姓名:
*
聯系方式:
*
咨詢項目:
內容:
*
在線留言
關于我們:南昌莫非文化傳媒有限公司(簡稱:莫非傳媒)專注于網站建設,網站SEO優化,小程序制作。提供全方位用戶體驗規劃,品牌形象設計服務。為每一位企業客戶的成長、騰飛助力!        網站建設、網站設計、網站制作、網站開發,就選網站建設公司-南昌莫非傳媒!
掃一掃微信便捷交流
|
|
|
|
|
|
|
|
|
|
|
|
|
地址:江西省南昌市西湖區洪城路6號國貿廣場A座巨豪峰
業務咨詢  :  
272482065
售后服務 :
2401077293
服務熱線:
0791-88196636
______________________________________________________________________________________________________________________________________________________________________________________________________