「從外部連回內部系統的方式只有 VPN」「一直在追著 VPN 裝置的漏洞修補跑」——這是中小規模資訊部門很常見的煩惱。
本文將整理如何使用 Cloudflare Zero Trust,在不使用 VPN 的情況下,從外部安全存取內部資源(內部 Web、RDP 等)的 ZTNA(Zero Trust Network Access) 建置步驟。內容以實際導入自家環境,並確認可從外部連線到 RDP 的結果為基礎。
重點有以下 3 點:
[外部端點] --WARP--> [Cloudflare 邊緣] <--Tunnel(Outbond)-- [內部 cloudflared]
| |
Access(Entra ID + MFA 驗證授權) 內部 Web / RDP / 檔案伺服器
使用者透過 WARP 用戶端連線,並以 Entra ID + MFA 進行驗證。只有 Access 原則允許的應用程式與 IP 範圍才能到達。
團隊名稱會成為 https://<團隊名稱>.cloudflareaccess.com 的使用者登入網址,也會用在後續 Entra ID 串接的重新導向 URI。這個名稱之後不太容易更改,建議以組織名稱為基礎謹慎決定。
確認: Zero Trust 儀表板可正常開啟,左側選單會顯示 Settings / Access / Networks 等項目。
https://<團隊名稱>.cloudflareaccess.com/cdn-cgi/access/callback
openid / profile / email。如果想把 Entra 的群組作為原則條件,也請再加入 GroupMember.Read.All(需要管理員同意)確認: Login methods 中會顯示 Entra ID,且按下 Test 後可完成 Entra 登入並看到成功畫面。
確認: WARP 會顯示「已連線」,且儀表板的 My Team → Devices 會出現該裝置。
在內部架設 cloudflared 隧道。因為儀表板管理型(遠端管理)比較容易維運,所以這裡採用此方式。
# 直接執行儀表板上顯示的含 token 指令
sudo cloudflared service install <隧道 token>
# 確認運作
systemctl status cloudflared
192.168.10.0/24)確認: Tunnels 清單中的狀態顯示 HEALTHY,且 Private Network 中可看到內部 IP 範圍。
因為是透過 outbound 443 建立連線,所以不需要在內部防火牆開埠或做 NAT 設定。
從 Access → Applications → Add an application 進行註冊。
Allow 原則的條件範例如下:
原則是「預設全部拒絕,只增加允許」。一開始先整理「哪些應用程式、誰、在什麼條件下可用」,再進行設定會比較不容易混亂。比起做全公司一體適用的大範圍允許,更應該以應用程式為單位縮到最小,這就是 ZTNA 的重點。
使用外部網路(例如手機熱點)的裝置進行確認。
RDP 範例(不使用 VPN,從外部連到內部電腦):
rem 連上 WARP 後,直接連到內部電腦的私有 IP
mstsc /v:192.168.10.21
登入時的使用者名稱,在未加入網域的電腦上請輸入以下格式:
電腦名稱\使用者名稱
WARP 預設會將 RFC1918 的私有 IP 範圍排除(Exclude)。需要到 Settings → WARP Client → Device settings profile → Split Tunnels,把目標內部 IP 範圍(例如:192.168.10.0/24)從排除清單移除,或縮小排除範圍。這是最容易卡住的地方。
未加入網域的電腦請輸入 電腦名稱\使用者名稱 格式。同時也請確認目標電腦已啟用 RDP。
請確認 Step 2 的 IdP 串接 Test 是否成功,以及 Step 3 的裝置註冊原則(允許的電子郵件網域等)是否符合。用戶端密碼過期也是常見原因之一。
如果有設定受管理網路(例如偵測到公司 Wi-Fi 時自動關閉),請重新檢查偵測條件(例如 TLS 憑證指紋等)。
在擺脫 VPN 裝置維運與漏洞修補壓力的同時,還能在免費額度內實現「不是整體大開,而是以應用程式為單位僅允許最小必要範圍」的架構。建議先從 1 個應用程式(例如 1 個內部 Web,或 1 台 RDP 目標電腦)小規模開始,確認可正常運作後再逐步擴大。
株式会社ブレインディレクション是一家位於大阪、提供 IT 解決方案、生成式 AI 應用、雲端/資安支援的 IT 公司(已取得 ISMS)。 https://www.brain-d.jp
原文出處:https://qiita.com/BrainDirection/items/5215ea3cd1ec635a1636