教程篇(5.4) 18. 单点登录 ❀ 飞塔 (Fortinet) 网络安全专家 NSE4


在这节课中你将学习Fortinet单点登录(FSSO)。有了这个功能,你的用户就不需要在每次访问不同的网络资源时登录。


在完成这一课程之后,你应该具备配置Fortinet SSO功能的技能。这包括:

  • 定义SSO

  • 探索FSSO方法

  • 使用FSSO在Windows Active Directory中检测用户登录事件

  • 为NTLM身份验证配置web发起的FSSO

  • 为FSSO配置FortiGate和收集器代理

  • 基本FSSO故障排除


单点登录(SSO)允许用户在被识别后自动登录到每个应用程序,而不管平台、技术和域。

  Fortinet单点登录(FSSO)软件代理可以让FortiGate识别网络用户的安全策略或VPN访问,而无需再次询问用户的用户名和密码。当用户登录到目录服务时,FSSO代理会将用户的IP地址和用户所属的用户组的名称发送给FortiGate。FortiGate使用此信息来维护域控制器用户组数据库的副本。因为域控制器对用户进行身份验证,所以FortiGate不执行身份验证。它通过IP地址识别组成员。

  FSSO通常用于目录服务网络,例如Windows Active directory(AD)或Novell eDirectory。


如何部署和配置FSSO取决于提供目录服务的服务器。

  用于Windows AD的FSSO使用了一个收集器代理。也可能需要域控制器(DC)代理,这取决于收集器代理的工作模式。在Windows有两种工作模式可以监视活动状态的用户签名:DC代理模式和轮询模式。

  对于Citrix和终端服务环境,还有另一种类型的DC代理:TS代理。TS代理需要广告的收集器代理来收集并将日志事件发送到FortiGate。

  eDirectory代理安装在Novell网络上,用于监视用户的签名,并将所需的信息发送到FortiGate。它的功能与Windows AD域控制器上的收集器代理非常相似。代理可以使用Novell API或LDAP从Novell eDirectory获取信息。


在本节中,我们将研究Windows Active Directory的可用模式:DC代理模式和轮询。在查看轮询模式时,我们将介绍基于代理的轮询模式和无代理的轮询模式。


让我们从DC代理模式开始,它被认为是FSSO的标准模式。

  DC代理模式要求:

  • 在每个Windows域控制器上安装了一个DC代理。如果你有多个DC,这意味着多个DC代理。DC代理监视和转发用户登录事件到收集器代理。

  • 收集器代理,收集器代理是安装在Windows服务器上的另一个FSSO组件。它整合了来自DC代理的事件,然后将它们转发到FortiGate。收集器代理负责组验证、工作站检查和登录记录的更新。FSSO收集器代理将域本地安全组、组织单元(OUs)和全局安全组信息发送到FortiGate设备。它也可以为DNS查找定制。


这里我们展示了在DC代理、收集器代理和为FSSO身份验证配置的FortiGate之间的信息流。

  1. 当用户使用DC进行身份验证时,他们提供凭证。

  2. DC代理将看到登录事件,并将其转发给收集器代理。

  3. 收集器代理聚合所有的登录事件,然后将这些信息转发到FortiGate。收集器代理发送的信息包含用户名、主机名、IP地址和用户组(s)。收集器代理通过TCP端口8000(默认)与FortiGate进行通信,并在UDP端口8002(默认)上监听来自DC代理的更新。端口是可定制的。

  4. 既然收集器代理已经转发了用户登录信息,那么FortiGate就知道用户是谁,他们的IP地址,也可以使用Active Directory组权限。当用户试图访问Internet时,FortiGate将源IP地址与活动的FSSO用户列表进行比较。因为本例中的用户已经登录,而FortiGate已经有了他们的信息,所以FortiGate将不会要求用户再次进行身份验证。


现在让我们看一下轮询模式。轮询模式可以是基于收集器的,也可以是无代理的。

  首先,让我们看一下收集器基于代理的轮询模式。与DC代理模式类似,基于收集器的模式要求在Windows服务器上安装收集器代理,但不需要在每个DC中安装代理。在收集器基于代理的轮询模式中,收集器代理在DC代理模式下必须比收集器代理更强大,并且在没有登录事件时也会产生不必要的通信量。

  在这种模式下,收集器代理定期联系windows DC以获取其信息。


让我们来看一个使用基于收集器的基于代理的轮询模式的FSSO示例。这一次我们有一个DC、一个收集器代理和FortiGate。但是DC没有安装代理。

  1. 用户通过DC进行身份验证,提供他们的凭证。

  2. 收集器代理定期(每隔几秒)对每个DC的TCP端口445进行轮询,以询问是否有人登录过。

  3. 收集器代理通过TCP端口8000将登录信息发送到FortiGate。这是在DC代理模式中发送的相同信息。

  4. 当用户通信到达FortiGate事时,它已经知道谁是哪个IP地址,并且不需要重复的身份验证。


基于代理的收集器的轮询模式有三个方法(或选项)收集登录信息:

  • NetAPI:当用户登录或注销并在Windows上调用NetSessionEnum函数时,在DC上创建临时会话。它比WinSec和WMI方法快。但是,如果DC在重系统负载下,它可能会错过一些登录事件。这是因为会话可以从RAM中快速创建和清除,在代理有机会进行轮询和通知FortiGate之前。

  • WinSecLog:从DC中对所有的安全事件日志进行投票。它不会错过任何登录事件,因为事件通常不会从日志中删除。如果网络很大,那么在接收事件时可能会有一些延迟,因为写入日志的速度比较慢。

  • WMI:一个从Windows服务器获取系统信息的Windows API。DC返回所有请求的登录事件。收集器代理是一个WMI客户端,并向DC发送WMI查询请求,在这里,它是一个WMI服务器。收集器代理不需要为用户登录事件在DC上搜索安全事件日志,相反,DC返回所有请求的登录事件。这减少了收集器代理和DC之间的网络负载。


你以在不安装代理的情况下部署FSSO。FortiGate直接轮询DC,而不是直接从收集器间接接收登录信息。

  因为FortiGate收集所有的数据本身,无代理的轮询模式需要更大的系统资源,而且它不容易扩展。

  无代理的轮询模式使用WinSecLog。因为没有收集器代理,所以FortiGate使用SMB协议从DC中读取事件查看器日志。

  另外,由于防御工事完成了所有的轮询,你将不会有所有额外的功能,例如工作站检查,这些功能都是由外部收集器代理提供的。


现在让我们看看没有代理的通信是如何流动的(没有收集器代理或DC代理)。

  1. 在DC的TCP端口455中进行了投票,以获得用户登录事件。

  2. 在用户对DC进行身份验证之后,FortiGate将在下一次轮询时注册登录事件,获取以下信息:用户名、主机名、IP地址和用户组。

  3. 当用户发送流量时,FortiGate已经知道是谁的流量了。因此,用户不需要进行身份验证


此表总结了DC代理模式与轮询模式之间的主要差异。

  DC代理模式更为复杂。它不仅需要一个收集器代理,还需要每个DC的DC代理。但是,它也更具有可伸缩性,因为捕获登录的工作是由直接将其信息传递给收集器的DC代理完成的。

  在轮询模式中,收集器需要每隔几秒查询每个域控制器,因此,在添加的每个DC中,查询的数量就会增加。如果你想在轮询模式中添加第二个收集器代理,那么两个收集器都需要单独查询每个DC。

  在DC代理模式下,DC代理只需要获取一次日志,并将必要信息的副本发送给所有收集器代理。相比之下,如果使用轮询模式,可能会错过或延迟一些登录事件,这取决于使用的轮询选项。


不管你选择的登录收集器方法是什么,你的active directory网络的一些FSSO需求是相同的:

  • Microsoft Windows登录事件有工作站名和用户名,但不是工作站IP地址。当收集器代理获得一个登录事件时,它将查询一个DNS服务器来解析工作站的IP地址。因此,FSSO需要你拥有自己的DNS服务器。如果工作站IP地址发生变化,DNS记录必须立即更新。

  • 收集器必须与所有工作站连接。因为一个事件日志不是在下线上生成的,所以收集器代理(依赖于FSSO模式)必须使用不同的方法来验证用户是否仍然登录。因此,每个用户工作站都被轮询,以查看用户是否还在那里。


在active directory(AD)环境中,FSSO还可以与NT LAN Manager(NTLM)一起工作,这是一套Microsoft安全协议,为用户提供身份验证、完整性和机密性。让我们看一下NTLM是如何工作的,并与FSSO进行交互。


NTLM身份验证不需要DC代理,但对用户来说并不是完全不可见的:他们必须在NTLM协商期间输入他们的凭证。NTLM身份验证是一种微软专用的解决方案,因此只能在Windows网络中实现。

  当用户登录到DCs时,NTLM非常有用,因为某种原因,它不能由收集器代理监视,或者在收集器代理和DC代理之间存在通信问题时。换句话说,NTLM身份验证最好用作对FSSO的备份。


这个例子展示了在一个简单的域配置中,在NTLM身份验证过程中消息是如何流动的。

  1. 当启用FSSO和NTLM时,NTLM将备份FSSO。当FortiGate从活跃的FSSO用户列表中不存在的IP地址接收流量时,将触发NTLM。

  2. 在请求证书的情况下,FortiGate使用NTLM答复质疑。

  3. 用户的浏览器发送所请求的凭证。

  4. FortiGate接收用户凭证,然后在TCP端口8000上与收集器代理进行身份验证。该FortiGate也接收用户所属的组的名称。

  5. 如果凭证是正确的,那么就可以对用户进行访问。当浏览器关闭或会话超时时,将启动新的NTLM请求。


与完整的FSSO不同,NTLM身份验证对用户来说不是透明的。在大多数浏览器中,在Internet Explorer中默认情况下,用户必须在浏览器收到NTLM身份验证质疑时输入他们的凭证。

  但是,Internet Explorer可以配置为在每次收到NTLM挑战时自动发送用户的凭证。要做到这一点,在Internet Options对话框中,单击定制级别。然后,在设置对话框中,滚动到用户身份验证登录,并选择使用当前用户名和密码的自动登录。


在NTLM的多个域环境中,在域之间有一个信任关系是很重要的。当在AD森林中存在多个域时,会自动创建信任关系,因此在一个域控制器中只需要一个DC代理。但是,当多个域不在一个广告森林中,你有两个选择:

  • 通过广告设置,在域之间建立信任关系

  • 在每个域上安装一个DC代理,然后使用安全策略配置服务器访问。

  如果你决定在每个域上安装一个DC代理,那么DC代理会向收集器代理发送登录信息。让我们看看这个流程是如何工作的。

  1. 用户登录到他们的本地DC。

  2. DC代理将用户登录事件信息发送到收集器代理。

  3. 用户试图访问互联网。

  4. 通过与收集器代理进行登录信息的身份验证,验证了用户的身份验证。

  5. 如果用户经过了正确的身份验证,那么就可以访问Internet。


现在,让我们看一下如何在FortiGate上配置FSSO,以及如何安装Fortinet收集器代理。


FortiGate FSSO配置非常简单。

  如果FortiGate是作为无代理的轮询模式的收集器,那么你必须选择Poll Active Directory Server,并为每个DC配置IP地址和AD管理员凭证。


  如果你有外部收集器代理,或者使用DC代理模式或收集器基于代理的轮询模式,你必须选择Fortinet单点登录代理,并为每个收集器配置IP地址和密码。


FSSO代理可以在Fortinet支持网站上找到。在那里你会发现:

  • DC代理

  • 微软服务器的收集器代理:fssosetup

  • Novell目录的收集器代理:fssosetupedirectory

  • Citrix服务器的控制器代理:tsagentsetup

  另外,对于每个代理,有两个版本可供下载:可执行文件(.exe)或Microsoft安装程序(.msi)。


下载了收集器代理之后,以管理员权限运行安装,然后在安装向导中执行以下步骤:

  1. 阅读并接受许可协议。

  2. 可选地,更改安装位置。默认的文件夹命名为FSAE。

  3. 输入用户名。默认情况下,代理使用当前运行帐户的名称。但是,你可以使用格式:DomainName\用户名来更改它。

  4. 另外,定制你的收集器代理,用于监视、NTLM身份验证和目录访问。这些选项在安装之后也可以定制。

  5. 如果你想使用DC代理模式,请确保选中了启动DC代理安装向导。这将自动启动DC代理安装。


这是安装的收集器代理。通过FSSO代理配置应用程序,你可以配置如下设置:

  • 与DC代理通信的监听端口

  • 与FortiGate的通信端口

  • NTLM认证支持

  • 在收集器代理和FortiGate之间的密码身份验证


FSSO收集器代理计时器也非常重要,以确保正确的操作。让我们来看看每一个和它们是如何工作的。

  • 工作站检查间隔。这个设置控制当收集器连接到各个工作站时,以验证用户是否仍然登录到相同的站点。它在显示登录用户的情况下更改了用户的状态,当无法连接到工作站时,就无法进行验证。如果它确实连接,它将验证用户和状态是否仍然正常。

  • 死条目超时间隔。此设置仅适用于未验证状态的条目。当一个条目没有被验证时,收集器将启动这个计时器。它是用来把这个条目变老的。当计时器过期时,将从收集器中删除登录。从FortiGate的角度来看,没有被验证的条目和条目没有区别。都被认为是有效的。

  • IP地址更改验证间隔。此设置检查登录用户的IP地址,并在用户的IP地址更改时更新FortiGate。这个计时器在DHCP或动态环境中尤其重要,以防止用户在更改IP地址时被锁定。

  • 缓存用户组查找结果。该设置缓存用户组成员关系,并在一段时间内进行。即使用户更改了广告中的组成员关系,它也不会更新。


另一个重要的FSSO设置是AD访问模式。你可以通过单击设置目录访问信息设置AD访问模式。它指定了收集器代理如何访问和收集用户和用户组信息。有两种模式可用于访问AD用户信息:标准和高级。

  两种模式的主要区别包括使用的命名约定:

  • 标准模式使用Windows约定NetBios:域\用户名

  • 高级模式使用LDAP约定:CN=User、OU=Name、DC=Domain。

  另外,高级模式支持嵌套或继承的组。也就是说,用户可以是属于受监控的父组的子组的成员。此外,在高级模式下,FortiGate可以对个人用户、用户组和组织单位(OU)应用保护配置文件。

  相比之下,在标准模式下,保护配置文件只能应用于用户组,而不是单独的用户。

  在高级模式中,你可以将FortiGate配置为LDAP客户端,并在FortiGate上配置组过滤器。你还可以在收集器代理上配置组过滤器。

  如果收集器代理上的LDAP失败了,那么在FortiGate上的LDAP是不重要的,那么FSSO就不起作用了。如果FortiGate的LDAP失败了,但是收集器代理上的LDAP仍然在运行,那么这个FortiGate可能无法收集日志,但是收集器代理仍然会收集日志。

  Fortinet强烈鼓励用户从收集器代理中创建过滤器。


在AD设置中,并不是所有的组类型都被支持。它只支持过滤组:

  • 安全组

  • 通用组

  • 组织单元内的组(OU)

  • 本地或通用的组,它们包含来自子域的通用组(只有全局目录)。

  所有的FortiGate配置包括一个名为sso_guest_user的用户组。当仅使用被动身份验证时,不属于任何FSSO组的所有用户都将自动包含在这个guest组中。

  这允许管理员为不属于Windows AD域的客户用户配置有限的网络访问权限。

  但是,如果启用了被动和主动身份验证,则行为是不同的。不属于任何FSSO组的用户将被提示输入他们的凭证。


根据你的网络,你可能需要在FSSO收集器代理中配置高级设置。

  Citrix服务器支持FSSO。TS代理模式允许服务器实时监视用户登录。TS代理就像一个DC代理,但是它需要收集器代理来收集并将登录事件发送到FortiGate。然后,它使用相同的端口将登录报告返回到收集器代理。

  必须将Citrix服务器配置为VIP,以允许收集器代理收集用户登录事件。TS代理不能直接将日志转发到FortiGate,它们首先必须由收集器收集。这与来自FortiGate的投票不一样。

  一个RADIUS服务器配置为一个基于RADIUS的帐户系统,它可以通过向收集器代理发送帐户消息来在你的网络中进行交互。

  FSSO收集器代理还支持监视Microsoft Exchange服务器,这在用户使用他们的域帐户访问他们的电子邮件时非常有用。


最后,让我们来看看一些可以用来诊断FSSO问题的诊断命令。


要显示当前登录的FSSO用户列表,请使用CLI命令〖diagnose debug authd fsso list〗。

  对于每个用户,用户名、用户组、IP地址和他们登录的工作站的名称都显示出来。

  Memberof部分显示在你将AD组映射到的防火墙上创建的组。同样的组应该在GUI的用户组屏幕中显示。

  使用〖exec fsso refresh〗从使用收集器代理的任何目录服务服务器上手动刷新用户组信息。


为了显示FortiGate和每个收集器代理之间的通信状态,你可以使用CLI命令〖diagnose debug authd fsso server-status〗。

  但是,在使用该命令之前,必须首先运行命令〖diagnose debug enable〗。


还可以在〖diagnose debug auth fsso〗命令中清除FortiGate的缓存,过滤用户登录列表的显示,并刷新登录和用户组信息。


命令〖diagnose debug fsso-polling detail〗显示FortiGate在每个DC上状态信息和相关的一些统计数据。

  命令〖diagnose debug fsso-polling refresh-user〗显示使用所有活动FSSO用户的信息。

  在无代理的轮询模式中,FortiGate频繁地轮询事件查看器来获取登录事件。你可以在端口445上嗅探到这个流量。

  另外,还有一个特定的FortiGate处理轮询模式的守护进程。它是fssod守护进程。要启用无代理的轮询模式实时调试,请使用〖diagnose debug application fssod -1〗命令。


在本课程中,你了解了使用FSSO收集用户登录信息的方法,NTLM认证和AD访问模式,如何为FSSO配置FortiGate和收集器代器,最后,如何对FSSO进行故障诊断和监视。


飞塔技术 - 老梅子   QQ:57389522


展开阅读全文

没有更多推荐了,返回首页