日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前言

傳統的 DDoS 防御通常使用“硬抗”的方式,導致開銷很大,而且有時效果并不好。例如使用 DNS 切換故障 IP 的方案,由于域名會受到緩存等因素的影響通常有分鐘級延時,前端難以快速生效。例如使用 CDN 服務,雖可抵擋大多網絡層攻擊,但對應用層攻擊卻常有疏漏,攻擊者可通過惡意請求消耗流量、日志存儲等費用,導致欠費停止服務。例如購買流量清洗等服務,雖然效果不錯但費用十分昂貴。

今天分享一種超低成本的網站 DDOS 防御方案 —— 不使用任何后端防御服務,純前端實現!當然效果也非常極端:如果用戶之前未訪問過該網站,這種防御不會生效,網站被打垮仍無法訪問;但如果用戶之前訪問過該網站,之后即可無視攻擊,甚至服務器關機網站也能訪問,并且還能更新!

前端代理

說到低成本、防攻擊、離線訪問等特性,大家可能會想到 Cloudflare 服務。不過前面提到,我們不使用后端防御,而是純前端實現。

事實上,我們可以把 Cloudflare 搬到瀏覽器前端!這里不得不提 html5 中的一個 API ——Service Worker,它能攔截當前站點產生的所有請求,并能控制返回結果,相當于一個反向代理服務。有了這個黑科技,即可在前端實現 CDN 功能。

我們可為靜態資源準備多個站點做冗余備份,當 Service Worker 加載資源出錯時,可不返回錯誤給上層頁面,而是繼續從備用站點加載,直到獲得正確結果才返回。這樣,只要有一個備用站點可用,資源就不會加載失敗。

低成本防御網站 DDOS 攻擊

 

相比傳統使用 DNS 切換故障 IP 的方案通常有分鐘級的延遲,這種 JS 控制的方案可精確到毫秒級,并且還能有多次試錯的機會,從而大幅增加穩定性。

離線訪問

Service Worker 的設計初衷就是為了增強網頁的離線化體驗,因此一旦安裝即可在后臺長期運行,即使服務器關機、瀏覽器重啟,它也不會失效。

事實上,除了網頁中的資源可被 Service Worker 攔截,網頁本身也可以。Service Worker 安裝后,用戶在地址欄輸入網址發起的那個請求其實也會被攔截,從而可從備用站點加載網頁文件。

低成本防御網站 DDOS 攻擊

 

注意,這不是重定向,地址欄不會有變化。

因此即使網站被打垮,之前訪問過的用戶仍可通過 Service Worker 從備用站點加載頁面,從而正常訪問。

免費節點

使用冗余站點雖能提升穩定性,但攻擊者仍可對備用站點發起攻擊,尤其是惡意消耗流量費用的攻擊,導致成本大幅上升。

為此,我們還可使用一種更極端的方案 —— 使用免費 CDN 作為備用站點,例如 jsdelivr.net、unpkg.com、IPFS Gateway 等等,圖片則可上傳到各大網站的相冊。

低成本防御網站 DDOS 攻擊

 

對于非圖片類型的文件,甚至還可以封裝成圖片上傳,使用時再從中提取!例如 此文件正是從 該圖片中提取。

雖然單個免費 CDN 的穩定性可能不高,但多準備幾個,穩定性就呈指數級上升了。

至于惡意攻擊,幾乎不可能打垮。DDOS(Distributed DOS)的精髓在于分布式,將分布在各地的流量匯聚到一起,從而增加傷害;而我們正好相反,將集中的流量分攤到各地,變成一個去中心化的分布式站點,從而化解攻擊。

演示

這個方案原理雖不復雜,但實現起來還是有很多細節,例如節點的選擇策略、資源清單格式等設計,還需注意三方站點內容完整性、離線資源被 XSS 篡改等安全問題。

為方便開發者使用,最近做了一個命令行工具
https://github.com/EtherDream/freecdn,可實現上述提到的所有功能。

演示案例:
https://freecdn.etherdream.com/time.html

該頁面通過 HTML 輸出當前時間,刷新可變化。

關閉頁面,退出瀏覽器。在 hosts 中加入0.0.0.0 freecdn.etherdream.com屏蔽該域名,模擬站點被打垮。

打開瀏覽器,再次訪問該頁面。頁面不僅能正常訪問,甚至還能刷新更新內容!

低成本防御網站 DDOS 攻擊

 

通過控制臺可見,雖然當前站點無法連接,但通過 Service Worker 仍能從備用站點加載頁面!

接口防御

對于純靜態資源的站點,我們可將所有資源甚至包含 HTML 文件都通過免費 CDN 加速,從而大幅降低成本、增加穩定性。

但對于動態接口,又該如何實現防御?動態接口的防御要復雜一些,但仍有一些巧妙的方案。例如通過云防火墻和 Service Worker 使用約定的算法生成端口號,從而不斷更換端口攔截攻擊流量;例如代理到多個云主機廠商“薅”免費額度的防御流量;例如通過最便宜的搶占式主機購買大量公網 IP。。。細節下回講解。

當然即使不考慮動態接口,網站被打垮后仍能訪問靜態內容,只是無法交互,相比完全打不開要好得多。

分享到:
標簽:DDOS
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定