如何配置 eDirectory 和 LDAP 身份验证
Resolution
概述
帕洛阿尔托网络防火墙的一个关键功能是将用户名映射到 IP 地址。一旦帕洛阿尔托网络防火墙知道与 IP 地址相关的名称, 防火墙就可以:
- 记录此信息
- 基于特定用户名或组控制通信量
防火墙使用两种方法来执行用户名到 IP 地址映射、透明和交互式身份验证。
本文档讨论通过 eDirectory 服务器配置透明身份验证, 以及通过 LDAP 服务器进行交互式身份验证。讨论分为两部分:
- 透明地从 eDirectory 获取用户身份验证信息
- 使用 LDAP 服务器进行具有固定门户、SSL VPN 或防火墙 GUI 访问的身份验证
在启动安装程序之前, 我们建议您使用本地 LDAP 浏览器来验证用户 ID 代理和帕洛阿尔托网络防火墙的设置。本文档中的示例使用 JXplorer, 一个免费的跨平台 LDAP 浏览器可在此处下载: http://jxplorer.org/.
详细
帕洛阿尔托网络防火墙使用两种方法将用户名映射到 IP 地址:
- 透明身份验证:防火墙可以使用活动目录用户 ID 代理自动从活动目录域控制器检索用户名和 IP 映射. 在这种情况下, 用户以前登录到域中, 因此不会提示防火墙提供凭据。
- 交互式身份验证:防火墙可以提示用户名, 然后通过 RADIUS 或本地用户数据库进行身份验证. 如果 fusers 是:
- 运行 Mac 或 Linux 客户端 (称为固定门户)。
- 通过 SSL VPN 连接到防火墙。
- 试图以管理员身份登录到防火墙 GUI。
上述方法扩展到包括:
- 透明身份验证:防火墙可以从活动目录域控制器 (使用活动目录用户 id 代理) 或 eDirectory 服务器 (使用新的 eDirectory 用户 id 代理) 自动检索用户名和 IP 映射.
注意:由于唯一的登录信息 eDirectory 跟踪, 新的用户 ID 代理与仅 eDirectory 8.8 兼容. - 交互式身份验证:防火墙可以提示输入用户名, 然后通过 RADIUS、本地用户数据库或 LDAP 服务器对用户进行身份验证.
透明地从 eDirectory 获取用户身份验证信息
Novell 的 eDirectory 是一个完全支持 LDAP 查询的目录服务。使用 eDirectory, 当用户进行身份验证时, 源 IP 地址和登录时间存储在字段中的目录中: networkAddress (以专有的二进制格式) 和 loginTime。新的用户 ID 代理可以专门阅读此信息, 并将用户透明地映射到其 IP 地址。
泛型 OS 中的 LDAP 支持查询目录, 为策略生成组列表, 并将用户映射到组。因此, 实现 eDirectory 支持的部分过程是在帕洛阿尔托网络设备上配置 LDAP 信息。
安装和配置的用户 ID 代理
- 确保运行 Novell eDirectory 8.8 或更高版本。 用户 ID 代理使用 eDirectory 以前版本中不可用的一些 LDAP 函数。
- 安装新的用户 ID 代理。 登录到支持帐户: https://support.paloaltonetworks.com. 转到 "软件更新"、"用户标识代理" 部分并查找以 "-LDAP" 结尾的版本。
将此. msi 文件下载到代理将运行的 Windows 服务器。以管理员身份登录时安装. msi 文件。它将作为本地服务在本地系统帐户下运行。服务名称是用户 ID 代理, 如下面的服务管理控制台中所示。
- 安装后, 启动用户 ID 代理并选择 "配置" 以显示以下内容:
- 设备侦听端口: 使用默认值。此端口号用于此代理和 PA 防火墙之间的通信。 在配置帕洛阿尔托网络防火墙时, 请记住此端口号。
- 启用 "网络地址允许/忽略" 列表。 添加要监视用户 id 的网络。 对于终端服务器或其他多用户计算机, 请将这些 IP 地址添加到 "忽略" 列表中, 因为我们需要使用终端服务代理跟踪这些系统上的用户。
- 配置 eDirectory 设置。选择左侧的 eDirectory 菜单项以显示以下内容:
完成下列字段︰
单击 "确定" 并展开根对象以确定基 DN。 另外, 选择 "表编辑器" 视图以查看实际的对象类型。在这个例子中, 基地是 o = 实验室。
- 服务器输入要监视的 eDirectory 服务器的 IP 地址, 然后单击 "添加". 要监视多个服务器, 请单击 "复制设置" 选项, 为每个服务器配置屏幕底部的设置。您可能需要为多个 eDirectory 服务器输入信息。如果目录在服务器之间进行了分区, 请确保每个分区都配置了服务器。另外, 根据服务器之间同步信息的速度, 您可能需要添加其他服务器以确保用户/ip 映射的显示速度更快。
- 搜索基是代理查找用户的目录的基 DN (或根). 在大型部署中, 您可以通过适当地设置搜索基础来范围内搜索目录的多少。在 eDirectory 中, 这通常是 o = 的形式。使用 JXplorer, 您可以匿名连接到 eDirectory, 并仅指定 IP 地址和默认的非 SSL 端口, 如下所示。
- 绑定可分辨名称和密码是您用来查询 eDirectory 的用户的完全可分辨名称 (FQDN). 此帐户不需要任何特殊特权。E 跨此帐户的密码。你应该可以匿名浏览到这个, 因为我们已经得到了 BaseDN。请记住, 完全可分辨名称是使用整个层次结构生成的。在我们的例子中, 那将是 cn = 管理员, o = 实验室。
- 服务器域前缀(可选) 是预许正在到用户名的, 如果您使用多个身份验证源, 则可能很有用. 在我们的示例中, 用户在通信日志中显示为: mynds \ 用户名。
- 搜索间隔30 秒的默认值应该很好, 但这可以调整. 在第一个查询生成所有当前登录用户的列表之后, 后续查询只搜索自上次查询后修改的用户条目。
在设置为专门处理 eDirectory 时, 不需要修改其他字段。 将绑定端口保持在 636, 启用 SSL, 因为 eDirectory 不允许在明文中发送经过身份验证的 LDAP 查询。
- 输入所需信息后, 单击 "提交" 以保存更改。
- 查看代理日志以查看代理程序发生了什么变化。转到文件 > 显示日志以打开 .txt 文件。
注意:如果需要修改代理日志, 请使用 LDAP 浏览器来确定将字段设置为:
滚动到文本文件的底部, 以查看来自代理的最新调试输出。检查标有 "服务正在启动" 标题下的输出。下面显示的是日志文件的示例:
请参阅上面突出显示的消息 "在服务器 x.x.x. x 上连接成功"。如果您看不到该消息, 则需要进行故障排除。
有用的疑难解答提示
- 日志中出现错误 81, 请确保根据需要配置绑定端口/SSL 设置。
- 日志中的错误93可能表示通信错误。 您可能运行的是错误版本的 eDirectory, 或者基 DN 不正确。
- 要增加记录的信息量, 请转到 "文件 > 调试" 菜单, 将级别设置得更详细 (默认级别为 "信息"), 然后重新启动服务 (文件 > 重新启动服务)。
注意: 此文本文件没有动态更新, 因此您必须关闭它, 然后使用菜单查看新信息.
验证配置, 选择监视器图标以查看用户到 IP 的映射. 当代理从 LDAP 服务器读取更多信息时, 映射数会增加。
当您看到此屏幕上的用户列表时, 您已经正确配置了代理。现在继续配置防火墙以与此代理进行对话。
配置防火墙以与用户 ID 代理进行对话
- 从 Web UI 中选择 "设备", 然后从左侧的列表中选择 "用户标识"。在 "用户标识代理" 部分下, 单击 "添加"。将代理类型设置为用户 id 代理, 对其进行命名, 然后填写您配置了要侦听的代理的 IP 地址和端口 (默认端口为 5007)。
- 在适当的区域启用用户标识。选择 "网络", 从左侧列表中选择 "区域", 然后选择用户通信来源所在的区域。在屏幕底部, 选中 "启用用户标识"。
- 提交更改。
- 要确认防火墙正在与代理通信, 请运行以下命令:
>>显示用户标识-代理统计信息 - 要确认用户数据库是从代理获得的, 请运行以下命令:
>>显示用户 ip-用户标识-在
源用户和目标用户列的监视器 > 通信日志中显示用户 id.
现在, 基本用户 ID 正在工作, 请创建一个 ldap 服务器配置文件, 以便以后用于用户标识 LDAP 服务器安装程序。
- 从 "设备" 下的 "服务器配置文件" 下选择 LDAP, 然后单击 "新建"。
- 填写在设置用户代理时使用的相同信息。请确保启用了 SSL, 并且端口设置为636。eDirectory 不允许在明文中发送密码。
定义 LDAP 服务器以检索组信息
最后一步, 定义 LDAP 服务器以检索组信息。
- 在 "设备" 下, 选择 "用户标识" 图标。选择 "添加", 给服务器一个名称, 然后选择刚刚创建的服务器配置文件。
- 如果需要, 创建组或用户配置文件。用户配置文件限制了防火墙在策略中使用的用户和组。对于 eDirectory, 我们不需要完成任何其他字段。
防火墙将检索对象类 cn = 组. - 提交更改。现在正在从目录中检索组信息。填充组和用户信息可能需要一段时间。
- 确认防火墙正在与 LDAP 服务器通信, 并检索到该组信息:
>> 显示用户 LDAP 服务器服务器 EDirectory
检索组和用户信息后, 即可在策略中使用该信息。
若要确认, 请转到 "策略" 选项卡, 在 "源用户" 列中单击, 然后在显示的屏幕中显示组.
使用 LDAP 服务器进行具有固定门户、SSL VPN 或防火墙 GUI 访问的身份验证
对于我们需要实际挑战用户用户名和密码的情况, 我们现在可以使用 LDAP 了。 有三个基本步骤涉及:
- 在服务器配置文件下添加 LDAP 服务器
- 在 "用户标识" 部分下添加 LDAP 服务器
- 使用已定义的 LDAP 服务器创建身份验证配置文件
在下面的示例中, 我们将使用 LDAP 连接到活动目录。
- 在 "设备" 下, 选择 "服务器配置文件" 下的 LDAP 选项。单击 "新建" 以添加服务器。如前面的示例所示, 填写所有必要的信息。
不幸的是, 我们无法找到基地使用我们为 eDirectory 的方法。但是, 如果您进入活动目录的用户和计算机, 您可以看到目录的基础。在下面的示例中, 基数为 dc = 斯沃茨, dc = 本地
要查找绑定 DN, 请在用户和计算机中仍然搜索该用户, 然后从 "视图" 菜单获取结果。选择 "选择列"。添加 X500 可分辨名称。结果应如下所显示:
有了这些信息, 我们现在就可以完成配置了。
注意:在本例中, 我们将其设置为在端口389上没有 SSL 加密. 活动目录不需要加密, 默认情况下不可用。要在 Active Directory 中为 LDAP 启用 SSL, 下面的 URL 可以证明是有用的: http://www.linuxmail.info/enable-ldap-ssl-active-directory/.
- 在 "用户标识" 部分添加 LDAP 服务器。有一些差异。对于活动目录, 指定如何确定组和用户对象。对于活动目录, 可以按如下方式设置字段:
sAMAccountName 对应于活动目录中的用户登录名。
注意组筛选器: 描述 = AccessGroup。这将限制防火墙了解的组和用户的数量, 并可用于创建策略。
在下面的示例中, 设置了组中的说明字段。 下面显示的是在该方案中查看此设置的效果之前和之后的情况--在添加此设置之前和之后发生了更改。
用户筛选器可以限制您将了解的用户。这些筛选器仅控制您看到的组或在验证配置文件中设置允许列表时或在策略中设置源用户或组时可以搜索的用户群。
注意:域用户是活动目录中的特殊组, 用户将其与属性 primaryGoupID 的用户架构的一部分绑定在一起. 无法通过 LDAP 查询枚举成员, 因为没有为该组设置成员属性, 因此不能使用它来学习所有用户名。
要了解有关构建 LDAP 查询的更多信息, 请参阅以下站点:
http://www.rfc-editor.org/rfc/rfc2254.txt
http://www.zytrax.com/books/ldap/apa/search.html
- 组: 名称 = CN, 对象: = 组, 成员 = 成员
- 用户: 名称 = sAMAccountName, 对象 = 人
- 最后一步是使用 LDAP 服务器创建身份验证配置文件。从设备中选择 "身份验证配置文件" 图标, 然后选择 "新建"。给配置文件一个名称, 将身份验证设置为 LDAP, 选择创建的服务器配置文件, 并设置登录属性。这将用户输入的名称映射到 LDAP 属性。对于 AD, 请使用 sAMAccountName。
- 编辑允许列表以指定可以使用此身份验证方法的组和用户。
注意:指定将分配给管理员访问权限的每个用户:此配置文件现在已准备就绪, 可用于以前为 RADIUS 或本地用户数据库设置的管理访问、固定门户或 SSL VPN 访问。
下面显示的是使用 LDAP 的 SSL VPN 配置文件的屏幕截图:
使用 ldap 进行身份验证的一个优点是, 对于大多数组织已经拥有支持 LDAP 的目录服务, 因此无需安装或配置任何东西。 由于我们允许用户定义如何确定组和用户, 所以它应该与几乎所有 LDAP 兼容目录一起使用。
更多的信息
轻量级目录访问协议概述
轻量级目录访问协议 (LDAP) 是通过 IP 网络提供目录服务的开放标准。 LDAP 是基于 500, OSI 目录访问协议, 并首先在 RFC1487 描述。 最新版本 (版本 3) 在 RFC2251 中进行了描述。
LDAP 数据库有两个主要组件, 我们必须了解它, 才能将其用于身份验证、其结构及其内容。
LDAP 是一种分层数据库结构, 用于定义组织及其结构。它是令人难以置信的灵活是设计, 因为这个每个组织的 LDAP 结构将不同。
目录的内容是在其架构中定义的, 它具有高度可扩展性。用户可以修改数据库设计以满足他们的需要。目录架构定义了它们可以拥有的可能的数据库对象和属性。查看目录时, 通常将其视为容器对象 (组织、组织单位) 和叶对象 (人员、计算机) 的集合。
RFC 2377 定义了启用目录的应用程序的基本架构。下面列出了一些对我们很重要的部分:
- rdn: 相对可分辨名称是对象的名称, 而不引用它在树中的位置. 它通常基于对象的公共名称。
- dn: 可分辨名称是通过在目录层次结构中指示其位置来定义对象的名称. 它是通过将对象及其每个祖先的相对可分辨名称与目录分区的根连接起来创建的。此名称在整个目录中是唯一的
- 基 DN: 每个目录都需要提供基本的目录特定信息, 以便客户端可以访问它们. 这些属性之一是可以在此服务器上访问的基本可分辨名称 (DN) 的列表。通常, 基 DN 将是目录的各个域组件。
- cn: 公用名称通常用于引用对象, 因为它是所有叶对象所拥有的属性。公用名称在其自己的容器中只需要唯一 (因此, 只要它们位于单独的容器中, 就有可能有两个对象与 Bob 的 cn. 此属性可以包含用户登录名。
- o组织是目录的根数倍. 组织下面将是各种组织单位、组和成员。eDirectory 以此作为其结构的基础。
- ou: 组织单位用于帮助定义组织的结构. 目录可以由树的任何级别上的多个组织单位组成。
- dc: 域组件定义了目录的顶层部分, 并基于组织的 DNS 域名. 活动目录使用此格式。
- 成员: 包含组中所有成员的组对象的属性. 防火墙使用此属性来确定用户是否处于静态组中。
LDAP 浏览器
- Softerra ldap 管理员是一个优秀的 Windows 的 ldap 工具, 可在以下网址找到: >http://www. ldapadministrator 。
注:首次免费试用后, 需要购买此申请以供进一步使用. - JXplorer 是一个免费的基于 Java 的浏览器, 适用于 Windows、Mac 和 Linux。 可在: http://jxplorer.org/中找到.
- LdapBrowser 工程是另一个免费的基于 java 的浏览器, 可以在这里找到: http://www.brothersoft.com/ldap-browser-14779.html
- 所有者: bswartzw