863 字
4 分鐘
手機APP整合Cloudflare Zero Trust
2023-03-28
無標籤

當我們使用Cloudflare Zero Trust的Access為我們網站提供保護後,會發現手機的APP被擋在Zero Trust後面,像是Synology NAS、RocketChat、Mail2000等。為了解決這個問題,本篇將說明如何使用Cloudflare Warp APP與Cloudflare Gateway,讓我們的手機也通過零信任。


Cloudflare Access#

當我們將DNS與CDN交給Cloudflare之後,我們對外的出入口就會是Cloudflare,當網路流量訪問你的服務時候,Cloudflare Access可以要求使用者進行驗證才能訪問。

當使用者第一次訪問服務時候,就會跳轉到上面Cloudflare Access登入畫面,只要在其中一個網頁登入過,就會放行其他也需要Access登入的網站。

在後台就可以看到訪問紀錄


Cloudflare WARP VPN#

Cloudflare WARP是個免費的VPN服務,可以保護使用者網路,使用WARP會將裝置的DNS改使用Cloudflare的1.1.1.1。


Cloudflare Gateway#

如果我們需要監控使用者流量就會用到Gateway,Gateway可以監控並管理WARP過來的流量,例如可以限制使用者可以訪問的網站、網路目標、DNS。

在後台可以監控使用者的DNS紀錄、網路紀錄、HTTP紀錄。


設定教學#

我們先準備好一個domain已經上好Cloudflare Access,接下來我們要允許Gateway的用戶可以跳過驗證直接訪問。

如果你要監控使用HTTP的記錄的話,就必須在裝置安裝Cloudflare憑證,如果不裝憑證,只能監控到DNS與Network。設備安裝用的憑證可以在Zero Trust後台 > Settings > Downloads找到。我們這個範例就以不用安裝憑證為例,所以也就監控不到HTTP流量。

第一步,到Zero Trust後台 > Settings > Network找到Proxy將他啟用,找到TLS decryption將它關掉,如果要監控HTTP流量則要開啟TLS decryption並在裝置安裝憑證。

第二步,我們要決定哪些網路流量要過VPN,還是只有自己網站,如果監控所有流量,可能導致部分服務無法使用,需要另外加入白名單,詳見這篇。因此我們這次範例只讓我們自己domain的流量走VPN。

我們先找到domain的IP,我的網域是twcanhelp.me,你會發現*.twcanhelp.me的DNS正解都會是相同的,我們先記下這兩組IP。

第三步,到Zero Trust後台 > Settings > WARP Client找到Device settings中的Default Profile,點選右邊 ,選擇Configure

接著找到Split Tunnels,勾選Include IPs and domains,只讓我們指定網站的流量過VPN,點選Manage,將剛剛上面兩筆IP新增進去,建議不要新增Domain,因為在iPhone上會無效。

第四步,到Zero Trust後台 > Settings > WARP Client找到WARP client checks,並新增Gateway

第五步,到Zero Trust後台 > Access > Applications, 找到你設定的domain,在Policy新增一筆,Action為Service Auth,Include Selector為Gateway,如下圖,再來把Policy排序排到第一個。這樣就完成了


使用者設定#

在使用者的裝置先安裝Cloudflare WARP,進入APP,找到設定 > 帳戶 > 登入 Cloudflare Zero Trust,輸入團隊名稱,並登入驗證。再來就開啟VPN,就可以訪問服務了。


結語#

透過整合Cloudflare Gateway,可以解決Access導致APP無法使用的問題。對於電腦不需要另外安裝WARP也看已透過Access訪問網站,只有手機APP用戶需要安裝。