本篇內(nèi)容主要講解“node SSR服務(wù)怎么防范和處理DDos攻擊”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“node SSR服務(wù)怎么防范和處理DDos攻擊”吧!
施甸網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),施甸網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為施甸上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的施甸做網(wǎng)站的公司定做!
舉一個常見的例子,我們的網(wǎng)站,比作一家銀行,正常情況下,銀行最多可以同時處理100個人的業(yè)務(wù),正常你直接走進銀行,取個號,就能被服務(wù)了
突然有個流氓組織想收保護費,銀行不肯給,于是流氓派出3000個人甚至3萬個人同時去取號。過了號繼續(xù)取號。結(jié)果就是導(dǎo)致服務(wù)器處理不過來,大量正??蛻粢恢痹诘却?/p>
這就是 DDOS 攻擊,它在短時間內(nèi)發(fā)起大量請求,耗盡服務(wù)器的資源,無法響應(yīng)正常的訪問,造成網(wǎng)站實質(zhì)下線。
DDOS 不是一種攻擊,而是一大類攻擊的總稱。它有幾十種類型,新的攻擊方法還在不斷發(fā)明出來。網(wǎng)站運行的各個環(huán)節(jié),都可以是攻擊目標。只要把一個環(huán)節(jié)攻破,使得整個流程跑不起來,就達到了癱瘓服務(wù)的目的。
其中,比較常見的一種攻擊是 cc 攻擊。CC攻擊就是針對網(wǎng)頁來攻擊的,CC攻擊本身是正常請求,網(wǎng)站動態(tài)頁面的正常請求也會和數(shù)據(jù)庫進行交互的,當這種"正常請求"達到一種程度的時候,服務(wù)器就會響應(yīng)不過來,從而崩潰。
先了解一個請求打進來到我們服務(wù)之間的路徑
業(yè)務(wù)服務(wù)集群作為服務(wù)鏈路的底層和核心資產(chǎn),完備的上層防護是非常重要的
將惡意流量攔截在外層后,業(yè)務(wù)集群就不用頻繁運維(擴縮容,限流等),降低運維成本
業(yè)務(wù)集群也無需額外準備過多的資源應(yīng)該攻擊流量,節(jié)約成本
具備很好的通用性,容易移植到其他服務(wù),帶來穩(wěn)定性收益
防范的手段也按這個順序介紹
接入cdn層
nginx限流
接入WAF防火墻
其他防護層
提高源站的處理能力。
針對SSR服務(wù),有2個建議
讓ssr服務(wù)只處理根HTML的返回,其他的所有資源都要放到CDN上去
當攻擊來臨時,臨時把SSR的降級到CSR
CDN層會在最外層,方便緊急時刻,開啟CDN緩存,或開啟CDN付費項目來保護內(nèi)部其他服務(wù)的安全。舉個例:
比如百萬,千萬級別或更大的瞬時流量打進來,有可能把負載均衡層給打掛了,這樣會影響整個公司的業(yè)務(wù),就不僅僅是被攻擊的那個服務(wù)了
CDN的防護能力有:CDN緩存,Robot檢測,ip信譽庫,構(gòu)建自定義防護規(guī)則集(結(jié)合歷史的攻擊特征和業(yè)務(wù)形態(tài)) 等 (按付費等級開啟)
另外提一嘴(個人觀點),CDN廠商在全球有數(shù)不清的服務(wù)器,大的CDN廠商幾乎能低于一切攻擊,而且還會按保護等級收費(保護費)。我個人覺得,一些攻擊很可能就是CDN廠商勾結(jié)黑產(chǎn)做的,相當于流氓收保護費,不交保護費,就砸店(攻擊),讓你知道痛了,然后乖乖買CDN保護服務(wù)。而且能發(fā)動千萬級別以上的QPS,除了CDN廠商(本身就有超多服務(wù)器),普通人應(yīng)該很難
這兩個放在一塊講吧,也是偏向于運維層面,是公司級別的基建,具體的接入方式 和 具體配置 公司之間各有差異。也就不展開講了
nginx限流是什么?
可以自行搜索
總結(jié)一下WAF層,會通過預(yù)置豐富的信譽庫,對惡意掃描器、IP、網(wǎng)馬等威脅進行檢測和攔截
全面的攻擊防護:支持SQL注入、XSS跨站腳本、文件包含、目錄遍歷、敏感文件訪問、命令\代碼注入、網(wǎng)頁木馬上傳、第三方漏洞攻擊等威脅檢測和攔截。
人機識別
接口限速,WAF可以根據(jù)IP或cookie設(shè)置靈活的限速策略
基于豐富的字段和邏輯條件組合,精準控制
支持豐富的字段條件:基于IP、URL、Referer、User-Agent、Params等HTTP常見參數(shù)和字段的條件組合。
支持多種條件邏輯:支持包含、不包含、等于、不等于、前綴等于、前綴不等于等邏輯條件,設(shè)置阻斷或放行策略。
不同的公司,對應(yīng)不同的業(yè)務(wù)及自身的特點,可能還會有其他的防護層,比如針對單實例還有過載保護(判斷當前服務(wù)狀況是否過載,然后根據(jù)流量的優(yōu)先級會動態(tài)的丟棄掉一些低優(yōu)先級的請求,盡可能保證服務(wù)的正常運轉(zhuǎn))
此處還有很多種防護層,有興趣可以額外再去了解
打鐵還需自身硬
這個很好理解,提高服務(wù)的處理能力,自然能承接更多的流量
針對SSR服務(wù),有以下幾個建議
對于ssr服務(wù),這里給一個很重要的建議
讓ssr服務(wù)只處理根HTML的返回,其他的所有資源都要放到CDN上去
這里直接以juejin舉例子就很好理解了,我們可以從下圖看到,juejin本身也是SSR服務(wù),源站只處理了根HTML,其他所有資源(js,css,圖片,字體等)都是放在CDN上的。 這樣做的目的也是為了提高源站的處理能力,讓CDN承擔了很多壓力
SSR渲染時,是比較耗費CPU計算的(需要編譯和解析生成HTML),所以ssr服務(wù)的QPS能力都不高。面對攻擊時很容易被打掛
解決辦法:臨時把SSR的降級到CSR
怎么做SSR的降級?
降級為CSR(客戶端渲染),這樣就不用再服務(wù)端生成復(fù)雜的HTML了,只需返回簡單的HTML。
CSR 就是單頁應(yīng)用,舉個最簡的例子就是 ui組件庫,下圖也可以看到,這個HTML十分簡單,是靜態(tài)的,返回這個靜態(tài)的HTML不用怎么消耗服務(wù)端資源
并且還可以將根HTML文件,緩存在內(nèi)存中,這樣可以讓服務(wù)端的處理能力提升幾十甚至上百倍
6. 其他
例如可能還有彈性擴縮容能力,這個只能抵御小流量攻擊
都已經(jīng)被攻擊,服務(wù)開始很緩慢了,甚至直接被打掛了,這時候做代碼層的優(yōu)化已經(jīng)來不及了,只能做一些運維層的配置
只能應(yīng)對小流量的攻擊
這個有點涉及商業(yè)秘密... 不太敢寫,有興趣的朋友可以自行搜索,或問一下公司運維
反正有一點,是我猜的。一般乖乖給CDN交錢后,后面可能就沒攻擊進來了,即使有,也可能只是些小流量,且好防護的攻擊
ssr服務(wù),如果平常訪問的時候,沒有開啟CDN緩存的話,被攻擊時,可以臨時打開CDN緩存。
到此,相信大家對“node SSR服務(wù)怎么防范和處理DDos攻擊”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!