Windows 2008 R2 AD整合Cyberoam防火墙验证服务

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)

image

图片上浅显易懂的,让我们知道当使用者连上网络时,Cyberoam会将使用者验证的需求转发给设定验证清单上的主机,完成验证后,会将验证结果回馈给Cyberoam,Cyberoam再针对F/W Policy去判断这个使用者是否可以通行。

但是问题来了,我们怎么去判断这个使用者可以透过验证的Policy连到网络上呢?

在Cyberoam的验证方式中,化零为整的,直接以群组的方式来进行验证,因此使用者的验证均透过所属的群组来进行认定,所以在Cyberoam上必须设定验证服务主机进行验证。

而Jason所遇到的问题即是发生在加入所有用户端(Windows 7, XP)及RODC后,所产生的问题,在混合环境中会自动的引用三项本机安全性原则,原本架起AD时,在Default Domain Controllers Policy中并无严格规范这三项:

  1. 网域控制站:LDAP服务器签章要求(无)
  2. 网络安全性:LDAP用户端签章要求(尚未定义)
  3. 网络安全性:LAN Manager验证等级 (尚未定义)

如下图所示:

ad-ddcp

但是在建置好后,在Default Domain Controllers Policy中确出现了这三项的设定变成下列所示:

  1. 网域控制站:LDAP服务器签章要求(要求签章)
  2. 网络安全性:LDAP用户端签章要求(要求签章)
  3. 网络安全性:LAN Manager验证等级 (只传送NTLMv2响应)

如下图所示:

ad-ddcp-1

cyberoam-testconnection-1

因此在查阅安全性原则后,发现了这三项的变化,而以可以达成SSO及安全的衡量之下,建议改为下列选项,即可完成验证服务的基本要求,并且在指定要做SSO存取来源的验证主机上开启TCP 389 Port,凖予Cyberoam LAN Port IP存取即可。

  1. 网域控制站:LDAP服务器签章要求(无) < -  因XP不支持,只能设定无。
  2. 网络安全性:LDAP用户端签章要求(交涉要求) < - 可启动的用户端则启动,不支持者则略过
  3. 网络安全性:LAN Manager验证等级 (传送LM及NTLM响应) < - 为使XP用户可存取资源指定为本项

cyberoam-testconnection

以上三项本机原则的内容如下所示:

网域控制站: LDAP 服务器签章要求

这项安全性设定决定 LDAP 服务器是否需要与 LDAP 用户端交涉签章,如下所示:

无: 不需要数据签章即可与服务器连结。如果用户端要求数据签章,服务器可提供支持。
要求签章: 除非使用 TLSSSL ,否则必须交涉 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 要求随调用者指定的选项发出。
交涉签章: 若未启动传输层安全性/安全通讯端层 (TLSSSL),会随调用者指定的选项以外的 LDAP 数据签章选项初始化 LDAP BIND 要求。若已启动 TLSSSL,会随调用者指定的选项初始化 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