Cyberoam全系列防火牆是屬於Application Level的防火牆,也是目前我們在著重於網站安全的選擇之一,畢竟目前所有的防火牆幾乎都是Network Level加上各大模組,將防火牆的功能提升至Application Level,當然在Cyberoam防火牆其中的一個特性,是可以透過AD或LDAP驗證後,去整合防火牆的連線規範,透過不同的使用者和不同的安全規範,來達成企業的各項不同的安全需求,因此在身份驗證就成了企業最基本的需求...
Cyberoam全系列防火牆是屬於Application Level的防火牆,也是目前我們在著重於網站安全的選擇之一,畢竟目前所有的防火牆幾乎都是Network Level加上各大模組,將防火牆的功能提升至Application Level,當然在Cyberoam防火牆其中的一個特性,是可以透過AD或LDAP驗證後,去整合防火牆的連線規範,透過不同的使用者和不同的安全規範,來達成企業的各項不同的安全需求,因此在身份驗證就成了企業最基本的需求。目前這項功能並不是所有防火牆都能滿足企業的需求,因此在整合驗證就成了其中一個賣點。
Jason於今年六月因客戶的需求,必須建置Windows 2008 R2為基礎的AD架構,在建置過程中,發現Cyberoam竟然在整合時會產生衝突,且無法將Cyberoam的驗證服務整合到AD之下,如此一來,就無法對使用者的連線行為進行更細步的管理,在此過程中翻閱了所有Cyberoam及Microsoft的KB,當然也向原廠奕瑞科技求援,因為這個問題並不是單一事件造成,為了讓其它網友鄉民們遇到相同狀況時,可以立即處理,不需要再進行測試,特別將本案中所遇到的各種問題整理一下,跟大家一起分享。
首先,我們先說明一下架構,環境中除了有以Windows 2008 R2建置的DC以外,也有以Windows 2003 R2所建置的DC,但是,為了使置放於DMZ區的設備可以進行驗證,因此於DMZ區中置放乙台RODC(Reader-Only DC),RODC相關文件,大家可以參閱下列連結(http://technet.microsoft.com/zh-tw/library/cc753223%28WS.10%29.aspx RODC 功能),但是奇怪的事情就此發生了,在未建置乙台RODC之前,是可以將Cyberoam驗證服務整合併入AD之中,驗證的設定如下列連結所示 (http://kb.cyberoam.com/default.asp?id=524&Lang=1 Implement Single Sign On authentication with Active Directory Integration),而其驗證處理流程如下圖所示:(圖片來源於http://www.cyberoam.com/downloads/guides/V7000/Cyberoam%20-%20PDC%20Integration%20Guide.pdf)
圖片上淺顯易懂的,讓我們知道當使用者連上網路時,Cyberoam會將使用者驗證的需求轉發給設定驗證清單上的主機,完成驗證後,會將驗證結果回饋給Cyberoam,Cyberoam再針對F/W Policy去判斷這個使用者是否可以通行。
但是問題來了,我們怎麼去判斷這個使用者可以透過驗證的Policy連到網路上呢?
在Cyberoam的驗證方式中,化零為整的,直接以群組的方式來進行驗證,因此使用者的驗證均透過所屬的群組來進行認定,所以在Cyberoam上必須設定驗證服務主機進行驗證。
而Jason所遇到的問題即是發生在加入所有用戶端(Windows 7, XP)及RODC後,所產生的問題,在混合環境中會自動的引用三項本機安全性原則,原本架起AD時,在Default Domain Controllers Policy中並無嚴格規範這三項:
- 網域控制站:LDAP伺服器簽章要求(無)
- 網路安全性:LDAP用戶端簽章要求(尚未定義)
- 網路安全性:LAN Manager驗證等級 (尚未定義)
如下圖所示:
但是在建置好後,在Default Domain Controllers Policy中確出現了這三項的設定變成下列所示:
- 網域控制站:LDAP伺服器簽章要求(要求簽章)
- 網路安全性:LDAP用戶端簽章要求(要求簽章)
- 網路安全性:LAN Manager驗證等級 (只傳送NTLMv2回應)
如下圖所示:
因此在查閱安全性原則後,發現了這三項的變化,而以可以達成SSO及安全的衡量之下,建議改為下列選項,即可完成驗證服務的基本要求,並且在指定要做SSO存取來源的驗證主機上開啟TCP 389 Port,凖予Cyberoam LAN Port IP存取即可。
- 網域控制站:LDAP伺服器簽章要求(無) < - 因XP不支援,只能設定無。
- 網路安全性:LDAP用戶端簽章要求(交涉要求) < - 可啟動的用戶端則啟動,不支援者則略過
- 網路安全性:LAN Manager驗證等級 (傳送LM及NTLM回應) < - 為使XP用戶可存取資源指定為本項
以上三項本機原則的內容如下所示:
網域控制站: LDAP 伺服器簽章要求
這項安全性設定決定 LDAP 伺服器是否需要與 LDAP 用戶端交涉簽章,如下所示:
無: 不需要資料簽章即可與伺服器連結。如果用戶端要求資料簽章,伺服器可提供支援。
要求簽章: 除非使用 TLS\SSL ,否則必須交涉 LDAP 資料簽章選項。
預設值: 未定義此原則,相當於設定為 [無]。
警告
如果您將伺服器設定為 [要求簽章],那麼您也必須設定用戶端。如果未設定用戶端,會造成與伺服器的連線中斷。
注意
此設定對於 LDAP 簡單繫結或透過 SSL 進行的 LDAP 簡單繫結沒有任何影響。Windows XP Professional 隨附的所有 Microsoft LDAP 用戶端均不使用 LDAP 簡單繫結或透過 SSL 進行的 LDAP 簡單繫結與網域控制站通訊。
如果需要簽章,則將拒絕 LDAP 簡單繫結和透過 SSL 進行的 LDAP 簡單繫結。執行 Windows XP Professional 或 Windows Server 2003 系列的所有 Microsoft LDAP 用戶端均不使用 LDAP 簡單繫結或透過 SSL 進行的 LDAP 簡單繫結與目錄服務繫結。
網路安全性: LDAP 用戶端簽章要求
此安全性設定決定代表發出 LDAP BIND 要求之用戶端所要求的資料簽章層級,如下:
無: LDAP BIND 要求隨呼叫者指定的選項發出。
交涉簽章: 若未啟動傳輸層安全性/安全通訊端層 (TLS\SSL),會隨呼叫者指定的選項以外的 LDAP 資料簽章選項初始化 LDAP BIND 要求。若已啟動 TLS\SSL,會隨呼叫者指定的選項初始化 LDAP BIND 要求。
要求簽章: 這和交涉簽章相同。不過,若 LDAP 伺服器的中繼 saslBindInProgress 回應未指示 LDAP 流量簽章為必要的,則會告知呼叫者 LDAP BIND 命令要求失敗。
警告
如果您將伺服器設定為 [要求簽章],那麼您也必須設定用戶端。如果未設定用戶端,會造成與伺服器的連線中斷。
注意: 此設定對於 ldap_simple_bind 或 ldap_simple_bind_s 沒有任何影響。Windows XP Professional 隨附的所有 Microsoft LDAP 用戶端均不使用 ldap_simple_bind 或 ldap_simple_bind_s 與網域控制站通訊。
網路安全性: LAN Manager 驗證等級
此安全性設定決定使用哪種 Challenge/Response 驗證通訊協定登入網路。此選擇會影響用戶端使用的驗證通訊協定層級、交涉的工作階段安全性層級,以及伺服器接受的驗證等級,如下:
傳送 LM 和 NTLM 回應: 用戶端使用 LM 和 NTLM 驗證,絕不使用 NTLMv2 工作階段安全性; 網域控制站接受 LM、NTLM 及 NTLMv2 驗證。
傳送 LM 和 NTLM - 如有交涉,使用 NTLMv2 工作階段安全性: 用戶端使用 LM 和 NTLM 驗證,而且若伺服器支援,則會使用 NTLMv2 工作階段安全性; 網域控制站接受 LM、NTLM 以及 NTLMv2 驗證。
只傳送 NTLM 回應: 用戶端只使用 NTLM 驗證,而且若伺服器支援,則會使用 NTLMv2 工作階段安全性; 網域控制站接受 LM、NTLM 及 NTLMv2 驗證。
只傳送 NTLMv2 回應: 用戶端只使用 NTLMv2 驗證,而且若伺服器支援,則會使用 NTLMv2 工作階段安全性; 網域控制站接受 LM、NTLM 及 NTLMv2 驗證。
只傳送 NTLMv2 回應\拒絕 LM: 用戶端只使用 NTLMv2 驗證,而且若伺服器支援,則會使用 NTLMv2 工作階段安全性; 網域控制站拒絕 LM (只接受 NTLM 與 NTLMv2 驗證)。
只傳送 NTLMv2 回應\拒絕 LM 和 NTLM: 用戶端只使用 NTLMv2 驗證,而且若伺服器支援,則會使用 NTLMv2 工作階段安全性; 網域控制站拒絕 LM 和 NTLM (只接受 NTLMv2 驗證)。
重要
此設定會影響執行 Windows 2000 Server、Windows 2000 Professional、Windows XP Professional 及 Windows Server 2003 系列之電腦和執行 Windows NT 4.0 或更舊版本的電腦經由網路通訊的能力。例如,目前執行 Windows NT 4.0 SP4 或更舊版本的電腦並不支援 NTLMv2。執行 Windows 95 和 Windows 98 的電腦不支援 NTLM。
預設值:
Windows 2000 與 windows XP: 傳送 LM 和 NTLM 回應
Windows Server 2003: 只傳送 NTLM 回應
Windows Vista、Windows Server 2008、Windows 7 和 Windows Server 2008 R2: 只傳送 NTLMv2 回應
Anything keeps Availability.
Anywhere keeps Integrity.
Anytime keeps Confidentiality.
keep A.I.C. = Information Security