【简介】Fortinet单点登录(FSSO)有两种模式:DC代理模式和轮询模式,DC代理模式安装复杂,但是可以捕获所有登录,轮询模式安装简单甚至不需要安装, 但是可能会错过登录信息或有延迟,那么选哪个好呢?
FSSO概述
通过安装在这些网络上的代理软件,FortiOS可以为Windows AD、Citrix、VMware Horizon、Novell eDirectory和Microsoft Exchange用户提供单点登录功能。代理软件将用户登录信息发送到FortiGate防火墙。有了来自网络的用户信息,如IP地址和用户组成员关系,FortiGate安全策略可以允许通过身份验证的网络访问属于适当用户组的用户,而无需再次请求他们的凭证。
Fortinet单点登录(FSSO),通过安装在网络上的代理,监视用户登录,并将信息传递给FortiGate防火墙。当用户在被监控域的工作站上登录时,FSSO:
● 检测登录事件并记录工作站名称、域和用户。
● 将工作站名解析为IP地。
● 确定用户所属的用户组。
● 向FortiGate防火墙发送用户登录信息,包括IP地址和组列表。
● 在FortiGate防火墙上为该登录事件创建一个或多个日志条目。
当用户试图访问网络资源时,FortiGate防火墙为目的地选择适当的安全策略。如果用户属于与该策略关联的允许用户组之一,则允许连接,否则连接被拒绝。
基于代理FSSO
几种不同的FSSO代理可以在一个FSSO实现中使用:
● 域控制器 (DC) 代理
● eDirectory 代理
● Citrix/Terminal服务器 (TS) 代理
● 收集器代理
域控制器代理:使用DC代理模式时,必须在每个域控制器上安装DC代理。DC代理监视用户登录事件并将信息传递给收集器代理,收集器代理存储信息并将其发送给FortiGate单元。
eDirecotry代理:eDirectory代理安装在Novell网络上,用于监控用户登录并向FortiGate单元发送所需信息。它的功能非常类似于Windows AD域控制器上的收集器代理。代理可以使用Novell API或LDAP从Novell eDirectory获取信息。
终端服务器代理:终端服务器 (TS) 代理可以安装在Citrix、VMware Horizon 7.4或Windows Terminal Server上,实时监控用户登录情况。它的功能非常类似于Windows AD域控制器上的DC Agent。
收集器代理:收集器代理 (CA) 是作为服务安装在Windows AD网络中的一台服务器上,用于监控用户登录情况,并向FortiGate防火墙发送所需信息。收集器代理可以收集DC代理 (Windows AD)和TS代理 (Citrix或VMware Horizon Terminal Server)的信息。
在Windows AD组网中,收集器代理可以通过轮询AD域控制器来获取登录信息。在这种情况下,不需要DC代理。
CA负责DNS查找、组验证、工作站检查和登录记录上的FortiGates更新。FSSO CA向FortiGate防火墙发送“Domain Local Security Group”和“Global Security Group”信息。CA通过TCP端口8000与FortiGate通信,并在UDP端口8002上侦听来自DC代理的更新。
FortiGate设备最多可以配置5个CA以实现冗余。如果列表中的第一个CA不可访问,则尝试下一个CA,以此类推,直到联系到一个CA为止。所有DC代理都必须指向具有多个DC的域上正确的CA端口号和IP地址。
无代理FSSO
对于Windows AD网络,FortiGate防火墙还可以通过直接轮询Windows DC上的Windows安全事件日志条目来提供SSO功能,以获取用户登录信息。此配置不需要CA或DC代理。
FortiGate 配置
在FortiGate上配置FSSO,请执行Security Fabric > External Connectors。在创建新连接器时,端点/身份下有几个连接器选项:
Fortinet单点登录代理:对于大多数基于FSSO代理的部署,将使用此连接器选项。指定收集器代理或本地作为用户组源,从收集器代理或LDAP服务器中收集用户组。
Symantec终端保护:该连接器使用来自Symantec终端保护管理器(SEPM)的客户端IP信息在FortiOS上分配动态IP地址。
活动目录服务器:此连接选项直接轮询Windows DC上的Windows安全事件日志项,以获取用户登录信息。
RADIUS单点登录代理:通过监控RADIUS服务器转发给FortiGate的RADIUS计费记录,FortiGate可以对已在远端RADIUS服务器上通过认证的用户进行认证。
Exchange服务器:FortiGate从企业Exchange服务器收集认证用户的信息。
FSSO轮询连接器代理安装
这里以在FortiGate上配置本地FSSO代理为例。代理在Windows域控制器(DC)上主动集中Windows安全事件日志项,用于用户登录信息。FSSO用户组可以用于防火墙策略中。
这种方法不需要任何额外的软件组件,所有的配置都可以在FortiGate上完成。
在FortiGate上配置本地FSSO代理。
① 在FortiGate上配置LDAP服务器。具体配置说明见 验证篇(7.0) 04. FortiGate防火墙与域服务器LDAP连接 ❀ 飞塔 (Fortinet) 防火墙。
② 选择菜单【Security Fabric】-【外部连接器】,点击【新建】。
③ 选择【活动目录服务器】。
④ 填写所需的信息。需要administrator帐号,其它帐号权限不够。对于LDAP服务器,选择前面创建的服务器。点击用户、组后面的【编辑】。
⑤ 弹出窗口显示域服务器的具体信息,默认显示所有用户,点击【组】。
⑥ 选择所需的组,右键单击它们,然后选择【添加已选】。按住CTRL或SHIFT键可以同时选择多个组。组列表可以过滤或搜索,以限制显示的组的数量。
⑦ 单击【已选的】页签,确认列出了所需的组。要删除分组,右键单击并选择【移除已选】。单击【确定】保存群组设置。
⑧ 显示有两个已选用户组,点击【确认】。
⑨ Active Directory连接器建立完成。Active Directory连接器是可以由FortiGate管理员配置的前端连接器。
⑩ FSSO组可以直接添加到策略中,也可以先添加到本地用户组后再添加到策略中。选择菜单【用户与认证】-【用户组】,点击【新建】。
⑾ 在名称字段中输入组的名称,类型设置为FSSO,在成员字段中,单击+并添加FSSO组。点击【确认】。
⑿ 本地FSSO组创建完成,下一步就是加入上网策略中。
⒀ 在上网策略的源地址字段中,单击+,选择FSSO组。这样只有这个组的用户可以通过策略上网。
故障排查
当认证通过的AD用户不能访问internet或通过防火墙策略时,请检查本地FSSO用户列表。
① 用diagnose debug authd fsso list 命令查看FSSO登录的用户列表,正常情况下,可以读取到域服务器的登录信息。如果预期的AD用户不在列表中,而其他用户在列表中,则意味着FortiGate错过了登录事件。如果许多用户同时登录,或者用户的工作站无法连接到DC,并且当前使用缓存的凭据登录,因此DC安全事件日志中没有条目。
② 如果本地FSSO用户列表中没有用户,首先要确保本地FSSO代理正常运行。其次排除域服务器的访问限制,例如可以关闭域服务的防火墙测试。
③ 通过命令diagnose debug enable 和diagnose debug authd fsso server-status,可以查看本地FSSO代理状态,连接状态必须是connected。
③ 再就是通过命令diagnose debug fsso-polling detail 1 验证Active Directory连接状态。
如果轮询频率显示成功和失败,则表明存在零星的网络问题或DC非常繁忙。如果它表明没有成功或失败,则可能是错误的凭据。
如果LDAP状态已连接,则FortiGate可以访问配置的LDAP服务器。这对于身份验证用户的AD组成员关系查找是必需的,因为Windows安全事件日志不包括组成员关系信息。FortiGate将通过身份验证的用户的组成员关系的LDAP搜索发送给配置LDAP服务器。
FortiGate仅当组成员是Group Filter中的一个组时,才会将认证通过的用户添加到本地FSSO用户列表中。
④ 如果有必要,使用命令diagnose debug application fssod -1 捕获轮询Windows安全事件日志的本地FortiGate守护进程的输出,这个输出包含许多可以被捕获到文本文件中的详细信息。
限制
● 不支持基于NTLM的认证。
● 如果同时有大量用户登录,FSSO守护进程可能会漏掉一些用户。如果有问题,可以考虑使用FSSO代理模式。
● FSSO守护进程不支持其他FSSO场景支持的所有安全日志事件。例如,只支持事件4768和4769中的Kerberos日志。
从域服务器查看轮询
我们知道活动目录服务器连接选项直接轮询Windows DC上的Windows安全事件日志项,以获取用户登录信息。那么怎么可以直观的看到轮询状态呢?
① 登录域服务器,双击【控制面板】。
② 点击【查看事件日志】。
③ 左边菜单选择【Windows日志】-【安全】,右边操作选择【筛选当前日志】。
④ 筛选事件ID为4776的所有事件,即为所有远程登录日志,点击【确定】。
⑤ 可以看到FortiGate防火墙每过十秒轮询一次。