Aruba Clearpass Onboard (Azure AD) OAuth

本文以Microsoft Azure Activity Directory為整合例子。

OAuth 是 Open standard Authorization 的縮寫,因為變成開放標準,所以可以整合一些社群網站,一個網站就利用取得該社群網站的資訊去註冊會員。

由於雲端化服務,要串接授權服務是透過API,利用ID與Secret去使用API得到權限,與網路傳統的本地端以帳密或是通訊埠對接差異極大。API需要先在後台創造使用權限,然後一番操作才能產生ID與Secret,再放入Clearpass的設定中。

在Aruba Support Portal中可以透過關鍵詞找到Clearpass與其他平台整合的文件,這次的參考文件是《Onboard and Cloud Identity Providers》。

所需條件:

  • Microsoft Azure
  • Clearpass
  • DNS host for Clearpass
  • Https Certificate

要整合Azure AD,首先要有個Microsoft Azure帳號,第一次註冊會送一些點數使用,但使用上不會用到收費項目,可以大膽使用。

在Microsoft Azure上的設定,請對應參考文件設定,如果順利完成,可以得到API要使用的應用程式ID與其Secret,並且在Clearpass onboard中設定完成。

使用者使用流程:

  1. 使用者設備連線到onboard設定用ssid,跳轉至設定網頁
  2. 選擇 Microsoft Azure AD,並且登入帳號密碼。(※如果非該AD內的帳號,會跳出錯誤通知)
  3. 得到Onboard連線的SSID設定檔,Windows跟MAC可以直接安裝設定檔,而Android跟iOS需要透過安裝「ClearPass QuickConnect」才能打開並執行設定檔。
  4. 使用者手動從設定用SSID切換至連線用SSID。
  5. 成功連線。

兩種SSID

第一種設定用SSID是Open的認證方法,目的是為了讓使用裝置能到指定網頁登入,並取得相關設定檔才能連上連線用的SSID。此SSID設定的需要受限制,在白名單盡量最少開放能讓各平台可以運作的Domain Name,除了基本的MS,還要開Google Play讓使用者能下載應用程式。開放太多,也會使得跳轉至登入網頁失靈。

第二種連線用SSID是透過第一種SSID下載的設定檔安裝後才能連線,設定檔裡面包含憑證,這憑證會於802.1x中以TLS協定,對Clearpass來說收到Client的憑證,會去向OSCP URL做查閱,看看該憑證是否為有效的憑證。

在CPPM中,身分驗證方法的OCSP URL要指向簽發使用者憑證的CA

因此簽發設備憑證CA的OCSP URL是很重要的,如果不是用CPPM預設的Local CA,就要記得修改才會正常。

設定流程:

  1. 設定規劃與前準備:決定兩種SSID的名稱分別為何?CPPM DNS Name?能被信任的Https Certificate?Onboard License?要用於簽發使用者憑證的CA?
  2. Microsoft Azure AD設定:請參考《Onboard and Cloud Identity Providers
  3. Clearpass設定
  4. Controller設定

Clearpass設定

首先進入Policy Manager安裝憑證。

Radius憑證以憑證要求簽名(CSR)向簽發使用者憑證用的CA做簽署,然後放回去。

Https憑證則直接匯入.pfx檔,可以順帶連根與中間CA都匯進去。若是拆開的,根與中間CA要去信任列表手動匯入。

本文是以ClearPass Onboard新增一個Root CA,名為Azure Oauth,若直接使用內建的 Local Certificate Authority也可以。

在Onboard => 配置 => 網路設定,新增一個Profile,SSID名稱為連線用的SSID名稱
在Onboard => 部署和預配 => 配置文件,新增一個Profile,在網路選擇剛剛在網路設置新增的Profile
在Onboard => 部署和預配 => 預設配置,新增一個Profile,配置文件改成上一部新增的Profile。
證書頒發機構與TLS證書頒發機構
在Web-登錄分頁,勾選「使用雲標示/社交網路憑證啟用登錄」,並且添加新身分驗證提供程序。
客戶端ID與密鑰請對照參考文件取得,端點屬性選擇「創建其他端點屬性,已將任何數組轉換為JSON」
添加按鈕html至頁角或頁眉html,Microsoft Azure AD按鈕會出現在該位置。
在Onboard客戶端,地址部分填上CPPM FQDN,按保存。此時CPPM的DNS要能解析出該名稱,否則無法按保存。
按啟動,並且保存該網頁(CPPM Onboar Device Provisioning)的URL,用於設定用SSID的Captive Portal。
在Policy Manager => 配置 => 服務模板與嚮導 ,使用「Onboard」模板。※不要點到「僅Onboard服務」。
在配置 => 服務,會多出三個關於onboard的服務
選擇 Authorization 服務 => 授權,新增 Social Login 與 Endpoint。
選擇 Authorization 服務 => 身分驗證,選擇「EAP TLS With OCSP Enabled」然後複製,改名為「EAP TLS With OCSP Enabled_v2」,並且取消選取「所需授權」。OSCP URL改為簽發使用者憑證CA的OCSP URL。

最後到 配置 => 網路 => 設備,新增Controller。

Controller設定

透過CLI連入Controller,加入以下白名單。

Azure AD白名單

netdestination microsoftazuread
name privacy.microsoft.com
name aadcdn.msauthimages.net
name passwordreset.microsoftonline.com
name passwordsleakcheck-pa.googleapis.com
name *.google.com
name aadcdn.msauth.net
name aadcdn.msftauth.net
name www.microsoft.com
name login.microsoftonline.com
name *.aadcdn.microsoftonline-p.com
name aad.portal.azure.com
!

Android白名單※需要執行google play下載QuickConnect

netdestination googleplay
name android.clients.google.com
name *.googleapis.com
name *.gvt1.com
name *.ggpht.com
name *.googleusercontent.com
name *.gstatic.com
name clients.l.google.com
name accounts.google.com
name accounts.youtube.com
name connectivitycheck.android.com
name connectivitycheck.gstatic.com
!

CPPM白名單 ※二擇一

netdestination cppm
host <cppm ip>
!
netdestination cppm-onboard-provisioning
name <cppm onboard provisioning url>
!

新增Radius CPPM。

Configuration => Authentication => Auth Servers,新增Radius Server CPPM。
Configuration => Authentication => L3 Authentication,新增Captive Portal Profile,Login Page填入CPPM Onboar Device Provisioning的url,白名單選擇這次新增的白名單,再去Server Group更改為CPPM。
依需求新增Roles,SSID open-test需要使用Captive Portal,新增一個對應名稱的Role,Show Advanced View => More => Authentication,將Captive portal profile選擇剛剛新增的Profile。
在Policies,新增logon-control與captiveportal。
Configuration => WLANs,新增設定用SSID(test-open)、Security為open、Default Role為test-open(Captive Portal Role)。
連線用SSID(test-cppm)、Security為WPA2企業、Default Role為authenticated,勾選Server-derived roles可搭配CPPM作不同角色的權限分配。
Configuration => Authentication => AAA Profiles,將連線用的SSID其Server group改為CPPM。

實際測試

連上設定用SSID之後,輸入一個不允許DNS通行(即白名單之外)的網址,網頁會被redirect到設定網頁,按下按鈕Microsoft Azure AD,進行登入。

Windows (11)

登入成功後會下載ArubaQuickConnect.exe,然後使用系統管理員權限去執行它。安裝完成後,設備會直接連線到連線用SSID。

Android (13)

在使用Microsoft Azure AD登入之後,會先詢問有沒有安裝ClearPass QuickConnect,後面的設定檔要使用該APP才能安裝。下一步會自動下載quick1x.networkconfig,使用ClearPass QucikConnect開啟。順利安裝完成後,仍需要手動切換至連線用SSID。

iPadOS (15.6~15.7) iOS (15.5)

因為自動配置的網路設定檔安全層級為WPA,並不是正確的WPA2企業,所以安裝完後無法正常使用。

在使用Microsoft Azure AD登入之後,會先下載憑證,注意!憑證下載好後一定先進設定安裝,再繼續下載配置檔跟進設定安裝配置檔。不能一次下載兩個再一口氣安裝。