教程篇(7.4) 05. 防火墙认证 & 网络安全支持工程师 ❀ FORTINET认证解决方案专家

 在本课中,你将学习防火墙身份验证以及如何对问题进行故障排除。

 完成本课程后,你应该能够实现上图显示的目标。

  通过展示理解防火墙认证的能力。你将能够了解如何监控经过认证的用户的状态,并解决本地、LDAP、RADIUS和SAML认证最常见的问题。

 在本节中,你将了解本地认证故障排除命令。

 当问题发生时,你应该做的第一件事就是定义问题。排除认证问题的第一步是收集特定信息,以便你可以缩小问题范围。问题是否发生在多个用户中?这个问题是否与用户认证有关,而不是与用户权限有关?

  你应该检查的第一个地方是日志。他们展示了什么?用户名正确吗?认证后流量被阻止了吗?给用户分配了什么用户配置文件?

  在远程服务器认证(如RADIUS或LDAP)的情况下,你还应该检查服务器端的日志。在远程服务器认证的情况下,FortiGate认证取决于服务器响应。如果RADIUS凭据无效,RADIUS服务器日志显示什么?用户帐户在RADIUS服务器上是否仍然有效?

  上图显示了防火墙用户监视器的示例。每次用户认证操作成功或失败时,都可以生成日志和事件。默认情况下,此FortiView菜单不包含在GUl菜单中,你必须启用它。

 你可以在GUl或CLI上查看活跃用户列表。在CLl上,命令是diagnose firewall auth list。你可以使用命令diagnose firewall auth filter来过滤输出。在上图的示例中,你可以看到一些可用的过滤器选项。

  来自已验证用户的任何流量会话都包含authed标志。此外,用户名被添加到会话信息中。

 有一个实时调试,用于对与任何用户认证方法相关的问题进行故障排除:本地、远程甚至FSSO。调试命令是diagnose debug application authd。

 在本节中,你将了解LDAP身份验证的故障排除命令和常见问题。

 现在我们来回顾一下LDAP协议。

   LDAP模式的层次结构不需要类似于组织。然而,命名惯例和组结构通常与公司层次结构非常匹配。

   上图显示了根或DC。在任何LDAP模式中,这是LDAP树始终开始的地方。之后,使用C、OU或O定义组(或分支)。使用的确切行为和选项取决于模式以及定义的确切内容。分支可能包含对象,每个对象都包含属性。对象通过其分别名称(DN)进行唯一标识。完整的DN指定对象的位置,以及可用于查找它的属性的名称和值。

 FortiGate可以使用三种不同的方法或绑定类型来访问LDAP服务器:简单、匿名和常规。在本课中,你将学习常规绑定,这是最复杂、最通用和最常用的方法。

   使用常规绑定进行LDAP身份验证有四个步骤。首先,FortiGate使用LDAP管理员帐户登录(绑定到)LDAP服务器。此时,FortiGate只知道用户名,但不知道用户所在的分支。在第二步中,FortiGate在LDAP数据库中进行搜索查询,以查找用户的位置——换句话说,用户的DN。如果找到用户,服务器会回复用户的DN。之后,FortiGate从LDAP服务器注销(取消绑定)。

   第三步是另一个绑定,但这次使用用户凭据。FortiGate发送在上一步中输入的DN和密码。

   最后一步是获取用户组信息。如何做到这一点取决于LDAP服务器的类型,但通常通过LDAP查询来实现。

  当你隔离LDAP问题时,第一步是确定这四个步骤中的哪一个失败了。

  大多数LDAP认证问题是由配置错误引起的。因此,你将学习如何检查常规绑定LDAP配置是否正确。你将分析LDAP服务器基于Windows AD的用例,这是最常见的用例。

  配置错误通常发生在以下LDAP设置之一:

  ● 通用名称标识符

  ● 专有名称

  ● 用户名

  ● 密码

  如何检查DN配置是否正确?你可以在Windows AD服务器命令提示符中运行这两个命令中的任何一个:

  ● dsquery user -name <full_user_name>

  ● dsquery user -samid <login_username>

  输出显示用户DN。DN配置指定了所有用户都位于的父分支。FortiGate在父分支下方的任何子分支中搜索用户。在上图的示例中,DN设置是:dc=california,dc=fortinet,dc=com。

  用户DN(或绑定DN)设置是LDAP管理员帐户的完整DN。

  你可以使用Windows LDAP服务器命令(dsquery)来查找该信息。

 你可以简单地将服务器命令提示符的完整DN输出复制并粘贴到FortiGate配置中。 

  上图总结了如何为Windows AD正确配置常规绑定。不同类型的LDAP服务器可能需要不同的方法。

  你通常将通用名称标识符设置为CN或sAMAccountName。如果你将其设置为CN,用户必须使用其全名(例如John Smith)进行身份验证。如果你将其设置为sAMAccountName,用户必须使用他们的登录名(例如,jsmith)进行身份验证。

  您可以通过使用Windows AD命令dsquery查询用户的DN来找到必须在区分名称字段中键入的DN。

  你可以通过使用相同的Windows AD命令dsquery查询管理员DN来找到必须在用户名字段中键入的信息。

  最后,密码设置是LDAP管理员密码。

 CLI包括一个LDAP身份验证测试命令,即diagnose test authserver ldap。如果凭据和LDAP配置都正确,你将收到认证确认,以及该用户的用户组列表。

 LDAP和RADIUS有一个实时调试。上图显示了配置正确时你将看到的输出示例。

  start_search_dn消息表明FortiGate正在执行第二步:在LDAP树中搜索用户。此消息包括基础分支(distinguished name设置)和用于定位用户的属性名称(common name identifier设置)。

  如果LDAP服务器找到用户,输出显示Found DN,然后是用户的完整DN。

  之后,FortiGate执行第三步:使用用户凭据绑定。

  最后,输出显示了第四步:获取用户组列表。

 如果第一步(管理员绑定)或第三步(用户绑定)存在问题,你可以嗅探FortiGate和LDAP服务器之间的流量以获取错误代码。错误代码明确说明了绑定失败的原因。

  上图显示的错误代码是通用LDAP错误代码的示例,特定于活动目录。

  现在,你将了解一些最常见的绑定问题,以及如何在实时调试的输出中识别它们。

  如果你在认证尝试后立即看到无效的凭据错误,这意味着在第一步中出现了问题。管理员帐户凭据可能存在问题。

  消息NO more DN left表示在第二步中发生了问题。LDAP服务器无法在LDAP树中找到用户。

  如果输出显示用户已找到,但下方显示Auth denied消息,则表示第三步中出现了问题。要么用户凭据错误,要么用户帐户不活跃。

 错误信息get_member_of_groups-attr=<attribute_name> - found 0 values表示第四步中出现了问题。用户凭据正确,但没有找到用户组信息。

  如果问题发生在第一步(管理员绑定不起作用),你该怎么办?

  ● 使用dsquery查询命令检查管理员DN。

  ● 检查管理员密码。

  ● 嗅探来自服务器的错误代码。

  如果问题发生在第二步(LDAP服务器找不到用户),您会怎么做?

  ● 如果通用名称标识符设置为sAMAccountName,用户必须使用他们的登录名。如果设置为cn,用户必须使用他们的全名。

  ● 使用dsquery命令检查专有名称设置。

 在本节中,你将了解RADIUS认证故障排除命令。

  使用RADIUS协议的正常身份验证查询从FortiGate向RADIUS服务器发送访问请求开始。对此查询的有效响应是Access-Accept或Access-Reject(是或否,有效)。

  如果在服务器上启用了双重身份验证,则响应是访问挑战消息,这意味着服务器本质上正在寻找更多信息。

 就像LDAP一样,RADIUS也有CLI测试命令。要响应,你不仅必须提供测试用户的凭据,还必须提供认证方案。FortiGate支持以下RADIUS方案:CHAP、PAP、MS-CHAP和MS-CHAPv2。

  此外,就像LDAP一样,此命令仅测试FortiGate RADIUS服务器配置。它不需要FortiGate配置中的任何用户组或防火墙策略。

  RADIUS要么是一步,要么是两步过程(取决于双重身份验证的使用)。它不像LDAP常规绑定发生的四步过程那么长。因此,实时调试的输出通常更短。

  在对RADIUS认证或会计问题进行故障排除时,使用嗅探器可用于分析数据包和识别根本原因。

  使用嗅探器的第一步是评估RADIUS流量是否在FortiGate和RADIUS服务器之间不间断流动。

  RADIUS通常使用端口1812进行认证,使用端口1813进行会计。

  详细级别为3的嗅探器输出可以在Wireshark中转换以进行分析。

  嗅探器可以从RADIUS流量中捕获各种类型的数据,例如:

  ● 用户凭据:用户名和密码,如果以明文传输

  ● RADIUS属性:用户角色、访问权限和其他属性

  ● 数据包有效负载:认证请求、响应和会计信息

  ● 时间信息:RADIUS请求和响应的时间和频率

  分析RADIUS请求和响应的时间和频率可以帮助你更好地了解认证过程。

  在本节中,你将了解SAML认证故障排除命令。

  SAML是一个开放标准,用于在一个IdP和一个或多个SP之间交换认证和授权数据。双方使用XML协议作为传输交换消息。

  SAML关键组件:

  ● IdP:一个常见的设置是使用FortiAuthenticator作为IdP。

  ● SP:FortiGate可以配置为IdP或SP。

  ● 断言:基于XML的语句,包含有关用户的信息。

  ● SAML协议:定义IdP和SP之间的通信规则。

  ● 绑定:定义如何通过不同的通信通道传输SAML协议消息。

  SAML认证流程涉及一系列步骤,以实现安全和标准化的认证。

  了解SAML身份验证流程对于在过程中遇到问题时进行有效的故障排除和诊断至关重要。这些知识将帮助你确定问题发生在哪个步骤,它是否涉及客户端、SP、IdP,或者它是否是与SAML无关的因素,例如,流量被阻止。

  上图显示了使用浏览器的标准SAML认证流程的示例。

  作为故障排除过程的一部分,查看配置为SP和IdP的设备上的SAML配置很重要。

  在上图中,你可以看到作为SP的FortiGate和作为IdP的FortiAuthenticator的示例配置。

  正如我们在上一张图片中讨论的那样,客户端与SP和IdP交互以收集认证信息。它们之间的差异将导致认证尝试失败。

  SAML属性是SAML认证过程中IdP和SP之间交换的关于用户的信息。这些属性包含在SAML断言中,该断言由IdP构建,作为认证过程的一部分。SAML断言包含有关用户的信息,例如其身份、属性和认证方法。

  在对SAML问题进行故障排除时,重要的是要识别和比较作为SP和IdP上认证过程的一部分配置的属性。验证这些属性在SP和IdP配置之间是否匹配可以帮助你解决认证问题。

  SAML的一个有用特征是在多个FortiGate功能上启用SSO,允许用户通过单个身份验证访问多个服务。

  你可以为多个FortiGate功能配置SAML,例如:

  ● 管理员登录

  ● SSL VPN

  ● 出站防火墙认证

  ● 代理策略

  ● 无线(强制门户)

  当你将SAML配置为对这些功能之一执行认证时,SAML配置包括该功能的端口。如果它用于HTTPS身份验证,默认情况下使用端口1003,那么SAML配置使用该端口。对于SSL VPN,SAML配置使用分配给该服务的端口,端口10443。

  在某些情况下,你可能需要下载元数据才能应用于IdP。

  为此,FortiGate具有SSL VPN和管理员登录的诊断命令。

  上图显示了使用这些诊断命令时的输出样本。

  你可以使用此CLI命令实时调试SAML守护进程:

  diagnose debug application samld -1 

  你必须将实时SAML调试命令与进行SAML认证的功能的调试命令结合使用,即:

  ● 代理策略:wad

  ● SSL VPN:sslvpnd

  ● IPsec:iked

  ● 无线:cw-acd

  在对SAML身份验证进行故障排除时,调试输出提供多个部分进行分析,包括从IdP和SP配置中收集的关键部分和字段。

  SP Login Dump部分包含基于服务提供商提供的信息的客户端请求。在这个示例中,FortiGate充当SP。

  在本节中,我们可以回顾:

  ● 授权请求ID,包含在IdP的响应中

  ● IdP SSO URL,来自FortiGate配置中的设置idp-single-sign-on-url

  ● FortiGate系统在认证请求上盖有时间戳;SP和IdP之间的时间不匹配可能会导致认证失败

  ● SP SSO URL,来自FortiGate配置中的single-sign-on-url

  ● IdP实体ID,来自FortiGate配置中的设置id-entity-id

  ● SP实体ID,来自FortiGate配置中的设置entity-id

  你可以查看SP Login Dump部分的字段,以检测与作为IdP的设备提供的信息存在差异。

  另一个有用的部分是Assertion Dump。

  本节根据从IdP收到的信息,向作为SP的FortiGate提供客户端认证请求,在此示例上是FortiAuthenticator。

  本节的一些关键字段如下:

  ● IdP系统时间。与SP系统时间不匹配可能会导致认证失败

  ● IdP实体ID,与FortiAuthenticator上配置的IdP设置相匹配

  ● SP发送的认证请求ID

  ● 认证请求有5分钟的偏移

  ● SP实体ID,它提供了此认证请求将成功的受众

  ● 此调试部分显示IdP正在分析的允许或拒绝认证请求的属性

  从SP和IdP收集的信息可用于诊断认证问题。

  上图显示了你在本课中涵盖的目标。

  通过掌握本课中涵盖的目标,你了解了防火墙认证以及如何对问题进行故障排除。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值