溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

node SSR服務(wù)怎么防范和處理DDos攻擊

發(fā)布時(shí)間:2023-03-13 16:28:45 來源:億速云 閱讀:120 作者:iii 欄目:web開發(fā)

本篇內(nèi)容主要講解“node SSR服務(wù)怎么防范和處理DDos攻擊”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“node SSR服務(wù)怎么防范和處理DDos攻擊”吧!

DDos攻擊是什么?

舉一個(gè)常見的例子,我們的網(wǎng)站,比作一家銀行,正常情況下,銀行最多可以同時(shí)處理100個(gè)人的業(yè)務(wù),正常你直接走進(jìn)銀行,取個(gè)號,就能被服務(wù)了

突然有個(gè)流氓組織想收保護(hù)費(fèi),銀行不肯給,于是流氓派出3000個(gè)人甚至3萬個(gè)人同時(shí)去取號。過了號繼續(xù)取號。結(jié)果就是導(dǎo)致服務(wù)器處理不過來,大量正??蛻粢恢痹诘却?/p>

這就是 DDOS 攻擊,它在短時(shí)間內(nèi)發(fā)起大量請求,耗盡服務(wù)器的資源,無法響應(yīng)正常的訪問,造成網(wǎng)站實(shí)質(zhì)下線。

DDOS 不是一種攻擊,而是一大類攻擊的總稱。它有幾十種類型,新的攻擊方法還在不斷發(fā)明出來。網(wǎng)站運(yùn)行的各個(gè)環(huán)節(jié),都可以是攻擊目標(biāo)。只要把一個(gè)環(huán)節(jié)攻破,使得整個(gè)流程跑不起來,就達(dá)到了癱瘓服務(wù)的目的。

其中,比較常見的一種攻擊是 cc 攻擊。CC攻擊就是針對網(wǎng)頁來攻擊的,CC攻擊本身是正常請求,網(wǎng)站動態(tài)頁面的正常請求也會和數(shù)據(jù)庫進(jìn)行交互的,當(dāng)這種"正常請求"達(dá)到一種程度的時(shí)候,服務(wù)器就會響應(yīng)不過來,從而崩潰。

如何防范?

先了解一個(gè)請求打進(jìn)來到我們服務(wù)之間的路徑

node SSR服務(wù)怎么防范和處理DDos攻擊

業(yè)務(wù)服務(wù)集群作為服務(wù)鏈路的底層和核心資產(chǎn),完備的上層防護(hù)是非常重要的

  • 將惡意流量攔截在外層后,業(yè)務(wù)集群就不用頻繁運(yùn)維(擴(kuò)縮容,限流等),降低運(yùn)維成本

  • 業(yè)務(wù)集群也無需額外準(zhǔn)備過多的資源應(yīng)該攻擊流量,節(jié)約成本

  • 具備很好的通用性,容易移植到其他服務(wù),帶來穩(wěn)定性收益

防范的手段也按這個(gè)順序介紹

  • 接入CDN

  • nginx限流

  • 接入WAF防火墻

  • 其他防護(hù)層

  • 提高源站的處理能力。
    針對SSR服務(wù),有2個(gè)建議

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

    • 當(dāng)攻擊來臨時(shí),臨時(shí)把SSR的降級到CSR

1. 接入CDN層

CDN層會在最外層,方便緊急時(shí)刻,開啟CDN緩存,或開啟CDN付費(fèi)項(xiàng)目來保護(hù)內(nèi)部其他服務(wù)的安全。舉個(gè)例:

  • 比如百萬,千萬級別或更大的瞬時(shí)流量打進(jìn)來,有可能把負(fù)載均衡層給打掛了,這樣會影響整個(gè)公司的業(yè)務(wù),就不僅僅是被攻擊的那個(gè)服務(wù)了

  • CDN的防護(hù)能力有:CDN緩存,Robot檢測,ip信譽(yù)庫,構(gòu)建自定義防護(hù)規(guī)則集(結(jié)合歷史的攻擊特征和業(yè)務(wù)形態(tài)) 等 (按付費(fèi)等級開啟)

  • 另外提一嘴(個(gè)人觀點(diǎn)),CDN廠商在全球有數(shù)不清的服務(wù)器,大的CDN廠商幾乎能低于一切攻擊,而且還會按保護(hù)等級收費(fèi)(保護(hù)費(fèi))。我個(gè)人覺得,一些攻擊很可能就是CDN廠商勾結(jié)黑產(chǎn)做的,相當(dāng)于流氓收保護(hù)費(fèi),不交保護(hù)費(fèi),就砸店(攻擊),讓你知道痛了,然后乖乖買CDN保護(hù)服務(wù)。而且能發(fā)動千萬級別以上的QPS,除了CDN廠商(本身就有超多服務(wù)器),普通人應(yīng)該很難

2. nginx限流

3. 接入WAF防火墻

這兩個(gè)放在一塊講吧,也是偏向于運(yùn)維層面,是公司級別的基建,具體的接入方式 和 具體配置 公司之間各有差異。也就不展開講了

nginx限流是什么?

  • 可以自行搜索

總結(jié)一下WAF層,會通過預(yù)置豐富的信譽(yù)庫,對惡意掃描器、IP、網(wǎng)馬等威脅進(jìn)行檢測和攔截

  • 全面的攻擊防護(hù):支持SQL注入、XSS跨站腳本、文件包含、目錄遍歷、敏感文件訪問、命令\代碼注入、網(wǎng)頁木馬上傳、第三方漏洞攻擊等威脅檢測和攔截。

  • 人機(jī)識別

  • 接口限速,WAF可以根據(jù)IP或cookie設(shè)置靈活的限速策略

  • 基于豐富的字段和邏輯條件組合,精準(zhǔn)控制

    • 支持豐富的字段條件:基于IP、URL、Referer、User-Agent、Params等HTTP常見參數(shù)和字段的條件組合。

    • 支持多種條件邏輯:支持包含、不包含、等于、不等于、前綴等于、前綴不等于等邏輯條件,設(shè)置阻斷或放行策略。

4.  其他防護(hù)層

不同的公司,對應(yīng)不同的業(yè)務(wù)及自身的特點(diǎn),可能還會有其他的防護(hù)層,比如針對單實(shí)例還有過載保護(hù)(判斷當(dāng)前服務(wù)狀況是否過載,然后根據(jù)流量的優(yōu)先級會動態(tài)的丟棄掉一些低優(yōu)先級的請求,盡可能保證服務(wù)的正常運(yùn)轉(zhuǎn))

此處還有很多種防護(hù)層,有興趣可以額外再去了解

5. 提高源站的處理能力

打鐵還需自身硬  

這個(gè)很好理解,提高服務(wù)的處理能力,自然能承接更多的流量

針對SSR服務(wù),有以下幾個(gè)建議

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

對于ssr服務(wù),這里給一個(gè)很重要的建議

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

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

node SSR服務(wù)怎么防范和處理DDos攻擊

建議二:當(dāng)攻擊來臨時(shí),臨時(shí)把SSR的降級到CSR

SSR渲染時(shí),是比較耗費(fèi)CPU計(jì)算的(需要編譯和解析生成HTML),所以ssr服務(wù)的QPS能力都不高。面對攻擊時(shí)很容易被打掛

解決辦法:臨時(shí)把SSR的降級到CSR

怎么做SSR的降級?

  • 降級為CSR(客戶端渲染),這樣就不用再服務(wù)端生成復(fù)雜的HTML了,只需返回簡單的HTML。

    CSR 就是單頁應(yīng)用,舉個(gè)最簡的例子就是 ui組件庫,下圖也可以看到,這個(gè)HTML十分簡單,是靜態(tài)的,返回這個(gè)靜態(tài)的HTML不用怎么消耗服務(wù)端資源

node SSR服務(wù)怎么防范和處理DDos攻擊

  • 并且還可以將根HTML文件,緩存在內(nèi)存中,這樣可以讓服務(wù)端的處理能力提升幾十甚至上百倍

6. 其他

例如可能還有彈性擴(kuò)縮容能力,這個(gè)只能抵御小流量攻擊

被攻擊后如何緊急處理?

都已經(jīng)被攻擊,服務(wù)開始很緩慢了,甚至直接被打掛了,這時(shí)候做代碼層的優(yōu)化已經(jīng)來不及了,只能做一些運(yùn)維層的配置

1. 擴(kuò)容

只能應(yīng)對小流量的攻擊

2. 升級防護(hù)策略

這個(gè)有點(diǎn)涉及商業(yè)秘密... 不太敢寫,有興趣的朋友可以自行搜索,或問一下公司運(yùn)維

反正有一點(diǎn),是我猜的。一般乖乖給CDN交錢后,后面可能就沒攻擊進(jìn)來了,即使有,也可能只是些小流量,且好防護(hù)的攻擊

3. 開啟CDN緩存

ssr服務(wù),如果平常訪問的時(shí)候,沒有開啟CDN緩存的話,被攻擊時(shí),可以臨時(shí)打開CDN緩存。

到此,相信大家對“node SSR服務(wù)怎么防范和處理DDos攻擊”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI