在Cloudflare One中引入高級會話審計功能

來源:Cloudflare
作者:Cloudflare
時間:2024-01-02
2571
Zero Trust的基礎(chǔ)是為每個應(yīng)用程序、用戶和設(shè)備定義精細(xì)的控制和授權(quán)政策。

640.png

Zero Trust的基礎(chǔ)是為每個應(yīng)用程序、用戶和設(shè)備定義精細(xì)的控制和授權(quán)政策。擁有足夠精細(xì)的系統(tǒng)來做到這一點對于同時滿足監(jiān)管和安全要求至關(guān)重要。但如此多的控制有一個潛在的負(fù)面影響:為了解決用戶問題,管理員必須考慮應(yīng)用程序、用戶身份和設(shè)備信息等變量的復(fù)雜組合,這可能需要“極其痛苦”地花費大量時間和精力篩選日志。

我們認(rèn)為應(yīng)該可以有一種更好的方法-為此,我們隆重宣布:管理員現(xiàn)已可以輕松審核所有活躍的用戶訪問以及在其Cloudflare One策略下的全部相關(guān)數(shù)據(jù)。這可以實現(xiàn)兩全其美的效果:極其精細(xì)的控制,同時在單一簡潔的控制面板中保持更高效的故障排除和診斷Zero Trust部署的能力。那些曾經(jīng)僅存在于用戶瀏覽器中或動態(tài)更改的信息,管理員現(xiàn)在都可輕松獲取,而無需打擾終端用戶或深入挖掘日志。

640 (1).png

有關(guān)應(yīng)用程序身份驗證和授權(quán)的快速解讀

身份驗證和授權(quán)是Zero Trust策略在允許用戶訪問資源之前評估的兩個組件。

身份驗證是驗證用戶、設(shè)備或系統(tǒng)身份的過程。常見的身份驗證方法包括輸入用戶名和密碼、出示數(shù)字證書,以及指紋或面部掃描等生物識別技術(shù)。多因素身份驗證(MFA)需要兩種或更多獨立的身份驗證方法來增強(qiáng)安全性,例如硬件密鑰與密碼相結(jié)合。

640 (2).png

授權(quán)是在實體成功通過身份驗證后授予或拒絕對特定資源或權(quán)限的訪問的過程。它定義了經(jīng)過身份驗證的實體在系統(tǒng)中可以做什么和不能做什么。

640 (3).png

應(yīng)用程序身份驗證及授權(quán)的運作機(jī)制

這里我們將重點介紹Web應(yīng)用程序的場景,此類應(yīng)用程序通常使用HTTP Cookie來處理身份驗證和授權(quán)。

身份驗證:

登錄:當(dāng)用戶通過輸入用戶名和密碼登錄Web應(yīng)用程序時,應(yīng)用程序會根據(jù)其數(shù)據(jù)庫或身份提供商(IdP)驗證這些憑證。還可以應(yīng)用其他形式的身份驗證來實現(xiàn)多因素身份驗證。如果它們匹配,服務(wù)器或外部安全服務(wù)(例如Cloudflare Access)就會認(rèn)為用戶已通過身份驗證。

Cookie/令牌創(chuàng)建:然后,服務(wù)器以Cookie或JSON Web令牌的形式為用戶創(chuàng)建會話。Cookie在一段時間內(nèi)有效,之后用戶必須重新進(jìn)行身份驗證。

發(fā)送和存儲Cookie:服務(wù)器向用戶的瀏覽器發(fā)送響應(yīng),其中包括會話ID和Cookie中有關(guān)用戶的其他識別信息。然后,瀏覽器會存儲這個Cookie。此Cookie用于在用戶的后續(xù)請求中識別該用戶。

授權(quán):

后續(xù)請求:對于對Web應(yīng)用程序的所有后續(xù)請求,用戶的瀏覽器會自動在請求中包含Cookie(帶有會話ID和其他識別信息)。

服務(wù)器端驗證:服務(wù)器從Cookie中獲取用戶數(shù)據(jù)并檢查會話是否有效。如果有效,服務(wù)器還會檢索用戶的詳細(xì)信息及其與該會話ID相關(guān)的訪問權(quán)限。

授權(quán)決定:根據(jù)用戶的訪問權(quán)限,服務(wù)器決定用戶是否有權(quán)執(zhí)行請求的操作或訪問請求的資源。

這樣,用戶在登錄后,其所有后續(xù)請求都保持經(jīng)過身份驗證的狀態(tài)(并且可以檢查其授權(quán)),直到會話到期或他們退出帳戶。

在現(xiàn)代Web應(yīng)用程序中,此會話狀態(tài)通常以JSON Web令牌(JWT)的形式存儲。

640 (4).png

調(diào)試基于JWT的身份驗證

許多現(xiàn)代Web應(yīng)用程序和Cloudflare Access等Zero Trust網(wǎng)絡(luò)訪問(ZTNA)解決方案都使用JWT來進(jìn)行身份驗證和授權(quán)。JWT包含一個有效負(fù)載,該有效負(fù)載對有關(guān)用戶的信息和可能的其他數(shù)據(jù)進(jìn)行編碼,并且由服務(wù)器對其進(jìn)行簽名以防止篡改。JWT通常以無狀態(tài)方式使用,這意味著服務(wù)器不會保留每個JWT的副本,它只是在其隨著請求傳入時對其進(jìn)行驗證和解碼。JWT的無狀態(tài)性質(zhì)意味著您不必依賴中央系統(tǒng)來處理用戶會話管理,這可以避免隨著訪問系統(tǒng)的用戶數(shù)量增加而產(chǎn)生的可擴(kuò)展性問題。

640 (5).png

但是,由于JWT的這種無狀態(tài)性質(zhì),如果不從用戶處獲得特定的JWT,則很難調(diào)試基于JWT的身份驗證。原因如下:

令牌特定性:每個JWT都特定于一個用戶和一個會話。它包含有關(guān)用戶、頒發(fā)機(jī)構(gòu)、令牌的頒發(fā)時間、到期時間以及可能的其他數(shù)據(jù)的信息(聲明)。因此,要調(diào)試問題,您通常需要獲得導(dǎo)致問題的確切JWT。

無服務(wù)器端記錄:由于JWT是無狀態(tài)的,因此服務(wù)器默認(rèn)不存儲會話。它無法查找過去的令牌或其關(guān)聯(lián)狀態(tài),除非它是專門設(shè)計用來記錄它們的,但出于隱私和數(shù)據(jù)最小化考慮,通常情況并非如此。

暫時性問題:JWT的問題可能是暫時性的,它們可能與使用令牌的具體時刻有關(guān)。例如,如果用戶嘗試使用令牌時,該令牌已過期,則需要該特定令牌來調(diào)試問題。

隱私和安全:JWT可能包含敏感信息,因此應(yīng)謹(jǐn)慎處理。從用戶那里獲取JWT可能會將他們的個人信息或安全憑證暴露給調(diào)試問題的人員。此外,如果用戶通過不安全的渠道將JWT發(fā)送給開發(fā)人員或IT幫助臺,則可能會被攔截(Cloudflare最近發(fā)布了免費的HAR Sanitizer來幫助緩解這一問題)。

這些因素使得在沒有相關(guān)特定令牌的情況下,很難對基于JWT的身份驗證問題進(jìn)行故障排除。

640 (6).png

調(diào)試身份問題的更好方法

我們著手構(gòu)建一種更好的方法來調(diào)試與Cloudflare Zero Trust中用戶身份相關(guān)的問題,而無需來回分享JWT或HAR文件。管理員現(xiàn)在可以查看用戶的注冊表身份(用于Gateway策略)和所有活躍的Access會話。

640 (7).png

此會話信息包括Zero Trust需要評估的完整身份信息,包括IdP聲明、設(shè)備態(tài)勢信息、網(wǎng)絡(luò)背景信息等。通過利用Cloudflare Workers KV,我們能夠在不對Access的身份驗證邏輯進(jìn)行任何額外負(fù)載的情況下構(gòu)建此功能。當(dāng)用戶使用Access進(jìn)行身份驗證時,其關(guān)聯(lián)的身份會立即保存到Workers KV中的鍵/值對中。這一切都發(fā)生在用戶身份驗證事件的上下文中,這意味著延遲影響或?qū)ν獠糠?wù)的依賴都極小。

使用任一Zero Trust計劃的所有客戶都將可以使用此功能。如果您想即刻開始使用Cloudflare Zero Trust,可以立即注冊一個最多可容納50位用戶的免費帳戶!或者,與Cloudflare的專業(yè)團(tuán)隊取得聯(lián)系,評估并討論適合貴司的SSE或SASE計劃,一步一步地幫助您推進(jìn)Zero Trust策略實施、或解決您的Zero Trust用例相關(guān)問題。

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:Cloudflare
版權(quán)說明:本文內(nèi)容來自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
個人VIP