Citrix ADC

LDAP身份验证

与其他类型的身份验证策略一样,轻量级目录访问协议(Lightweight Directory Access Protocol, LDAP)身份验证策略由表达式和操作组成。创建认证策略后,需要将认证策略与认证虚拟服务器绑定,并为认证虚拟服务器分配优先级。绑定时,还可以将其指定为主策略或辅助策略。除了标准的身份验证功能外,LDAP还可以在其他AD服务器上搜索本地不存在的用户帐号。这个函数被称为转介支持或转介追逐。

一般情况下,在认证过程中将Citrix ADC配置为使用认证服务器的IP地址。对于LDAP身份验证服务器,还可以将ADC配置为使用LDAP服务器的FQDN而不是IP地址对用户进行身份验证。在身份验证服务器可能位于多个IP地址中的任意一个,但始终使用单个FQDN的环境中,使用FQDN可以简化更为复杂的身份验证、授权和审计配置。要通过使用服务器的FQDN而不是IP地址配置身份验证,除了创建身份验证操作外,您可以遵循正常的配置过程。在创建动作时,使用serverName参数,而不是serverIP参数,并将服务器的FQDN替换为其IP地址。

之前决定是否将ADC配置为使用LDAP服务器的IP或FQDN对用户进行身份验证,认为配置身份验证、授权和审计进行身份验证的FQDN而不是IP地址验证过程增加了一个额外的步骤。每次ADC对用户进行身份验证时,都必须解析FQDN。如果大量用户同时尝试进行身份验证,那么产生的DNS查找可能会减慢身份验证过程。

默认情况下,LDAP引用支持是禁用的,不能全局启用。必须为每个LDAP操作显式启用它。请确保AD服务器接受相同的配置binddn凭证与引用(GC)服务器一起使用。要启用引用支持,您需要配置一个LDAP操作来跟踪引用,并指定要跟踪的最大引用数量。

如果启用了引用支持,Citrix ADC将收到对请求的LDAP_REFERRAL响应,那么身份验证、授权和审计将遵循对引用中包含的活动目录(AD)服务器的引用,并在该服务器上执行更新。首先,身份验证、授权和审计在DNS中查找引用服务器,并连接到该服务器。如果引用策略需要SSL/TLS,它将通过SSL/TLS进行连接。然后,它使用binddn凭证并执行生成引用的操作。该特性对用户是透明的。

LDAP连接的端口号为:

  • 389用于不安全的LDAP连接(用于纯文本LDAP)
  • 636用于安全LDAP连接(用于SSL LDAP)
  • 3268用于Microsoft不安全LDAP连接(用于纯文本全局目录服务器)
  • 3269用于Microsoft安全LDAP连接(用于SSL Global Catalog Server)

LDAP服务器的用户属性字段示例如下:

LDAP服务器 用户属性 区分大小写的
Microsoft Active Directory服务器 sAMAccountName 没有
Novell eDirectory 是的
IBM Directory Server uid 是的
Lotus Domino CN 是的
Sun ONE目录(原iPlanet) uid或cn 是的

该表包含基本DN的示例:

LDAP服务器 基本DN
Microsoft Active Directory服务器 DC =citrix, DC =当地
Novell eDirectory ou =用户,ou = dev
IBM Directory Server cn =用户
Lotus Domino OU =城市,O =Citrix, C =我们
Sun ONE目录(原iPlanet) ou =人,dc =citrix, dc = com

绑定DN的示例如下:

LDAP服务器 Bind DN
Microsoft Active Directory服务器 CN =管理员,CN =用户,DC =citrix, DC =当地
Novell eDirectory cn = admin, o =citrix
IBM Directory Server LDAP_dn
Lotus Domino CN = Notes管理员,O =Citrix, C =我们
Sun ONE目录(原iPlanet) uid = admin, ou =管理员,ou = TopologyManagement, o = NetscapeRoot

有关设置身份验证策略的详细信息,请参见身份验证策略.有关策略规则中使用的Citrix ADC表达式的详细信息,请参见政策和表达式

使用命令行创建LDAP认证服务器

在命令提示符处,输入以下命令:

add authentication ldapAction  {-serverIP}  | {-serverName }}

例子

add authentication ldapAction ldap_server -serverip 1.1.1.1 -serverName ldap_test

使用配置实用程序创建LDAP身份验证服务器

  1. 导航到系统>认证>基本策略> LDAP >服务器>添加

    添加LDAP服务器

  2. 创建认证LDAP服务器界面,配置LDAP服务器的相关参数。
  3. 点击创建

使用命令行方式启用认证策略

add authentication ldappolicy   []说明

例子:

add authentication ldappolicy ldap-service-policy ns_true ldap_Server

使用配置实用程序创建LDAP认证策略

  1. 导航到系统>认证>基本策略> LDAP >策略>添加
  2. 创建认证LDAP策略界面,配置LDAP策略的相关参数。

    创建LDAP策略

  3. 点击创建

请注意

通过配置LDAP服务器/策略安全选项卡。导航到安全> AAA -应用流量>策略>认证>基本策略> LDAP >服务器/策略

使用命令行接口启用LDAP引用支持

在命令提示符处,输入以下命令:

  • 设置认证ldapAction -followReferrals ON
  • set authentication ldapAction -maxLDAPReferrals

例子

> set authentication ldapAction ldapAction-1 -followReferrals ON > set authentication ldapAction ldapAction-1 -maxLDAPReferrals 2

支持LDAP用户的密钥认证

使用基于密钥的身份验证,您现在可以通过SSH获取存储在LDAP服务器中的用户对象上的公钥列表。在基于角色的身份验证(RBA)过程中,Citrix ADC设备必须从LDAP服务器提取公共SSH密钥。检索到的公钥与SSH兼容,必须允许您通过RBA方法登录。

在“add authentication ldapAction”和“set authentication ldapAction”命令中引入了一个新属性“sshPublicKey”。通过使用该属性,您可以获得以下好处:

  • 可以存储检索到的公钥,LDAP操作使用此属性从LDAP服务器检索SSH密钥信息。
  • 最多可以提取24 KB的属性名。

请注意

外部认证服务器(如LDAP)仅用于检索SSH密钥信息。它不用于身份验证目的。

下面是SSH的事件流程示例:

  • SSH守护进程向认证、授权和审计守护进程端口发送一个密码字段为空的AAA_AUTHENTICATE请求。
  • 如果LDAP被配置为存储SSH公钥,那么认证、授权和审计将响应“sshPublicKey”属性以及其他属性。
  • SSH守护进程使用客户端密钥验证这些密钥。
  • SSH守护进程在请求有效负载中传递用户名,身份验证、授权和审计将返回特定于该用户的密钥以及通用密钥。

要配置sshPublicKey属性,请在命令提示符下输入以下命令:

  • 通过添加操作,可以在配置ldapAction命令时添加“sshPublicKey”属性。

    add authentication ldapAction {-serverIP | {-serverName ]…[-Attribute1 ]…[-sshPublicKey ][-authentication off]

  • 通过设置操作,您可以将“sshPublicKey”属性配置到已经添加的ldapAction命令。

    set authentication ldapAction [-sshPublicKey ][-authentication off]

名称-值属性支持LDAP认证

现在可以使用惟一的名称和值配置LDAP身份验证的属性。名称在LDAP动作参数中配置,通过查询名称获取。通过使用这个特性,Citrix ADC设备管理员现在可以获得以下好处:

  • 通过按名称(而不只是按值)记住属性,使管理员的工作量最小化
  • 增强搜索功能,以查询与名称关联的属性值
  • 提供提取多个属性的选项

要在Citrix ADC设备命令提示符中配置此特性,请输入:

“‘ldapAction添加身份验证 [attribute1

使用实例' ' ' add authentication ldapAction ldapAct1 attribute1 mail

支持验证端到端LDAP身份验证

Citrix ADC设备现在可以通过GUI验证端到端LDAP身份验证。为了验证这个特性,GUI中引入了一个新的“测试”按钮。Citrix ADC设备管理员可以使用该特性实现以下好处:

  • 整合完整的流程(包引擎- Citrix ADC AAA守护进程-外部服务器)以提供更好的分析
  • 减少验证和排除与个别场景相关的问题的时间

通过使用GUI,您可以配置和查看LDAP端到端身份验证的测试结果。

从系统选项

  1. 导航到系统>认证>基本策略> LDAP、点击服务器选项卡。
  2. 选择可用的LDAP行动从列表中。
  3. 配置认证LDAP服务器Page,你有两个选项连接设置部分。
  4. 单击,检查LDAP服务器是否连接成功LDAP可达性测试选项卡。您可以查看弹出消息,显示成功连接到LDAP服务器,并提供TCP端口详细信息和有效凭据的真实性。
  5. 单击,查看端到端LDAP认证信息测试最终用户连接链接。
  6. 测试最终用户连接页面,点击测试
    • 在身份验证页面,输入要登录的有效凭据。系统显示成功界面。

    身份验证成功的屏幕

    • 如果认证失败,则返回错误界面。

    身份验证失败屏幕

从身份验证选项

  1. 导航到身份验证>仪表板,从列表中选择可用的LDAP操作。
  2. 配置认证LDAP服务器Page,你有两个选项连接设置部分。
  3. 单击,检查LDAP服务器是否连接成功LDAP可达性测试选项卡。您可以查看弹出消息,显示成功连接到LDAP服务器,并提供TCP端口详细信息和有效凭据的真实性。
  4. 单击,查看端到端LDAP认证状态测试最终用户连接链接。
  5. 测试最终用户连接页面,点击测试

    • 在身份验证页面,输入要登录的有效凭据。系统显示成功界面。

    身份验证成功的屏幕

    • 如果认证失败,则返回错误界面。

    身份验证失败屏幕

LDAP认证的14天密码到期通知

Citrix ADC设备现在支持基于LDAP身份验证的14天密码到期通知。通过使用该特性,管理员可以以天为单位通知最终用户密码的过期时间。14天的密码到期通知是自助密码重置(SSPR)的前兆。

请注意

密码到期提醒时间的上限(以天为单位)为255天。

密码到期通知的好处

  • 允许用户自行重置密码,并为管理员提供一种灵活的方式,以在天内通知最终用户密码到期。
  • 消除终端用户对跟踪密码过期天数的依赖。
  • 通过VPN portal页面(按天数)通知用户在密码到期前修改密码。

请注意

该特性仅适用于LDAP认证方案,不适用于RADIUS和TACACS认证方案。

理解14天的密码通知

Citrix ADC设备获取两个属性(Max-Pwd-Age和Pwd-Last-Set)。

  • Max-Pwd-Age。此属性表示密码有效之前的最长时间(以100纳秒为间隔)。该值存储为一个大整数,表示从密码设置到密码过期之前的100纳秒间隔。
  • Pwd-Last-Set。此属性确定帐户密码最后更改的日期和时间。

通过从LDAP身份验证服务器获取这两个属性,Citrix ADC设备可以确定特定用户的密码过期的时间。当在身份验证服务器上验证任何用户凭据并将通知发送回用户时,将收集此信息。

中引入了一个新参数“pwdExpiryNotification”aaa级参数设置命令。通过使用该参数,管理员可以跟踪密码有效期的剩余天数。Citrix ADC设备现在可以开始通知最终用户他们的密码到期了。

请注意

目前,该特性仅适用于具有LDAP实现的Microsoft AD服务器的身份验证服务器。后面的目标是支持基于OpenLDAP的服务器。

以下是设置14天密码到期通知的事件流程示例:

  1. 管理员通过使用Citrix ADC设备设置密码过期时间(14天)。
  2. 用户发送HTTP或HTTPS请求访问后端服务器上的资源。
  3. 在提供访问之前,Citrix ADC设备使用LDAP身份验证服务器上配置的内容验证用户凭据。
  4. 除了对身份验证服务器的查询外,Citrix ADC设备还携带获取两个属性详细信息的请求(Max-Pwd-Age和Pwd-Last-Set).
  5. 根据密码的过期时间,提示密码过期。
  6. 然后用户采取适当的操作来更新密码。

使用命令行配置14天的过期通知

请注意

14天的到期通知可以配置为无客户端VPN和全VPN用例,而不是ICA代理。

在命令提示符处,输入以下命令:

  • set aaa parameter -pwdExpiryNotificationDays
  • 显示aaa参数< !——NeedCopy >

例子

> aaa级参数设置-pwdExpiryNotificationDays 14做>显示aaa EnableStaticPageCaching aaa参数配置参数:是的EnableEnhancedAuthFeedback:没有DefaultAuthType:本地MaxAAAUsers:无限AAAD nat ip:没有EnableSessionStickiness:没有aaaSessionLoglevel:信息AAAD日志级别:信息动态地址:关闭GUI模式:ON Max Saml Deflate Size: 1024密码到期通知天数:14

使用GUI配置14天到期通知

  1. 导航到安全> AAA -应用流量>认证设置
  2. 点击更改身份验证AAA设置
  3. AAA配置参数页中,指定日期密码到期通知(天)字段。

    Citrix ADC AAA设置

  4. 点击好的。

    VPN portal界面右上角会显示通知信息。

    通知