使用 Google 進行 SSL VPN 認證

選項
Zyxel_Kenny
Zyxel_Kenny 文章數: 126 image  Zyxel Employee
First Comment Friend Collector Fifth Anniversary

OpenID Connect (OIDC) 是一種建立在 OAuth 2.0 之上的現代化認證協定。我們現在支援將 Google OIDC 整合用於 SSL VPN 認證。這項整合讓我們能利用現有的身分提供者(IdP)來提供流暢的登入體驗,同時集中管理帳號並降低與傳統密碼相關的風險。

unknown.png

 

開始之前

在設定防火牆之前,您必須先在身分提供者端(Identity Provider)完成所需的設定。

Authentication Proxy(認證代理)

請前往 User & Authentication > User Authentication > Advanced

為了避免 VPN 用戶端撥號時出現憑證警告,此處應使用商用 CA 簽署的憑證,或者您必須將內部 CA 的憑證部署到所有用戶端裝置上。此外,憑證的通用名稱 (CN) 或主體別名 (SAN) 必須是能解析為您防火牆 WAN IP 的 FQDN(完整網域名稱)。

image-5bc63d48256ee8-8f83.png unknown.png

在 Google 註冊 API 與服務

1.前往 Google Cloud Console > APIs & Services > OAuth consent screen

unknown.png

2.依照設定精靈輸入您的應用程式詳細資訊。建立一個專案名稱 (Project name) 

unknown.png

3.將 使用者類型 (User Type) 設定為 Internal (內部),以限制僅授權的工作坊參與者可存取 API,並確保環境隔離

unknown.png

unknown.png

4.輸入聯絡資訊並點選建立

unknown.png unknown.png


5.繼續透過設定精靈建立您的 OAuth 用戶端

unknown.png

6.將 Application type (應用程式類型) 選擇為 Web application (網頁應用程式)。為您的用戶端指定一個容易識別的名稱。

unknown.png

建立 OIDC AAA Server 

1. 登入 USG FLEX H 並前往 User & Authentication > User Authentication > AAA Server。點選 Add OIDC Server。

image-62adb9e8078138-4e57.png

請檢視 Google Console 上的 OAuth 用戶端 ID 總覽,您需要複製「Client ID」與「Client secret」來進行防火牆設定。

unknown.png


2.填寫伺服器詳細資訊:

Issuer URL: https://accounts.google.com 

Client ID: {Client ID} 

Client Secret: {Client Secret) 

Redirect Address: {FQDN} 

unknown.png

 

unknown.png

3.複製上述的「Redirect URI」,回到 Google 的 OAuth 2.0 Client IDs 頁面,並貼上至 Authorized redirect URLs (已授權的重新導向 URI) 欄位中。

unknown.png

4. 回到 USG FLEX H 的 OIDC Server 頁面,找到 Configuration Validation (設定驗證) 區塊。 

5. 點選 Test (測試)。

unknown.png

6.您應該會看到 "OIDC Authentication Successful"(OIDC 認證成功)。

unknown.png

USG FLEX H 系列上的 SSL VPN 設定 

1. 設定 SSL VPN,將 OIDC 設定為 Primary Server (主要伺服器),並將 Allowed User (允許的使用者) 設定為 oidc-users。

unknown.png

驗證 (Verification)

  1. 透過 OpenVPN Connect Client 連線 VPN。
  2. 瀏覽器會自動開啟 Google 登入頁面。
  3. 使用您的 Google 帳號進行認證。
unknown.png unknown.png

4. 前往 VPN Status > SSL VPN > Remote Access VPN 檢查連線狀態。

unknown.png