首頁 > web前端 > js教程 > 主體

DDos攻擊是什麼? node SSR服務如何防範和處理攻擊?

青灯夜游
發布: 2022-10-17 20:12:54
轉載
1292 人瀏覽過

什麼是DDos攻擊? node SSR服務如何防範和處理DDos攻擊?以下這篇文章帶大家了解DDos攻擊,並介紹一下node SSR服務防範和處理DDos攻擊的方法,希望對大家有幫助!

DDos攻擊是什麼? node SSR服務如何防範和處理攻擊?

防範和處理DDos攻擊是穩定性建設中比較重要的一環,如果沒有事先防範好,一但被攻擊後,服務就會陷入不可用狀態,可能會為業務帶來很大的損失

此文會偏向node ssr服務視角,前端開發的同學要多重視這一塊。 【相關教學推薦:nodejs影片教學

DDos攻擊是什麼?

舉一個常見的例子,我們的網站,比喻為一家銀行,正常情況下,銀行最多可以同時處理100個人的業務,正常你直接走進銀行,取個號,就能被服務了

突然有個流氓組織想收保護費,銀行不肯給,於是流氓派出3000個人甚至3萬個人同時去取號。過了號繼續取號。結果就是導致伺服器處理不過來,大量正常客戶一直在等待

這就是DDOS 攻擊,它在短時間內發起大量請求,耗盡伺服器的資源,無法響應正常的訪問,造成網站實質下線。

DDOS 不是一種攻擊,而是一大類攻擊的總稱。它有幾十種類型,新的攻擊方法還在不斷發明。網站運作的各個環節,都可以是攻擊目標。只要把一個環節攻破,使得整個流程跑不起來,就達到了癱瘓服務的目的。

其中,比較常見的一種攻擊是 cc 攻擊。 CC攻擊就是針對網頁來攻擊的,CC攻擊本身是正常請求,網站動態頁面的正常請求也會和資料庫互動的,當這種"正常請求"達到一種程度的時候,伺服器就會響應不過來,從而崩潰。 baike.baidu.com/item/cc�%…

本文以下的內容都是針對 cc 攻擊。

如何防範?

先了解一個請求打進來到我們服務之間的路徑

DDos攻擊是什麼? node SSR服務如何防範和處理攻擊?

業務服務集群作為服務連結的底層和核心資產,完備的上層防護是非常重要的

  • 將惡意流量攔截在外層後,業務集群就不用頻繁運維(擴縮容,限流等),降低維運成本
  • 業務群集也不需要額外準備過多的資源應該攻擊流量,節省成本
  • 具備很好的通用性,容易移植到其他服務,帶來穩定性效益

防範的手段也依這個順序介紹

  • 接取CDN層

  • #nginx限流

  • 存取WAF防火牆

  • 其他防護層

  • 提高源站的處理能力。
    針對SSR服務,有2個建議

    • 讓ssr服務只處理根HTML的返回,其他的所有資源都要放到CDN上去

    • 當攻擊來臨時,暫時把SSR的降級到CSR

1. 接入CDN層

CDN層會在最外層,方便緊急時刻,開啟CDN緩存,或開啟CDN付費項目來保護內部其他服務的安全。舉個例:

  • 例如百萬,千萬等級或更大的瞬時流量打進來,有可能把負載平衡層給打掛了,這樣會影響整個公司的業務,就不僅僅是被攻擊的那個服務了

  • CDN的防護能力有:CDN緩存,Robot檢測,ip信譽庫,構建自定義防護規則集(結合歷史的攻擊特徵與業務形態) 等(以付費等級開啟)

  • 另外提一嘴(個人觀點),CDN廠商在全球有數不清的伺服器,大的CDN廠商幾乎能低於一切攻擊,而且還會依保護等級收費(保護費)。我個人覺得,有些攻擊很可能就是CDN廠商勾結黑產做的,相當於流氓收保護費,不繳保護費,就砸店(攻擊),讓你知道痛了,然後乖乖買CDN保護服務。而且能發動千萬等級以​​上的QPS,除了CDN廠商(本身就有超多伺服器),一般人應該很難

DDos攻擊是什麼? node SSR服務如何防範和處理攻擊?

2. nginx限流

3. 存取WAF防火牆

這兩個放在一塊講吧,也是偏向於維運層面,是公司層級的基建,具體的接取方式和具體配置公司之間各有差異。也就不展開講了

nginx限流是什麼?

  • 可以自行搜尋

WAF防火牆是什麼?

來總結WAF層,會透過預置豐富的信譽函式庫,對惡意掃描器、IP、網馬等威脅進行偵測與攔截

  • #全面的攻擊防護:支援SQL注入、XSS跨站腳本、檔案包含、目錄遍歷、敏感檔案存取、命令\程式碼注入、網頁木馬上傳、第三方漏洞攻擊等威脅偵測和攔截。

  • 人機辨識

  • 介面限速,WAF可以依照IP或cookie設定靈活的限速策略

  • 基於豐富的欄位和邏輯條件組合,精準控制

    • 支援豐富的欄位條件:基於IP、URL、Referer、User-Agent、Params等HTTP常見參數和欄位的條件組合。
    • 支援多種條件邏輯:支援包含、不包含、等於、不等於、前綴等於、前綴不等於等邏輯條件,設定阻斷或放行策略。

4.  其他防護層

不同的公司,對應不同的業務及自身的特點,可能還會有其他的防護層,例如針對單一實例還有過載保護(判斷目前服務狀況是否過載,然後根據流量的優先權會動態的丟棄掉一些低優先權的請求,盡可能保證服務的正常運轉)

這裡還有很多種防護層,有興趣可以額外再去了解

5. 提升源站的處理能力

打鐵還需自身硬  DDos攻擊是什麼? node SSR服務如何防範和處理攻擊?

這個很好理解,提高服務的處理能力,自然能承接更多的流量

針對SSR服務,有以下幾個建議

#建議一:讓ssr服務只處理根HTML的返回,其他的所有資源都要放到CDN上去

對於ssr服務,這裡給一個很重要的建議

  • 讓ssr服務只處理根HTML的返回,其他的所有資源都要放到CDN上去

  • 這裡直接以juejin舉例子就很好理解了,我們可以從下圖看到,juejin本身也是SSR服務,源站只處理了根HTML,其他所有資源(js,css,圖片,字體等)都是放在CDN上的。 這樣做的目的也是為了提高源站的處理能力,讓CDN承擔了許多壓力

DDos攻擊是什麼? node SSR服務如何防範和處理攻擊?

建議二:當攻擊來臨時,暫時把SSR的降級到CSR

DDos攻擊是什麼? node SSR服務如何防範和處理攻擊?

#SSR渲染時,是比較耗費CPU計算的(需要編譯解析產生HTML) ,所以ssr服務的QPS能力都不高。面對攻擊時很容易被打掛

解決方法:臨時把SSR的降級到CSR

怎麼做SSR的降級?

  • 降級為CSR(客戶端渲染),這樣就不用再服務端產生複雜的HTML了,只要回傳簡單的HTML。

    CSR 就是單頁應用,舉個最簡的例子就是ui元件庫,下圖也可以看到,這個HTML十分簡單,是靜態的,回傳這個靜態的HTML不用怎麼消耗服務端資源

DDos攻擊是什麼? node SSR服務如何防範和處理攻擊?

  • 並且還可以將根HTML文件,快取在記憶體中,這樣可以讓服務端的處理能力提升幾十甚至上百倍

具體如何實現SSR降級,我會在後面的文章裡寫一下

6. 其他

例如可能還有彈性擴縮容能力,這個只能抵禦小流量攻擊

#被攻擊後如何緊急處理?

都已經被攻擊,服務開始很緩慢了,甚至直接被打掛了,這時候做程式碼層的優化已經來不及了,只能做一些維運層的設定

我這邊主要列以下3點,歡迎補充

  • 擴容

  • 升級防護策略

  • 開啟CDN快取

#1. 擴充功能

只能應付小流量的攻擊

2. 升級防護策略

這個有點涉及商業機密... 不太敢寫,有興趣的朋友可以自行搜索,或問一下公司運維

反正有一點,是我猜的。一般乖乖給CDN付錢後,後面可能就沒攻擊進來了,即使有,也可能只是些小流量,且好防護的攻擊

3. 開啟CDN快取

ssr服務,如果平常造訪的時候,沒有開啟CDN快取的話,被攻擊時,可以暫時開啟CDN快取。

總結

  • 防範措施要越早做越好,別被攻擊後,才開始做,因為可能已經造成很多損失了

  • 只有前面的該做的做了,該接的接了,等到真正被攻擊的時候,才有操作配置的空間,否則只能向上帝祈禱攻擊快點停止...  或只能被動接受敲詐勒索

安全無小事,願世界和平

更多node相關知識,請造訪:nodejs 教程

以上是DDos攻擊是什麼? node SSR服務如何防範和處理攻擊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:juejin.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!