簡單分析CDN安全

2021-12-30 04:43:28 字數 2282 閱讀 9209

目前cdn技術到處可見。像網宿、藍訊、加速樂等都依靠cdn過活,連安全寶也都使用了cdn技術,當然很多網域名稱空間商現在也提供cdn服務。從以往網際網路的發展上看,cdn是個趨勢,很多廠商也都多多少少購買了商業化的cdn資源,比如360、騰訊、百度、新浪等等等,當然大部分流量還是走自建的cdn網路。本文筆者站從安全的角度出發,對cdn技術進剖析,揭開廠商使用cdn技術的風險、分析了黑客及黑產新的攻擊方向。實際上只要對cdn的工作流程有一定了解,並能夠對資料報文的流向比較清楚,就能夠獲取其風險點了,在文中筆者只對動態頁面的請求流程做討論(靜態頁面一般不回源),至於靜態頁大部分由節點的webcache直接返回,一般不含敏感資訊(cookie實際上是敏感資訊),所以不做討論。

一.cdn工作流程如下圖:

1.管理員或者站長將網域名稱的dns指向cdn廠商的dns上(當然,根據選擇不同也有可能使用cname方式,但都不影響資料流的流向)。

2.使用者需要登入站點,請求dns以便獲得伺服器ip(此處最終請求的dns伺服器為cdn廠商的dns)

3.cdn廠商收到dns查詢請求及各種資訊,通過各種演算法選擇乙個離使用者最近的節點,將該節點的ip 1.1.1.1作為伺服器ip返回給使用者(此處cdn廠商告訴使用者乙個假的伺服器ip)

4.使用者收到dns響應,將http請求(該處為登入請求,請求報文包含使用者密碼)發給1.1.1.1

5.cdn節點接收到請求包判斷請求報文是否是動態頁面,如果是靜態則檢視webcache,存在快取直接返回快取頁面。如果是動態頁面請求或者沒有快取的靜態頁面,節點則直接請求真實源,以便獲取最新的內容。(注:此處對於動態頁面的請求一般每次都會做回源操作)

6.接著就是伺服器響應請求,此處不做討論

二.cdn的軟肋

由上圖可知,對於**的請求報文都會經過cdn廠商的節點(不做特殊操作的情況下)。因此安全隱患全都集中在了cdn廠商的節點上。一般乙個節點會提供n多個**的加速。不管是360、騰訊、百度還是新浪,只要使用了商業化的cdn,就相當於孤注一擲,將自己的部分安全交給cdn廠商。一旦攻擊者控制了cdn廠商節點就可以輕易的進行抓包並分析。對於cdn廠商來說,畢竟不是專業的安全公司,所以在防護方面肯定會有所不足cdn廠商節點遍布全國,數量眾多,很難保證每個節點的安全性(再不行可試下arp欺騙,從同段ip搞起)

三.從cdn看黑產動向

1.以往攻擊者對目標發起攻擊都會先對目標ip進行掃瞄和檢測,但由於cdn的存在,很多攻擊者無法直接獲取到源ip,因此轉而對cdn節點發起攻擊,一旦攻陷節點,那拿到站點許可權就是遲早的事情,另外在這個資訊發達的時代一般都是買一送多,大資料時代,乙個結點的**夠撐死你了。目測接下來對cdn節點的攻擊會成為黑色產業鏈的熱門話題(估計已經很熱了,只是我不知道)

2.cdn廠商實際上可以成為黑產的大資料提供商,對於應用軟體你可以本地分析看是否在後台偷偷上傳資料,對於cdn你能麼,筆者建議少用免費的cdn服務,除非你已經麻木了,或者你做了特殊的手段。

3.大型企業會增加對自建cdn的安全維護成本,同時攻擊者會將大部分時間放在對企業cdn網路的攻擊上

四.由cdn到dns劫持(只寫思路,後面補上技術文件)

百度經常被黑、某黑闊站點又被hellen乾掉了、***也被整了。到頭來都是dns劫持。難道dns劫持就只能換個頁面?或只能讓使用者訪問惡意站點?看了cdn的工作原理,結合apt攻擊。長時間盯著就ok了。某天的某一時刻,某人說能控制某網域名稱的dns解析,問怎麼利用。估計看了前面原理的人都想到了如何進一步利用dns劫持了,筆者在這裡發表幾個個人的方法,僅供參考。

1.搭建小型cdn網路,乙個節點、乙個自己的網域名稱、乙個自己搭建的dns伺服器。修改網域名稱dns指向自己搭建的dns,從而將站點的訪問流量全部牽引到自己的節點上,在自己節點裝抓包軟體(如何搭建cdn網路可以找找相關資料)

2.搭建中轉伺服器(**伺服器),將網域名稱解析到自己的伺服器上,由攻擊者的伺服器進行中轉(實際上利用本地的host及某些資料**軟體就可以實現)。這個比上面一點好多了,少了個dns伺服器。

3.完全利用http協議,寫個php指令碼,對接收到的報文進行**,當然筆者在這邊通過測試,該方法效率不高,剛開始忘記cookie的處理,導致使用者無法登入,後面對cookie進行了處理後成功**,但缺點是「速度像蝸牛」!

五.留給後面的大牛補充,順便宣傳下winger的名言。

開發:no code you say g jb

逆向:no 0day you say g jb

指令碼小子:no kits you say g jb

黑產:no data you say g jb

娛樂圈:no picture you say g jb

簡單cdn之二

7.1.4cdn的基本原理 cdn的基本原理可概括為 內容快取 就近訪問以及以dns檢視方式根據使用者 確定其訪問位置。內容快取 快取伺服器從源站取得所需資料,然後暫存在本地的硬碟或記憶體。使用這種快取機制的好處是 1 內容自動更新 2 無多個伺服器資料相互同步問題。就近訪問 讓使用者的訪問請求轉向...

CDN的簡單理解

程式設計師每天提及的無數詞當中,有乙個是 cdn ta的中文名是 內容分發網路 讀中文是令人矇逼的,英文名是content delivery network.cdn有啥用呢?它主要用來解決什麼問題呢?它的原理大概是怎麼樣的呢?我們先拆解下這三個名詞。cdn動作是 分發 也就是cdn的d所代表的del...

Radware 當前,CDN安全遠遠不足

當前,許多企業都意識到 ddos 防禦對維護非凡客戶體驗而言至關重要。這是為什麼呢?因為 網路攻擊對 載入時間或終端使用者體驗的影響遠超過 其他因素 網路攻擊是應用效能的無症狀殺手。作為向終端使用者提供 高可用和高效能內容 的經銷商,cdn是客戶體驗的關鍵。然而,cdn網路中的新漏洞也讓很多人想知道...