紀錄一下,來源如下
=======================
《分享》STAS SSO設定 |
在Domain Controller上裝一個agent以收集網域使用者的登入資訊,是SSO架構中對使用者衝擊最小的一種部署方式。
不過設定上有些複雜,這copy自Cyberoam的Sophos KB真是讓人挫折連連,
最後還是得靠原版的Cyberoam KB,才勉強在LAB中測試成功。
以下我們就來看看要如何架設Sophos Transparent Authentication Suite (STAS)。
測試環境
Sophos XG LAN IP 172.16.16.16
AD主機OS Windows 2008 R2
AD主機IP 172.16.16.1
AD domain name: demo.com
NetBIOS name: demo
- Sophos XG上的設定
首先我們要在XG上加一筆AD主機的資料,讓XG知道除了本機帳號外,還有AD主機可做為帳/密的驗證依據。
在 System > Authentication > Authentication Server 增加一筆AD主機,
其中 Display Name Attribute 請輸入 sAMAccountName 這是微軟AD的標準屬性值,
Email Address Attribute 請輸入 mail 即可,
另外在Search Queries則輸入AD網域的完整名稱,以順子的lab demo.com為例,請輸入 DC=demo,DC=com。
輸入完整資訊後,可透過左下角 Test Connection 按鈕來測試XG與AD的連結是否成功。
然後在 System > Authentication > Authentication Services 裏,把此AD主機加入Authentication Server中,
讓它成為前端user帳/密驗證的主機之一。
接著在 System > Authentication > Authentication Server 裏,
剛才的AD主機上按下 import 按鈕,匯入AD裏的群組資訊。
在跳出的群組匯入導引精靈中,按下開始按鈕。
然後在Base DN選擇剛才建立AD主機資訊時,所輸入的Search Queries值,
以順子的lab來說,就是 DC=demo,DC=com。
接著選擇要匯入的AD群組,以順子的lab來說,順子只要匯入 demoGroup 這個群組,其它的不要。
然後設定此群組的配額設定,若還不確定?就跟順子一樣,用預設即可,有需要之後可再調整。
最後檢視資訊,看看有沒有問題。若沒問題,按下一步。
按下 OK 進行匯入。
完成後可在 Objects > Identity > Groups 中看到匯入的AD Group – demoCroup。
若要調整該群組權限,請在此進行。
XG上的作業差不多完成了,接著在 System > Authentication > Authentication Clients 中下載要在AD中安裝的Agent軟體 – STAS,
將該軟體複製到AD主機上準備安裝。 - AD主機上的設定
XG之所以能夠做到SSO,主要是透過查詢AD主機上的登出入記錄來進行使用者的帳號確認,
所以在AD主機上,用來稽核使用者登出入的功能一定要啟用!
在系統管理工具的 本機安全性原則 中,請啟用 本機原則 中 稽核原則 的以下兩個項目。
稽核登入事件的成功/失敗事件。
稽核帳戶登入事件的成功/失敗事件。
完成後,就可以開始安裝STAS軟體了。 - AD主機安裝STAS
STAS軟體其實分為Agent與Collector兩個部分。
Agent – 用來監控使用者的認證需求,並把驗證訊息傳送給Collector。
Collector – 處理Agent所收到的認證需求,然後並把需求傳送給XG。
整個網域環境中只需要一台AD主機做為Collector來跟Sophos XG傳送認證需求;
但所有AD主機則都要裝Agent,以收集user的登出入資訊,再將資訊統一送交給Collector。
安裝STAS時,請務必以系統管理員身分來執行。
由於lab中順子只有一台AD主機,所以這台AD主機將會以SSO Suite的方式來進行安裝,
同時負責Agent與Collector兩個角色。
在AD網域的管理員帳號部分,請務必以網域的格式來填寫,否則在安裝完成後,會無法啟動服務。
若安裝時,未以系統管理員身分來執行,會出現以下錯誤,安裝時請留意!
安裝完成後,在第一個頁籤General中請按下Start啟動服務。
若啟動失敗?可以到系統管理工具的服務中檢視該STAS服務的執行帳號是否正確,
安裝時,是否以網域的格式來輸入網域管理員帳號。
其實在使用過程中,順子也遇過明明帳密都對,但就是無法啟動服務的怪問題?
最後順子是在服務中,把登入身份由“這個帳戶”改為“本機系統帳戶”確認服務可成功啟動後,
再改回“本機系統帳戶”進行測試,之後就可以以“本機系統帳戶”順利啟動服務。
遇到無法正常啟動STAS服務時,請多試試各種組合變化…
另外啟動服務前,也請務必確認NetBIOS Name與FQDN的正確性。
然後在Agent頁籤,請把要監測的網段172.16.16.0/24加入;
Agent Mode就用預設的EVENTLOG即可。
當然若您要監測的網段不止一個,記得全部都加進去喔~
而在Collector頁籤中,請把Sophos XG的IP加入Sophos Appliances中,
Workstation Polling Method採預設的WMI即可。
↑Enable Logoff Detection不建議勾!
既然user都已經登入了,就保留登入session吧,
反正登出後,再次登入電腦時,會有新登入記錄可稽核,不用特別勾選logoff偵測。
設定好,可在Advanced頁籤中,進行相關測試。
在測試時與Sophos的連線時,會出現“連線成功,但在Sophos中尚未把此Collector IP加入”的訊息?
那還等什麼?接著就在Sophos XG中把Collector的IP加入吧~ - XG啟用CTA
連到XG的Console mode,輸入以下指令啟用CTA,
然後再把AD所扮演的Collector 172.16.16.1加入XG中。
system auth cta enable
system auth cta collector add collector-ip 172.16.16.1 collector-port 6677 create-new-collector-group
system auth cta show
在XG設定好後,回到AD上再進行測試,這時應該就只會出現連線成功的訊息了~
而前端使用者在登入網域時,在STAS的Show Live Users應該也可以看到登入的使用者資訊,
那麼AD上的作業都完成了,接著要回到XG上設定內對外的規則,只放行經過驗證的user。
- XG設定身份驗證policy
那如何要求使用者一定要登入網域才能上網呢?
基本上我們會建立兩條規則,第一條是啟用身份驗證,並放行demoGroup與Clientless主機的對外;
而第二條就是擋掉內對外的所有服務。
這樣一來,就只有驗證過的使用者才能上網。
而在使用者登入網域,透過AD的STAS完成SSO後,在XG的Users中我們可以看到登入的網域帳號已自動加在Users清單中。
另外,我們也可以在 System > Current Activity > Live Users 中查詢到目前活動的使用者名單。
在Log裏的Authentication中,當然也可以查到使用者的登入記錄。
於Log裏的Security Policy中也可以看到網域user確實是透過身份驗證的規則連外,並帶出使用者帳號。
SSO驗證已成功的發揮作用~
Sophos XG的STAS設定到此告一段落。
參考資料
Implement Clientless SSO Authentication …main Controller
《分享》STAS AD主機上需放行的port |
若參照上文方式,分別於XG及AD上進行設定,但SSO就是失敗!?
請回頭檢查一下AD上的UDP 6677 port是否已經放行。
或許您認為,AD主機上的防火牆都已經關了,沒必要再針對UDP 6677 port放行,
但在實測中發現,沒有特別放行此port,在SSO的機制運作中,難免會出現怪怪、難以解釋的情況。
在順子的lab中,就出現以下這樣的情況,
前端使用者登入網域後,SSO失效,在XG上沒有出現對應的登入記錄!?
在STAS agent中查看log後,
出現如下記錄,
MSG [0xd30] 2016/10/13 11:35:49 : SSO_client_update_heartbeat: cr_node:172.16.16.16 is_active:0
is_active 的值為 0 是問題的主要原因,
is_active 為 0,意謂著驗證資訊無法成功傳送給XG進行SSO。
在AD主機上的進階防火牆,額外針對UDP 6677 port放行後,再進行測試。
這時log上的記錄就不同了,is_active 的值變為 1,當然使用者的登入資訊,也就能傳送給XG做SSO了~
MSG [0xc58] 2016/10/13 11:40:32 : SSO_client_update_heartbeat: cr_node:172.16.16.16 is_active:1
至於STAS Agent上的Sophos Appliances欄位能否正確顯示XG的IP則不是那麼重要。
有當然是賞心悅目,沒有也不見得SSO機制就會出錯…
《分享》STAS “Test connection failed” |
客戶反映一個問題,AD主機在裝好STAS Agent後,一直無法抓到user的登入記錄。
經查STAS Agent在與XG的連線時出了問題,
出現“Test connection failed”無法連線的錯誤。
上網查詢後發現,原來是AD所在的Zone其 Client Authentication 功能要打開!
在啟用此功能後,AD主機果然與XG順利連上線了~
參考資料
STAS "Test connection failed"
近期留言