Shunze 學園 (http://www.shunze.info/forum/index.php)
|- Sophos XG (http://www.shunze.info/forum/board.php?boardid=36)
|-- 《分享》STAS SSO設定 (http://www.shunze.info/forum/threadid.php?boardid=36&threadid=1989)


作者: shunze 發表時間: 2016-09-26, 17:48:

《分享》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 堙A把此AD主機加入Authentication Server中,
    讓它成為前端user帳/密驗證的主機之一。



    接著在 System > Authentication > Authentication Server 堙A
    剛才的AD主機上按下 import 按鈕,匯入AD堛爾s組資訊。



    在跳出的群組匯入導引精靈中,按下開始按鈕。



    然後在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



    完成後,可用以下指令來檢視Collector是否成功加入。
    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堛態uthentication中,當然也可以查到使用者的登入記錄。



    於Log堛搴ecurity Policy中也可以看到網域user確實是透過身份驗證的規則連外,並帶出使用者帳號。


SSO驗證已成功的發揮作用∼
Sophos XG的STAS設定到此告一段落。


參考資料
Implement Clientless SSO Authentication ...main Controller


作者: shunze 發表時間: 2016-10-13, 13:37:

《分享》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_active0,意謂著驗證資訊無法成功傳送給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機制就會出錯...


作者: shunze 發表時間: 2018-09-03, 18:08:

《分享》STAS “Test connection failed”

客戶反映一個問題,AD主機在裝好STAS Agent後,一直無法抓到user的登入記錄。

經查STAS Agent在與XG的連線時出了問題,
出現“Test connection failed”無法連線的錯誤。



上網查詢後發現,原來是AD所在的Zone其 Client Authentication 功能要打開!



在啟用此功能後,AD主機果然與XG順利連上線了∼


參考資料
STAS "Test connection failed"

Powered by: Burning Board 1.1.1 2001 by WoltLab
Taiwan Translation by Achi