網站剛上線,就被 DDoS 攻擊炸了!

程序员鱼皮發表於2024-12-03

今天是一個值得紀念的日子,你開啟一罐可樂,看著自己剛剛上線的小網站,洋洋得意。

這是你第一次做的網站,上線之後,網站訪問量突飛猛進;沒過多久,你就拿到了千萬的風投,迎娶了女神,走上了人生巔峰。。。

害,原來是喝醉了啊。。。你發現剛才那一切竟然都是你的幻想!

這時你突然收到了一封郵件:

網站剛上線,就被 DDoS 攻擊炸了!

你:???

網站剛上線,就被 DDoS 攻擊炸了!

雖然你之前就聽說過 DDoS 攻擊,但沒想到這麼快就發生在了自己的頭上。

DDoS(分散式拒絕服務)攻擊是一種透過製造大量惡意流量打向目標伺服器,導致其資源耗盡、服務中斷或無法正常響應使用者請求的網路攻擊方式。

曾經你以為,DDoS 沒什麼可怕的,大不了攻擊時網站不提供服務,攻擊結束後再重啟服務不就好了?

但現實給了你一巴掌,沒想到雲伺服器平臺直接把你的伺服器 封禁了 12 小時 !你脊背有些發涼了:攻擊者只需攻擊幾十秒,竟然就能讓你的伺服器老老實實癱瘓半天。

你不甘心,決定運用你學過的專業知識進行反擊。

網站剛上線,就被 DDoS 攻擊炸了!

你給伺服器程式增加了一個請求 IP 黑白名單,並且能夠對每個 IP 的請求頻率進行統計,只要發現單個 IP 請求過快過多,系統就會自動把該 IP 拉黑,就不用處理該 IP 的請求了。

網站剛上線,就被 DDoS 攻擊炸了!

你信心滿滿,又開始了對未來的幻想。。

結果沒多久,你又收到了同樣的郵件,你的伺服器 IP 又被封堵了!而且這次 封禁了 24 小時

網站剛上線,就被 DDoS 攻擊炸了!

壞了,你意識到自己犯了一個錯誤。DDoS 攻擊根本不需要向你的應用程式傳送惡意請求,而是可以透過直接傳送大量的網路流量(比如 UDP 包、ICMP 請求等)到伺服器,從而消耗伺服器的頻寬和資源。也就是說,攻擊的目標是直接影響伺服器的網路層和傳輸層,不需要經過應用層。

那一瞬間,你發如雨下,突然意識到,自己的後端技術學得再好,有什麼用?DDoS 來了,自己還是沒辦法解決。

不過你不甘心,天將降大任於斯人也,必先苦其心志勞其筋骨,傷其伺服器。。。你繼續搜尋防禦方案,發現 Cloudflare 提供了免費的、號稱不限量的 DDoS 防護服務!於是你滿懷希望地將它接入網站。

之後,有些使用者訪問網站時,就會看到這朵小黃雲,減少了機器請求攻擊:

網站剛上線,就被 DDoS 攻擊炸了!

這下,你長呼了一口氣,讓攻擊者和 Cloudflare 鬥智鬥勇吧~

網站剛上線,就被 DDoS 攻擊炸了!

可沒想到,接下來的幾天,不斷有使用者反映:豬站長啊,你這網站開啟速度也太慢了!

原來免費版本的 Cloudflare 在國內的節點數量有限,要從國外節點載入網站檔案,導致國內使用者訪問速度變慢了。

於是你在網上查了一些攻略,發現有一些開源倉庫確實可以找到國內優選的加速節點,但對網路運營商還是有一定限制,而且誰知道這些節點又能撐多久呢?

網站剛上線,就被 DDoS 攻擊炸了!

正當你猶豫不決時,你又又又又又收到了伺服器封堵的郵件!

你一臉懵逼:不是已經接入 CloudFlare 防護了麼?

等等,攻擊者已經知道了伺服器本身的 IP 地址,完全可以繞過 CloudFlare,直接攻擊到伺服器啊!

這就好比你造了一面牆,但攻擊者直接繞過去:

網站剛上線,就被 DDoS 攻擊炸了!

你有些頭痛了,乾脆一不做二不休,花點兒錢上更好的防護服務?於是你上網搜了一下大公司專業的高防伺服器,發現價格竟然在幾萬 ~ 幾十萬不等!

網站剛上線,就被 DDoS 攻擊炸了!

你看了看自己 “薄如蟬翼” 的錢包,瞬間放棄了這個念頭。

你開始懷疑是不是自己選錯了方向,或者該做的也許並不是去拼防護,而是去做點兒別的事情?

首先,你想到了切換一個平臺作為源站,只要保證伺服器不會因為攻擊而導致長時間封禁,這樣即使被攻擊了也能快速恢復。但是換到哪個平臺呢?這時你想到了你的好朋友魚皮,他曾經也用了一些平臺,比如 Vercel。但你聽說,他當時在 Vercel 上的網站因為被攻擊得太嚴重,直接被平臺封禁了賬號,屬實是老倒黴蛋了。

透過調研,你發現可以使用雲託管之類的容器部署平臺,可以將應用程式部署到多個不同的節點上,被封禁的機率小了很多。

但治根不治本,你想了想,只要保護好自己的源站伺服器 IP 地址不被洩露,是不是就可以了呢?

於是,你更換了個新的伺服器 IP。這次,不直接將網站域名解析到伺服器 IP,而是接入了一個大廠的 CDN 服務,將域名解析到 CDN 服務,再讓 CDN 服務從你的伺服器獲取網站檔案。這樣一來,攻擊者無法直接得到伺服器的 IP 地址,只能看到 CDN 節點的 IP。

網站剛上線,就被 DDoS 攻擊炸了!

CDN 一般是按照流量計費的,不出意外的話,價格比高防可低了太多。

那如果,出意外了呢?

沒過幾天,你發現自己的雲服務賬戶欠費了!

=

原來,攻擊者瘋狂請求你的 CDN 盜刷流量,產生了高額的流量費用。

第一次使用 CDN 的你,根本沒有料到這點。後來,魚皮給你推薦了他寫過的一篇文章 《我被刷幾萬元的血淚經驗。。。》 ,看完後你才意識到:亂用 CDN,錢包兩行淚啊!

這次,你給 CDN 配置了單 IP 訪問頻率限制、最大消耗流量的限制和自動告警,比如 5 分鐘內流量超過 5 G 時,就自動停止 CDN 服務。

網站剛上線,就被 DDoS 攻擊炸了!

這樣一通操作之後,你又恢復了些信心。但沒想到,接下來等待你的,是一場無休止的攻擊迴圈。

攻擊者攻擊了你的 CDN => 觸發 CDN 的用量封頂防護,自動關閉服務 => 你重新開啟 CDN 服務、並且透過 CDN 配置拉黑了之前攻擊者的 IP => 攻擊者又使用新的 IP 攻擊 CDN。。。

網站剛上線,就被 DDoS 攻擊炸了!

你的選擇

你的故事還沒有結束,接下來,你會怎麼做呢?

  • A. 怒砸鉅款,買一年的 DDoS 安全防護

  • B. 關閉網站,不做了

  • C. 找專業人士求助

  • D. 找警察叔叔求助

  • E. 想辦法拉贊助

你的結局

A. 怒砸鉅款,買一年的 DDoS 安全防護

你決定不再 “省小錢,吃大虧”,乾脆砸幾萬塊錢,買一個更加專業的防護服務。你的網站終於在大流量攻擊下依然穩定執行,使用者也穩定增長,但一年後,你的網站只盈利了不到 1 萬,血虧!

B. 關閉網站,不做了

看到 DDoS 攻擊一波又一波地襲來,你雖然無數次嘗試過調整策略,但身心俱疲,最後你決定放棄,關掉這個網站。

雖然稍有不甘,但你意識到,想一個人做好、運營好網站真的太不容易,你也更加理解魚皮曾經的感受,選擇加入魚皮,幫他一起開發 程式設計導航

C. 找專業人士求助

你意識到自己的網路安全知識是缺斤少兩的,於是決定請一位專家來幫你做 DDOS 防護。專家跟你說了很多的專業名詞和理論,什麼零信任架構、IDS、IPS、態勢感知、流量清洗、蜜罐之類的,但最終並沒有給你實質性的幫助,因為你也沒有足夠的資金去實現那些理論。

D. 找警察叔叔求助

你認為攻擊者已經觸犯了法律,於是決定報警。但沒想到,由於你並沒有受到巨大的金額損失,警方表示對此案件的關注度較低。而且 DDoS 攻擊通常是由大量分佈在全球各地的受害主機發起的,很難被追蹤和定位。

你很難過,但也意識到了,這才是現實。

E. 想辦法拉贊助

既然解決不了 DDoS 問題,何不去找找投資者或合作伙伴,拉個 “大力支援” 的贊助?說不定他們會為你提供免費的 DDOS 防護服務呢!

於是,你將網站開源,持續寫文章介紹自己的網站。最終被一位年輕的富二代看上,他不僅沒有給你提供贊助,還直接讓公司的程式設計師搬走了你的開原始碼,自己上線了個網站。

從此,網路上總會看到一個鬱鬱寡歡的年輕人,嘴裡唸唸有詞:“我抄你們碼!”


當然,還有更多的選擇和結局,留給評論區的人才們討論吧~ 如果你喜歡這篇文章的話,記得點贊支援哦!

更多程式設計學習資源

  • Java前端程式設計師必做專案實戰教程+畢設網站

  • 程式設計師免費程式設計學習交流社群(自學必備)

  • 程式設計師保姆級求職寫簡歷指南(找工作必備)

  • 程式設計師免費面試刷題網站工具(找工作必備)

  • 最新Java零基礎入門學習路線 + Java教程

  • 最新Python零基礎入門學習路線 + Python教程

  • 最新前端零基礎入門學習路線 + 前端教程

  • 最新資料結構和演算法零基礎入門學習路線 + 演算法教程

  • 最新C++零基礎入門學習路線、C++教程

  • 最新資料庫零基礎入門學習路線 + 資料庫教程

  • 最新Redis零基礎入門學習路線 + Redis教程

  • 最新計算機基礎入門學習路線 + 計算機基礎教程

  • 最新小程式入門學習路線 + 小程式開發教程

  • 最新SQL零基礎入門學習路線 + SQL教程

  • 最新Linux零基礎入門學習路線 + Linux教程

  • 最新Git/GitHub零基礎入門學習路線 + Git教程

  • 最新作業系統零基礎入門學習路線 + 作業系統教程

  • 最新計算機網路零基礎入門學習路線 + 計算機網路教程

  • 最新設計模式零基礎入門學習路線 + 設計模式教程

  • 最新軟體工程零基礎入門學習路線 + 軟體工程教程

相關文章