Citrix ADC web management OTP驗證

 
因原廠文件找不太到關於Web GUI的OTP驗證相關設定,故在測試及實作後將過程記錄下來。


若要針對web managememt啟用otp驗證,citrix需要第三方的驗證服務如AD、Radius等才有辦法達成
此篇以AD+OTP驗證為例進行設定(支援度比較完整)


 主要流程

  • 新增LDAP SERVER,會需要新增三個,一個是用來進行正常 1.LDAP驗證  2.OTP裝置申請 3.進行OTP驗證
  • 創建otp裝置管理頁面
  • 使用nFactor Visualizer設定各個驗證流程
  • 新增一個AAA SERVER作為OTP裝置管理網頁,並將nFactor Visualizer綁定置該AAA SERVER
  • 將設定好的OTP POLICY綁定在Global

 

System > Authentication > Basic Policies > LDAP > Servers
新增LDAP server





LDAP-LAB是要用來進行正常的LDAP驗證的,記得要勾選Authentication



選擇LDAP驗證時所採用的參數

再新增一個LDAP SERVER命名為OTP-registration,主要是進行OTP裝置進行註冊時會用到

注意Authentication不要勾選,另外所使用的AD帳號需要寫入物件的權限

OTP secret 為註冊裝置時所使用的參數,這邊使用userParameters(要確定目前adsi環境沒有使用此參數)

再新增一個LDAP SERVER命名為OTP-Authentication,主要進行otp驗證

注意Authentication不要勾選

LDAP參數部分要選sAMAccountNameFilter設定userParameters>=#@otp secret設定userParameters

所以驗證時會去比對userParameters的值


新增完sever後在System > Authentication > Advanced Policies > Authentication Policies 指派policy

這些policy為對應前面的LDAP SERVER

新增一個LDAPAuthtypeLDAPAction LDAP-LAB,下方Expressiontrue

新增一個OTPRegisterDevicetypeLDAPAction OTP-registration,下方Expressiontrue

新增一個LDAP-OTPAuthtypeLDAPAction OTP-Authentication,下方Expressiontrue

System > User Administration > Groups 中要新增Group,這邊的Group是要對應ADGroup用來派發在ADC上的權限



內建有預設的role可以使用

System > Authentication > Login Schema Profiles 新增一個管理OTP裝置的頁面

此處是設定與編輯登入驗證時要用到的頁面或方式

輸入自定義名稱,編輯頁面


選擇管理OTP裝置的xml


Security > AAA - Application Traffic > nFactor Visualizer > nFactor Flows 新增驗證相關流程

創建新的Factor

輸入自訂名稱,此Factor使用LDAP驗證

新增otp裝置的管理頁面

選擇前面創建的MANAGE_OTP

新增驗證的POLICY

選擇前面創建的LDAP驗證

新增驗證完要執行的Factor

輸入自定義名稱,此Factor主要負責驗證完成後要執行的動作

新增policy

選擇前面創建的OTPRegisterDevice

目前此nFactor Flow流程是,所有流量(true)會進行LDAP驗證,當驗證成功後會導入OTP裝置管理頁面

如果要做限制,像限制來源IP,可以編輯MGMT-LDAP的設定

TRUE更改成CLIENT.IP.SRC.IN_SUBNET(192.168.0.0/24) || CLIENT.IP.SRC.IN_SUBNET(172.16.15.0/24)

藉此限制來源,方便控管OTP管理頁面


接下來到Security > AAA - Application Traffic > Authentication Virtual Servers         新增AAA server

設定ip和決定是否要開啟https

若開啟https需要匯入憑證

nFactor Flow中將前面創建的flow綁定上去



完成後至 System > Authentication > Advanced Policies > Authentication Policies 將驗證綁到Global policy

如果要保留預設的登入方式要把local policy也綁上去

選擇的LDAPAuth(前面創建的policy),此為驗證(第一階段),之後在NextFactor(第二階段)Add

輸入名稱後在LoginSchemaAdd,新增雙因子驗證的頁面

自定義名稱後點編輯

點進LoginSchema後找到DualAuth.xmlselect

FeatureType選擇RBA_REQ之後按Continue

policy中選擇LDAP-OTPAuth


最後將policy綁定後就完成了

此時可以開始測試,先連線至前面新增的AAA SERVER(192.168.1.24)OTP裝置註冊,使用AD帳號登入

登入成功後可以開始申請裝置了,可以用googleAuthenticator進行註冊,或citrix sso app

註冊完畢後能在ad上看到userParameter有相關的資料

如果不想用網站進行管理的話,有第三方的工具能夠在ad上進行編輯操作

https://github.com/AndreasNick/OTPEdit


接下來登入web管理頁面,使用ad帳號登入

此時會要求輸入otp密碼

留言