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身份验证服务器
导航到系统>认证>基本策略> LDAP >服务器>添加.
- 在创建认证LDAP服务器界面,配置LDAP服务器的相关参数。
- 点击创建.
使用命令行方式启用认证策略
add authentication ldappolicy []说明
例子:
add authentication ldappolicy ldap-service-policy ns_true ldap_Server
使用配置实用程序创建LDAP认证策略
- 导航到系统>认证>基本策略> LDAP >策略>添加
在创建认证LDAP策略界面,配置LDAP策略的相关参数。
- 点击创建.
请注意
通过配置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添加身份验证
使用实例' ' ' add authentication ldapAction ldapAct1 attribute1 mail
支持验证端到端LDAP身份验证
Citrix ADC设备现在可以通过GUI验证端到端LDAP身份验证。为了验证这个特性,GUI中引入了一个新的“测试”按钮。Citrix ADC设备管理员可以使用该特性实现以下好处:
- 整合完整的流程(包引擎- Citrix ADC AAA守护进程-外部服务器)以提供更好的分析
- 减少验证和排除与个别场景相关的问题的时间
通过使用GUI,您可以配置和查看LDAP端到端身份验证的测试结果。
从系统选项
- 导航到系统>认证>基本策略> LDAP、点击服务器选项卡。
- 选择可用的LDAP行动从列表中。
- 在配置认证LDAP服务器Page,你有两个选项连接设置部分。
- 单击,检查LDAP服务器是否连接成功LDAP可达性测试选项卡。您可以查看弹出消息,显示成功连接到LDAP服务器,并提供TCP端口详细信息和有效凭据的真实性。
- 单击,查看端到端LDAP认证信息测试最终用户连接链接。
- 在测试最终用户连接页面,点击测试.
- 在身份验证页面,输入要登录的有效凭据。系统显示成功界面。
- 如果认证失败,则返回错误界面。
从身份验证选项
- 导航到身份验证>仪表板,从列表中选择可用的LDAP操作。
- 在配置认证LDAP服务器Page,你有两个选项连接设置部分。
- 单击,检查LDAP服务器是否连接成功LDAP可达性测试选项卡。您可以查看弹出消息,显示成功连接到LDAP服务器,并提供TCP端口详细信息和有效凭据的真实性。
- 单击,查看端到端LDAP认证状态测试最终用户连接链接。
在测试最终用户连接页面,点击测试.
- 在身份验证页面,输入要登录的有效凭据。系统显示成功界面。
- 如果认证失败,则返回错误界面。
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天密码到期通知的事件流程示例:
- 管理员通过使用Citrix ADC设备设置密码过期时间(14天)。
- 用户发送HTTP或HTTPS请求访问后端服务器上的资源。
- 在提供访问之前,Citrix ADC设备使用LDAP身份验证服务器上配置的内容验证用户凭据。
- 除了对身份验证服务器的查询外,Citrix ADC设备还携带获取两个属性详细信息的请求(
Max-Pwd-Age和Pwd-Last-Set
). - 根据密码的过期时间,提示密码过期。
- 然后用户采取适当的操作来更新密码。
使用命令行配置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天到期通知
- 导航到安全> AAA -应用流量>认证设置.
- 点击更改身份验证AAA设置.
在AAA配置参数页中,指定日期密码到期通知(天)字段。
点击好的。
VPN portal界面右上角会显示通知信息。