跳至主要內容

使用外部門戶伺服器設定 FortiGate Captive Portal

您將能夠設定 FortiGate 以強制執行由 Purple 託管的外部 Captive Portal,具備 RADIUS 驗證與計費功能、運作正常的豁免清單以及受信任的憑證。您也可以在內建與外部門戶之間進行選擇,在真實裝置上進行測試,並修復最常阻礙訪客登入的故障。

作者:Tom Hackett發佈於
📖 15 分鐘閱讀1,001 字數3 範例12 關鍵定義

核心系列的一部分:Captive Portal 指南 →

使用外部門戶伺服器設定 FortiGate Captive Portal

在 FortiGate 上,外部 Captive Portal 需要四個要素。請將 SSID 或介面安全性模式設定為帶有外部入口網站 URL 的 Captive Portal。將驗證與計費指向 RADIUS 伺服器。將入口網站與社群登入網域設為免驗證,並安裝可信的憑證,以確保 HTTPS post-back 不會引發瀏覽器警告。

FortiGate 外部 Captive Portal 實際上是如何運作的?

Captive Portal 是訪客在網路允許其流量出站前必須完成的網頁。在外部設定中,由 FortiGate 強制執行入口網站,並由獨立的伺服器託管該頁面。搭配 Purple 使用時,該伺服器即為我們的 Guest WiFi 平台。

登入流程分為五個階段:

  1. 訪客加入由 FortiAP 廣播的開放 SSID(網路名稱),或加入位於 FortiGate 介面後方的網路。訪客裝置會取得一個 IP 地址。
  2. 裝置發起第一次網頁請求。FortiGate 會攔截該請求,並將瀏覽器重導向至外部入口網站 URL。它會在 URL 後方附加用來識別工作階段、用戶端 MAC 地址以及 FortiGate 本身登入地址的參數。
  3. 訪客完成 Purple 自訂登入頁面(splash page):填寫表單、透過社群登入或同意條款。
  4. 入口網站將憑證 POST 回傳至 FortiGate 的驗證接聽程式(listener)。在預設情況下,HTTP 接聽 TCP 1000 埠,HTTPS 接聽 TCP 1003 埠。
  5. FortiGate 向 Purple 發送 RADIUS Access-Request。收到 Access-Accept 後,它會將裝置標記為已驗證,並套用訪客防火牆策略。隨後,計費訊息會回報工作階段開始、中期使用量與停止。

RADIUS (Remote Authentication Dial-In User Service) 是 FortiGate 用來詢問「此裝置是否可以連線?」的協定。其規範定義於 RFC 2865,計費功能則定義於 RFC 2866。

分工合作是其核心要義。FortiGate 負責執行管制:防火牆策略、NAT 與工作階段狀態。Purple 則處理身分識別、同意聲明與訪客資料。您可以在 Purple 中變更所有據點的自訂登入頁面,完全無需動到 FortiOS。

內建入口網站還是外部入口網站?

FortiOS 內建了自己的 Captive Portal。它能正常運作,且對於僅需要免責聲明頁面的單一據點來說可能已經足夠。下表展示了這兩種方法的差異。

FortiGate 內建入口網站 搭配 Purple 的外部入口網站
頁面存放位置 每台 FortiGate 上的替換訊息 HTML 由 Purple 託管,所有據點統一設計
登入選項 驗證、免責聲明與 Email 收集入口網站類型 表單、社群登入與條款同意
如何授予存取權限 本地或遠端防火牆使用者群組 透過 UDP 1812 使用 RADIUS 連線至 Purple
同意聲明處理 僅收集 Email;需自行建立訂閱記錄 記錄每位訪客的明確選擇訂閱
跨 40 個據點變更頁面 編輯每台 FortiGate 或透過 FortiManager 推送 在 Purple 中進行一次變更
報表功能 FortiGate 記錄檔與 FortiAnalyzer 依場地區分的 WiFi Analytics 儀表板
混合廠商設備 僅限 Fortinet 硬體 在 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme 與 Fortinet 上使用相同的 Portal
最佳適用情境 單一場地、僅需免責聲明存取的網路 欲收集第一方資料的多場地企業

開始進行 FortiGate Captive Portal 設定前需要準備什麼?

在開啟 FortiGate GUI 之前,請先收集以下項目。大多數部署失敗的原因都可以追溯到此清單中遺漏的項目。

  • 支援的 FortiOS 版本之 FortiGate。 無論是由 FortiGate 作為無線控制器管理 FortiAP,或是由其其中一個介面提供訪客網路服務皆可。介面模式支援第三方 AP 與有線訪客連接埠。
  • 訪客網路區段。 請將訪客放置於獨立的 VLAN(虛擬區域網路,一種獨立的第 2 層廣播網域)或專用 SSID 介面上。切勿與員工或付款設備共用子網路;PCI-DSS 要求將持卡人系統與不可信的網路進行隔離。
  • 您的 Purple 帳戶數值。 您需要外部 Portal URL、RADIUS 伺服器位址以及共享金鑰。這些資料來自 Purple 的 FortiGate 支援文章與您的 Purple 儀表板。這些數值針對您的帳戶專屬提供,切勿從論壇文章中複製。
  • 外連網路連通性。 FortiGate 必須能透過 UDP 1812(驗證)與 UDP 1813(計費)連線至 Purple 的 RADIUS 伺服器。
  • 公信機構簽發的憑證。 憑證必須涵蓋能解析至 FortiGate 訪客介面位址的主機名稱。下方的憑證章節會解釋原因。
  • 豁免清單盤點。 決定您要提供的登入方式,因為每一種登入方式都會將更多網域新增至您的 Walled Garden 中。
  • 可靠的訊號覆蓋。 Captive Portal 無法改善微弱的訊號。如果訪客抱怨斷線,請先進行勘測;我們的 WiFi site surveys 指南介紹了具體方法。

FortiOS 版本之間有何差異?

Fortinet 在主要 FortiOS 版本更新之間會移動並重新命名 Captive Portal 設定。在某些版本中,豁免清單或驗證憑證等選項在 CLI 中會更容易設定,甚至僅能透過 CLI 設定。Bridge 模式與 Tunnel 模式的 SSID 視韌體而定,行為也可能有所不同。

以下三個習慣能保護您的設定:

  • 請參閱 Fortinet 文檔庫中針對您確切 FortiOS 版本的管理指南,而非最新版本。
  • 在每次升級前,請先檢查 Release Notes 中關於 Captive Portal 與 RADIUS 的變更。
  • 每次韌體升級後,請在訪客發現問題之前,重新執行完整的測試流程。

如何在 FortiGate 上使用外部 Portal 伺服器設定 Captive Portal?

以下步驟同時適用於 FortiAP SSID 與 FortiGate 介面。Purple 的 FortiGate 支援文章包含每個步驟的確切數值與螢幕截圖。請搭配本摘要一起使用。

步驟 1:將 Purple 新增為 RADIUS 伺服器

在 FortiGate 上建立一個 RADIUS 伺服器物件。輸入來自您帳戶的 Purple 伺服器位址與預共用金鑰(shared secret)。啟用記帳(accounting)功能,讓 FortiGate 能將會話開始、期間與結束紀錄傳送到 Purple。

如果 FortiGate 有多個 WAN 連結,請明確設定 RADIUS 來源位址。RADIUS 請求應始終從 Purple 所預期的位址發出;否則容錯移轉會在無提示的情況下導致登入失敗。在繼續下一步之前,請先使用 RADIUS 物件上的內建連線測試。

第 2 步:建立防火牆使用者群組

建立一個防火牆類型的使用者群組,並將 Purple RADIUS 伺服器新增為遠端伺服器。Captive Portal 將對此群組驗證訪客。請保持每個驗證來源對應一個群組,以利後續的疑難排解。

第 3 步:將安全性模式設定為 Captive Portal

若使用 FortiAP,請編輯訪客 SSID。若使用有線或第三方基地台,請編輯訪客介面。接著:

  • 將安全性模式設定為 Captive Portal。
  • 選擇驗證入口網站類型,並選擇外部入口網站選項。
  • 貼上來自 Purple 的外部入口網站 URL。
  • 選擇第 2 步建立的使用者群組。
  • 選擇登入後的重導向方式:訪客原本存取的 URL 或您指定的新頁面。

在 FortiAP 上,將 SSID 分配給基地台所使用的 FortiAP 設定檔。Fortinet 的官方文件使用隧道模式(tunnel mode)作為 Captive Portal SSID 的參考架構。如果您在本地進行橋接,請確認您的韌體支援該模式下的 Captive Portal。

第 4 步:建立豁免清單

針對訪客在驗證前必須存取的每個目的地,建立防火牆位址物件。將這些物件作為安全性豁免清單附加到 SSID 或介面上。下一節將列出哪些內容屬於該清單,哪些內容必須排除在外。

第 5 步:撰寫訪客防火牆策略

建立一條從訪客 SSID 或介面到 WAN 的策略,並啟用 NAT。套用合理使用政策(AUP)所要求的網頁過濾器與應用程式控制設定檔。確保訪客在驗證之前能夠解析 DNS,否則將無法觸發重導向。

第 6 步:安裝憑證並使用 HTTPS 進行 Post-back

匯入您的受信任受公眾信任憑證,並將 FortiGate 設定為使用該憑證進行驗證。將入口網站的 post-back 指向 HTTPS 監聽器,並使用該憑證上的主機名稱。這可以消除訪客在提交表單時會看到的警告訊息。

第 7 步:同步超時設定

FortiGate 的驗證超時時間決定了已驗證裝置留在列表中的時間。Purple 的會話設定則決定了再次造訪的訪客會看到的內容。如果您的韌體支援 RADIUS Session-Timeout 屬性 (RFC 2865),即可讓 Purple 從單一位置統一設定會話長度。

FortiGate 豁免清單應包含哪些內容?

豁免清單是 FortiGate 的圍牆花園(walled garden):即裝置在驗證前即可存取的目的地。如果範圍太短,入口網站將無法運作;如果範圍太長,訪客無需登入即可瀏覽網路。

類別 範例項目 原因 是否豁免?
Purple Portal 與相關資產 Purple 的 FortiGate 支援文章中所列出的主機名稱 載入頁面、影像與指令碼 是
社群帳號登入提供者 Facebook、Google、Apple 與 Microsoft 的登入網域(設為萬用字元 FQDN 物件) OAuth 登入必須在驗證前完成 是,僅限您啟用的提供者
您自己的資訊頁面 醫院的病患資訊網站、體育館的比賽日頁面 訪客無需登入即可存取重要資訊 選填
作業系統 Captive Network 偵測 captive.apple.com、connectivitycheck.gstatic.com、www.msftconnecttest.com 探測必須失敗,裝置才會開啟登入視窗 否,絕不包含
一般瀏覽 新聞、搜尋與串流網站 會繞過 Captive Portal 否

遵循兩大規則可防止大部分的圍牆花園(Walled Garden)設定失效。

請使用 FQDN 物件,而非 IP 地址。 社群帳號登入提供者是透過內容交付網路(CDN)提供登入頁面,其地址會不斷變更。靜態 IP 清單在幾週內就會過期。

確保 FortiGate 與訪客裝置使用的 DNS 保持一致。 FortiGate 會自行解析 FQDN 地址物件。萬用字元 FQDN 物件是由通過 FortiGate 的 DNS 回應所填入。如果 DHCP 向訪客發放公用解析程式,訪客與 FortiGate 可能會收到不同的 CDN 地址,導致豁免項目無法比對成功。請將 FortiGate 或其使用的解析程式發放為訪客 DNS 伺服器。

針對 醫療照護 園區,將病患資訊頁面設為豁免,可讓訪客無需登入即可查詢病房開放時間。請將此類項目控制在簡短且具名的清單中,並每季進行審查。

對於您的特定設置有任何疑問嗎?

我們的團隊與超過 80,000 個場域的場域營運商、IT 經理和網路工程師合作。立即預約 20 分鐘的通話,我們將向您展示其他與您相似的用戶是如何解決此問題的。

為什麼 FortiGate Captive Portal 會顯示憑證錯誤?

有兩個不同的時刻會產生憑證警告。它們有不同的原因和解決方案。

警告 1:訪客在登入前開啟 HTTPS 網站

大多數的網路瀏覽都是 HTTPS。為了進行重導向,FortiGate 必須自己回應 TLS 握手,並為其不擁有的網站出示自己的憑證。瀏覽器會偵測到名稱不符合並發出警告。沒有任何憑證可以解決這個問題,因為沒有任何憑證對所有網站都有效。

位於 HSTS 預載清單(HTTP 強制安全傳輸技術,會指示瀏覽器拒絕不安全的連線)上的網站完全無法點擊點過。銀行和電子郵件網站通常屬於這一類。

解決方法是依賴作業系統的 Captive Network 偵測。iOS、Android、Windows 與 macOS 在加入網路時,都會探測一個純 HTTP URL。FortiGate 會重導向該探測,裝置就會在訪客開啟瀏覽器之前打開登入視窗。這就是為什麼絕不能將偵測網域放在豁免清單中的原因。

警告 2:訪客提交 Portal 表單

訪客填寫完 Purple 頁面後,瀏覽器會傳送資料至 FortiGate 的驗證接聽程式。如果該接聽程式使用出廠預設憑證,瀏覽器會發出警告,因為該憑證為自我簽署憑證。

如果 Portal 改為提交至 HTTP 接聽程式,Chrome 會警告該表單不安全。頁面採用 HTTPS,但表單卻透過 HTTP 提交。

修正方法為步驟 6:在解析至 FortiGate 訪客介面的主機名稱上,安裝公開信任的憑證,並將回傳設定為 HTTPS。請在到期前更新憑證。過期的驗證憑證會導致該 FortiGate 上所有 SSID 的登入同時失效。

如何檢查 FortiGate 訪客 Portal 是否正常運作?

請在真實裝置上測試,而不只是用筆記型電腦。建立包含 iOS、Android、Windows 與 macOS 的測試矩陣,並在每個平台上執行各項檢查。

  1. 加入 SSID。 登入頁面應在數秒內自動開啟。若未開啟,請檢查豁免清單中的偵測網域。
  2. 完成每種登入方式。 測試表單、您啟用的每個社群帳號登入提供者,以及條款同意書。
  3. 留意警告訊息。 整個流程中的任何時間點都不應出現憑證警告。
  4. 在 FortiGate 上確認驗證狀態。 已驗證的防火牆使用者監視器應將該裝置列入訪客群組中。
  5. 從 CLI 確認 RADIUS。 使用 diagnose test authserver radius 直接測試伺服器物件。啟用偵錯後,diagnose debug application fnbamd -1 會即時顯示每個 Access-Request 和回應。
  6. 在 Purple 中確認計費(Accounting)。 會話應顯示開始記錄,接著是定期更新,並在訪客離開時顯示停止記錄。
  7. 測試再次造訪。 超時後重新連線,確認訪客看到您預期的頁面。

FortiGate Captive Portal 出現問題時該如何修正?

症狀 可能原因 修正方法
登入頁面從未出現;裝置顯示「已連線」 豁免清單中包含偵測網域,或有策略在驗證前允許流量通過 移除 captive.apple.com 及類似項目;確認訪客策略需要進行驗證
Splash 頁面載入空白或無樣式 豁免清單中缺少 Purple 資產主機名稱 新增 Purple FortiGate 支援文章中的每個主機名稱
登入前瀏覽網頁出現憑證警告 FortiGate 正在攔截 HTTPS 網站 此為正常行為;訪客應使用登入頁面或開啟 HTTP 頁面
提交表單時出現憑證警告 驗證接聽程式上使用的是出廠預設憑證 安裝可信任的憑證並透過 HTTPS 回傳
社群帳號登入一直旋轉或失敗 提供者網域未豁免,或是訪客與 FortiGate 之間的 DNS 不符 使用萬用字元 FQDN 物件;將 FortiGate 設定為訪客 DNS
Portal 接受資料,但無法連線至網際網路 RADIUS 拒絕或超時:共用金鑰錯誤、來源地址錯誤、UDP 1812 被封鎖 執行 authserver 測試;讀取 fnbamd 偵錯輸出
訪客被要求登入的頻率太高 驗證或閒置超時時間過短 將 FortiGate 超時設定與 Purple 會話設定保持一致
報表中遺失工作階段 計費功能已停用或 UDP 1813 遭封鎖 在 RADIUS 物件上啟用計費;開啟 UDP 1813
韌體升級後登入功能失效 新版本中的設定已被移動或預設值已變更 對照發行說明重新檢查並重新執行測試矩陣

這在實際場域中如何運作?

情境 1:一家擁有 200 間客房的飯店更換原有的訪客 WiFi 供應商

情況。 一家擁有 200 間客房的飯店使用一台 FortiGate 搭配 30 台 FortiAP,並採用隧道模式的訪客 SSID。使用 iPhone 的訪客看不到登入頁面,而是打開了 Safari。那些成功到達頁面的訪客在送出表單時會遇到憑證警告。

處置方式。 工程師發現前一家供應商在豁免清單中留下了 captive.apple.com 並將其移除。他們在解析至訪客介面的主機名稱上安裝了受公信的憑證,並將 post-back 切換至 HTTPS。他們新增了已啟用計費功能的 Purple RADIUS 伺服器。

結果。 在變更後的測試矩陣中,登入頁面在所有四個平台上都會自動開啟。登入流程中完全沒有出現憑證警告。包含開始、 interim 與結束紀錄的工作階段紀錄成功傳送至 Purple,覆蓋了每一次測試工作階段。如需瞭解更多飯店部署資訊,請參閱 飯店。

情境 2:由 MSP 管理的 40 家分店零售連鎖品牌

情況。 一家 MSP 為擁有 40 家分店的 零售 連鎖品牌在每家分店部署了一台 FortiGate。顧客反映使用 Google 和 Apple 登入時偶爾會失敗,但僅發生在部分分店。

處置方式。 受影響分店的 DHCP 向顧客分配了公共 DNS 解析器。FortiGate 將供應商的 CDN 主機名稱解析為不同的 IP 地址,導致豁免條目無效。MSP 將供應商切換為萬用字元 FQDN 物件,並將 FortiGate 設定為訪客 DNS 伺服器。他們先在三家分店試行變更,然後透過 FortiManager 全面套用。

結果。 在每一次試行測試中,所有三種社交登入方式在所有平台上均順利完成。MSP 隨後將相同的範本套用至其餘 37 家分店。如果您向此類客戶轉售訪客 WiFi,我們的 白標 Captive Portal 軟體 指南涵蓋了商業方面的核對事項。

情境 3:設有有線訪客 Kiosk 的市立圖書館

情況。 一家市立圖書館網路在第三方 AP 和四個有線公共 Kiosk 上提供訪客 WiFi。兩者皆透過一台 FortiGate 連線。市府希望能有單一條款頁面和統一的稽核紀錄。

處置方式。 工程師在 FortiGate 的訪客介面上啟用了 Captive Portal,而非僅在 SSID 上啟用。相同的外部 Purple Portal 與 RADIUS 群組同時為無線訪客與 Kiosk 工作階段提供服務。

結果。 無線與有線工作階段皆出現在 Purple 的單一計費記錄中,並對應至單一條款同意紀錄。這讓市府在被查詢誰在何時使用了網路時,能夠提供單一標準答案。

成本為何,又能帶來什麼回報?

相關成本

硬體成本通常為零。Captive Portal 與 RADIUS 客戶端皆為 FortiOS 的標準功能,因此您只需設定現有的 FortiGate 和 FortiAP。Purple 具備良好的硬體相容性:相同的 Portal 可運行於 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme 與 Fortinet。我們的部落格文章 為何下一次 WiFi 升級不需要新硬體 詳細說明了更多優勢。

軟體成本取決於您選擇的 Purple 方案:Connect、Capture 或 Engage。價格會根據您計算據點、存取點或訪客數量的方式而有所不同。我們的 Captive Portal 計費模式指南 比較了按據點、按存取點和按使用者計費的模式。

導入成本主要是每個據點的工程時間。您只需建立一次範本,在試點進行測試,然後透過 FortiManager 將範本推送到整個企業網路。

您獲得的回報

  • 獲得合意的第一方數據。 Purple 會記錄每位訪客主動選擇同意的紀錄。資料處理符合 GDPR 規範,且 Purple 擁有 ISO 27001、Cyber Essentials 與 B Corp 認證。
  • 全企業統一使用單一 Portal。 您只需更新一次登入頁面,即可應用於所有 FortiGate,包含使用其他硬體的據點,無需逐台設定。
  • 具可操作性的報表。 計費數據可直接提供給 WiFi Analytics:按場地分析造訪次數、停留時間和回訪率。
  • 大規模運作的平台。 Purple 運行於 80,000 多個實體場地,並於 2024 年處理了 4.4 億次登入(Purple 內部數據)。針對餐飲營運業者,我們的 餐廳 WiFi 指南 涵蓋了英國地區的網路覆蓋與安全性說明。

常見問題

Purple 是否支援我現有的 FortiGate 和 FortiAP 硬體?

是的,Purple 可直接運行於您現有的 FortiGate 和 FortiAP 設備,無需採購新硬體。FortiGate 負責執行 Captive Portal 並傳送 RADIUS 驗證與計費資料給 Purple,而 Purple 則託管登入頁面。此方法同樣適用於連接在 FortiGate 介面後方的第三方存取點。Purple 還支援 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium 和 Extreme,因此混合硬體環境也能共用同一個 Portal。

使用外部 Captive Portal 是否需要額外購買 Fortinet 授權?

不需要,Captive Portal 和 RADIUS 客戶端皆為 FortiOS 的內建功能,因此 FortiGate 無需額外的 Portal 授權。您只需支援的 FortiOS 版本,若為無線網路,則需要由 FortiGate 管理的 FortiAP。無論是 Connect、Capture 還是 Engage,Purple 方案的授權皆為獨立計算。我們的 Captive Portal 計費模式指南詳細說明了按據點、按存取點和按使用者計費的差異。

我可以在不中斷服務的情況下轉移現有的訪客 WiFi 供應商嗎?

是的,如果您在切換之前平行建立 Purple 設定即可。在現有伺服器與群組旁新增 Purple 的 RADIUS 伺服器與新的使用者群組,接著使用它們建立測試 SSID 或介面。在該測試網路上執行完整的裝置測試矩陣。通過測試後,將上線營運的訪客 SSID 重新指向,並移除舊供應商豁免清單中的條目,特別是任何 Captive Portal 檢測網域。

透過 FortiGate Portal 擷取的訪客資料符合 GDPR 規範嗎?

是的,當 Portal 在 Purple 上執行時,同意條款與資料處理皆符合 GDPR。Purple 會記錄每位訪客的明確選擇同意,因此行銷同意與網路存取權限是分開的。Purple 通過 ISO 27001 與 Cyber Essentials 認證。FortiGate 會將用戶端 MAC 地址等連線階段詳細資訊傳送至 Portal,但訪客記錄儲存於 Purple 中。您仍然是資料管理者,並可設定自己的保留政策與隱私權聲明。

我應該使用 FortiGate 內建的 Portal 還是外部 Portal?

如果單一據點只需要免責聲明頁面,請使用內建 Portal。當您營運多個據點、需要社群帳號登入或第一方資料,或是管理混合硬體設備時,請使用外部 Portal。內建頁面部位於每台 FortiGate 上,必須逐一據點進行編輯。而外部 Purple Portal 只需在一處變更,就能記錄每個場地的同意選擇與連線階段分析。

FortiGate 部署需要多少工程心力?

單一據點僅需變更設定,而非硬體工程。您只需要建立一個 RADIUS 伺服器物件、一個使用者群組、一次 SSID 或介面變更、一份豁免清單、一條策略以及一張憑證。大部分的心力會放在 iOS、Android、Windows 與 macOS 的測試上。對於大型企業資產,可先在 FortiManager 中將設定建立為範本,於少數據點進行試點,然後推播至所有地方。

MSP 是否能在多個客戶的 FortiGate 上執行 Purple?

是的,MSP 可以透過單一帳戶架構,在多個客戶的 FortiGate 上執行 Purple。每個客戶據點都使用相同的設定模式,因此您可以在 FortiManager 中建立範本並分批部署。Purple 獨立於硬體的設計意味著使用 Cisco Meraki、HPE Aruba 或 Ruckus 的客戶都能使用相同的 Portal。在簽約前,請先查看我們白標 Captive Portal 軟體指南中的商業條款。

外部 Portal 是否適用於有線訪客網路?

是的,FortiGate 可以在介面以及 FortiAP SSID 上強制執行 Captive Portal。在提供有線訪客 VLAN 服務的介面上啟用 Captive Portal,選擇外部 Portal 並指向相同的 Purple RADIUS 群組。這樣一來,Kiosk 資訊站、會議室連接埠與第三方基地台就能與您的無線訪客共享同一個 Splash Page、同一份條款同意記錄與同一份計費紀錄。

關鍵定義

Captive Portal

裝置在網路轉發其流量之前必須完成的網頁。FortiGate 會攔截第一個 HTTP 請求並將其重新導向至外部門戶 URL,同時附加識別工作階段、用戶端 MAC 位址和 FortiGate 登入位址的參數。

您會在設定 SSID 或介面安全性模式時遇到它。選擇外部選項會將頁面、同意書和訪客資料轉移至 Purple,同時由 FortiGate 保持強制執行。

RADIUS

遠端用戶撥號驗證服務(Remote Authentication Dial-In User Service),定義於 RFC 2865。用戶端傳送 Access-Request,伺服器則以 Access-Accept 或 Access-Reject 回覆。驗證傳統上在 UDP 1812 上執行。

FortiGate 使用指向 Purple 的 RADIUS 伺服器物件來決定訪客是否通過驗證。錯誤的共享密鑰、來源位址或被封鎖的 UDP 1812 會導致門戶雖然接受詳細資料卻無法提供網際網路連線。

RADIUS 計費

規範於 RFC 2866。用戶端傳送 Accounting-Request 訊息,標記工作階段的開始、中期更新和停止,傳統上使用 UDP 1813。

計費功能會將工作階段記錄傳送至 Purple 報表中。如果停用該功能或封鎖了 UDP 1813,工作階段將不會出現在報表中。

共享密鑰

此金鑰定義於 RFC 2865,RADIUS 客戶端與伺服器用來互相進行身分驗證,並用以遮蔽 Access-Request 封包中的 User-Password 屬性。

此數值是您的 Purple 帳戶專用的。請從您的儀表板與 Purple 的 FortiGate 支援文章取得,絕不要從論壇貼文中獲取。

Session-Timeout

此 RADIUS 屬性定義於 RFC 2865,伺服器會在 Access-Accept 中傳回該屬性,以設定重新身分驗證前的最大工作階段長度。

若您的 FortiOS 版本支援,Purple 可以集中設定工作階段長度,無須依賴每個 FortiGate 的身分驗證超時設定。

Exempt list (walled garden)

附加至 Captive Portal SSID 或介面的一組防火牆位址物件,裝置可在進行身分驗證前存取這些物件。在 FortiGate 上,這些通常是 FQDN 或萬用字元 FQDN 位址物件。

設定太短,導向頁面或社群登入會無法運作。設定太長,訪客則能在未登入的情況下瀏覽網路。

Wildcard FQDN address object

比對網域樣式的 FortiGate 位址物件。FortiGate 會根據通過 FortiGate 的 DNS 回應來填入該物件,而不是像標準 FQDN 物件一樣由自身進行解析。

社群登入提供者是透過變更位址的 CDN 來提供頁面。萬用字元 FQDN 物件僅會在訪客使用 FortiGate 或其解析程式作為 DNS 時才能穩定比對。

Captive network detection

作業系統在加入網路時對純 HTTP URL 進行的探測,例如 captive.apple.com、connectivitycheck.gstatic.com 與 www.msftconnecttest.com。被重新導向的探測會指示裝置開啟其登入頁面。

這些網域絕不能列入豁免。否則裝置會顯示已連線,且不會跳出登入頁面。

HSTS

HTTP Strict Transport Security,規範於 RFC 6797。網站會指示瀏覽器僅透過 HTTPS 連線。當出現憑證警告時,無法點擊通過 HSTS 預載清單上的網站。

解釋了為什麼在登入前開啟銀行或電子郵件網站的訪客會遇到強制阻擋。解決方法是 Captive network detection,而不是憑證。

VLAN

虛擬區域網路,即獨立的 Layer 2 廣播域,在 IEEE 802.1Q 下的 Trunk 連結上進行標記。

訪客應屬於其專屬的 VLAN 或 SSID 介面,絕不能與員工或付款裝置共用子網路。

PCI DSS

由 PCI Security Standards Council 發布的支付卡產業資料安全標準。它要求處理持卡人資料的系統必須與不受信任的網路進行區隔。

訪客 WiFi 是不受信任的網路,因此將其與付款裝置進行區隔有助於縮減 PCI DSS 範圍。

Tunnel mode SSID

一種 FortiAP SSID 模式,其中用戶端流量會透過通道傳回 FortiGate 無線控制器,而不是在存取點進行本地橋接。

Fortinet 的說明文件使用 Tunnel 模式作為 Captive Portal SSID 的參考。如果您在本地進行橋接,請確認您的韌體在該模式下支援 Captive Portal。

範例

一家擁有 200 間客房的飯店,使用 FortiGate、30 台 FortiAP 和隧道模式的訪客 SSID,發現使用 iPhone 的訪客看不到登入頁面。而那些到達頁面的訪客在送出時遇到了憑證警告。是什麼修復了這個問題?

工程師在豁免清單中發現了前一個供應商留下的 captive.apple.com 並將其移除。由於偵測探針被豁免,iOS 認定網路是開放的,因此從未開啟登入頁面。接著,他們在解析為訪客介面的主機名稱上安裝了公開受信任的憑證,並將 post-back 移至 HTTPS,從而消除了自我簽署憑證警告。最後,他們新增了啟用了計費功能的 Purple RADIUS 伺服器。在變更後的測試矩陣中,登入頁面在所有四個平台上自動開啟,且未出現憑證警告。每個測試工作階段都成功傳送至 Purple,並包含開始、中期及停止記錄。

一家擁有 40 家門市的零售連鎖店,其 MSP 為每家門市運行一台 FortiGate,發現顧客的 Google 與 Apple 登入出現間歇性失敗,但僅發生於部分門市。原因和修復方法是什麼?

在受影響的門市中,DHCP 向顧客發放了公共 DNS 解析器。FortiGate 解析供應商 CDN 主機名稱所得的位址與顧客接收到的位址不同,導致豁免條目無效。MSP 將供應商切換為萬用字元 FQDN 物件,並讓 FortiGate 擔任訪客 DNS 伺服器,使 FortiGate 與顧客看到相同的解析結果。他們在三家門市試行了這項變更,所有三種社群登入方式在每個平台上均順利完成。然後,他們透過 FortiManager 將相同的範本推送到其餘 37 家門市。

市議會圖書館在第三方存取點和四台有線公共 kiosk 上提供訪客 WiFi,兩者皆位於一台 FortiGate 後方。市議會希望使用統一的條款頁面和審計軌跡。這是如何設定的?

工程師在 FortiGate 訪客介面上啟用了 Captive Portal,而非在 SSID 上啟用。介面模式涵蓋第三方存取點和有線訪客連接埠,因此單一設定即可涵蓋兩者。相同的外部 Purple 門戶和 RADIUS 使用者群組同時為無線訪客和 kiosk 工作階段提供服務。無線與有線工作階段隨後出現在 Purple 的單一計費記錄中,對應至單一條款同意記錄。這讓市議會在被問及誰在何時使用了網路時,能夠提供單一的標準答案。

常見問題

Purple 可以搭配我現有的 FortiGate 和 FortiAP 硬體使用嗎?

是的,Purple 無需新增硬體即可在您現有的 FortiGate 和 FortiAP 設備上運作。FortiGate 會執行 Captive Portal 並將 RADIUS 驗證與計費資料傳送給 Purple,而 Purple 則負責託管登入頁面。相同的做法也適用於位於 FortiGate 介面後方的第三方 AP。Purple 還支援 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium 和 Extreme,因此混合設備環境可以共用同一個 Portal。

使用外部 Captive Portal 需要額外的 Fortinet 授權嗎?

不需要,Captive Portal 和 RADIUS 用戶端是標準的 FortiOS 功能,因此 FortiGate 不需要額外的 Portal 授權。您只需要受支援的 FortiOS 版本,若是無線網路,則需要由 FortiGate 管理的 FortiAP。無論是 Connect、Capture 還是 Engage,Purple 方案都是分開授權的。我們的 Captive Portal 定價模式指南解釋了按據點、按 AP 和按使用者計費的比較。

我可以在不停機的情況下,從現有的訪客 WiFi 提供者轉移過來嗎?

可以,只要您在切換之前平行建置 Purple 的設定即可。在現有設定旁新增 Purple 的 RADIUS 伺服器和新的使用者群組,然後使用這些設定建立測試 SSID 或介面。在該測試網路上執行完整的裝置測試矩陣。通過測試後,將上線營運的訪客 SSID 重新指向 Purple,並移除舊提供者的豁免清單項目,特別是任何 Captive Network 偵測網域。

透過 FortiGate Portal 擷取的訪客資料符合 GDPR 規範嗎?

是的,當 Portal 在 Purple 上運行時,同意與資料處理均符合 GDPR 規範。Purple 會記錄每位訪客的明確選擇同意,因此行銷同意與網路存取權限是分開的。Purple 通過 ISO 27001 和 Cyber Essentials 認證。FortiGate 會將用戶端 MAC 位址等工作階段詳細資料傳送至 Portal,但訪客記錄保存在 Purple 中。您仍然是資料控制者,並可設定自己的保留期限與隱私聲明。

我應該使用 FortiGate 內建 Portal 還是外部 Portal?

如果您只有單一據點且只需要免責聲明頁面,請使用內建 Portal。當您營運多個據點、需要社群登入或第一方資料,或是管理混合硬體時,請使用外部 Portal。內建頁面部位於每台 FortiGate 上,必須按據點逐一編輯。外部 Purple Portal 則可在單一地方進行修改,並為每個場地記錄選擇同意與工作階段分析資料。

部署 FortiGate 需要多少工程工作量?

單一據點屬於設定變更,而不是硬體專案。您需要建立一個 RADIUS 伺服器物件、一個使用者群組、一次 SSID 或介面變更、一個豁免清單、一條原則和一張憑證。大部分的工作量集中在 iOS、Android、Windows 和 macOS 上的測試。對於多據點環境,可在 FortiManager 中將設定建置為範本,先在少數據點進行試行,然後推播至所有地方。

MSP 可以在多個客戶的 FortiGate 上運行 Purple 嗎?

是的,MSP 可以透過單一帳號結構在眾多客戶的 FortiGate 上運行 Purple。每個客戶據點都使用相同的設定模式,因此您可以在 FortiManager 中套用範本並進行批次部署。Purple 的硬體無關設計意味著使用 Cisco Meraki、HPE Aruba 或 Ruckus 的客戶可以共用相同的 Portal。簽約前,請先查看我們白標 Captive Portal 軟體指南中的商業條款。

外部 Portal 適用於有線訪客網路嗎?

是的,FortiGate 可以在介面以及 FortiAP SSID 上強制執行 Captive Portal。在提供有線訪客 VLAN 的介面上啟用 Captive Portal,選擇外部 Portal 並指向相同的 Purple RADIUS 群組。如此一來,Kiosk 導覽機、會議室網路埠和第三方 AP 就能與您的無線訪客共用同一個登入頁面、條款接受記錄與計費日誌。

對於您的特定設置有任何疑問嗎?

我們的團隊與超過 80,000 個場域的場域營運商、IT 經理和網路工程師合作。立即預約 20 分鐘的通話,我們將向您展示其他與您相似的用戶是如何解決此問題的。