Citrix ADC

外部用户身份验证

Citrix ADC 设备中的身份验证服务可以是本地的,也可以是外部的。在外部用户身份验证中,设备使用外部服务器(如 LDAP、RADIUS 或 TACACS+)对用户进行身份验证。要对外部用户进行身份验证并授予用户访问设备的权限,您必须应用身份验证策略。Citrix ADC 系统身份验证使用高级身份验证策略和高级策略表达式。高级身份验证策略还用于分区 Citrix ADC 设备中的系统用户管理。

注意:

如果设备仍在使用 Classic 策略及其表达式,则必须停止使用 Classic 策略并将您的 Classic 策略使用迁移到高级策略基础架构中。

创建身份验证策略后,必须将其绑定到系统全局实体。您可以通过将单个身份验证策略绑定到系统全局实体来配置外部身份验证服务器(例如 TACACS)。或者,您可以通过将多个策略绑定到系统全局实体来配置身份验证服务器级联。

注意:

当外部用户登录设备时,系统会在文件中生成一条错误消息“用户不ns.log 存在”。出现这种情况是因为系统运行系统管理器系统策略绑定命令来初始化用户的 GUI。

LDAP 身份验证(使用外部 LDAP 服务器)

您可以将 Citrix ADC 设备配置为对一个或多个 LDAP 服务器的用户访问进行身份验证。LDAP 授权要求活动目录、LDAP 服务器和设备上的组名称相同。字符和大小写也必须相同。

有关 LDAP 身份验证策略的详细信息,请参阅LDAP 身份验证策略 主题。

默认情况下,LDAP 身份验证是使用 SSL/TLS 协议保护的。有两种类型的安全 LDAP 连接。在第一种类型中,LDAP 服务器接受与用于接受清除 LDAP 连接的端口分开的 SSL/TLS 连接。用户建立 SSL/TLS 连接后,可以通过连接发送 LDAP 流量。第二种类型允许不安全和安全的 LDAP 连接,单个端口在服务器上处理此问题。在这种情况下,要创建一个安全的连接,客户端首先建立一个清晰的 LDAP 连接。然后 LDAP 命令 StartTLS 通过连接发送到服务器。如果 LDAP 服务器支持 StartTLSS,则通过使用 TLS 将连接转换为安全的 LDAP 连接。

LDAP 连接的端口号为:

  • 389 用于不安全的 LDAP 连接
  • 636 用于安全的 LDAP 连接
  • 3268 用于 Microsoft 不安全的 LDAP 连接
  • 3269 用于 Microsoft 安全的 LDAP 连接

使用 StartTLSS 命令的 LDAP 连接使用端口号 389。如果设备上配置了端口号 389 或 3268,则会尝试使用 StartTLSS 进行连接。如果使用任何其他端口号,则连接尝试使用 SSL/TLS。如果无法使用 StartTLSS 或 SSL/TLS,则连接失败。

配置 LDAP 服务器时,字母字符的大小写必须与服务器和设备上的大小写匹配。如果指定了 LDAP 服务器的根目录,则还会搜索所有子目录以查找用户属性。在大型目录中,这可能会影响性能。因此,Citrix 建议您使用特定组织单位 (OU)。

下表列出了基本可分辨名称 (DN) 的示例。

LDAP 服务器 基本 DN
Microsoft Active Directory DC=Citrix, DC=local
Novell eDirectory dc=Citrix, dc=net
IBM Directory Server cn=users
Lotus Domino OU=City, O=Citrix, C=US
Sun ONE 目录(以前称为 iPlanet) ou=People, dc=Citrix, dc=com

下表列出了绑定可分辨名称 (DN) 的示例。

LDAP 服务器 绑定 DN
Microsoft Active Directory CN=Administrator, CN=Users, DC=Citrix, DC=local
Novell eDirectory cn=admin, dc=Citrix, dc=net
IBM Directory Server LDAP_dn
Lotus Domino CN=Notes Administrator, O=Citrix, C=US
Sun ONE 目录(以前称为 iPlanet) uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot
LDAP 服务器 绑定 DN
Microsoft Active Directory CN=Administrator, CN=Users, DC=Citrix, DC=local
Novell eDirectory cn=admin, dc=Citrix, dc=net
IBM Directory Server LDAP_dn
Lotus Domino CN=Notes Administrator, O=Citrix, C=US
Sun ONE 目录(以前称为 iPlanet) uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot

使用 CLI 配置 LDAP 用户身份验证

完成以下步骤,为外部用户配置 LDAP 身份验证

配置 LDAP 策略

在命令提示窗口中执行以下操作:

步骤 1: 创建 LDAP 操作。

add authentication ldapAction <name> {-serverIP <ip_addr|ipv6_addr|*> | {-serverName <string>}} >] [-authTimeout <positive_integer>] [-ldapBase <string>] [-ldapBindDn <string>] {-ldapBindDnPassword } [-ldapLoginName <string>] [-groupAttrName <string>] [-subAttributeName <string>]

示例:

add authentication ldapAction ldap_act -serverIP <IP> -authTimeout 30 -ldapBase "CN=xxxxx,DC=xxxx,DC=xxx" -ldapBindDn "CN=xxxxx,CN=xxxxx,DC=xxxx,DC=xxx" -ldapBindDnPassword abcd -ldapLoginName sAMAccountName -groupattrName memberOf -subAttributeName CN

有关参数说明,请参阅 身份验证和授权命令参考 主题。

步骤 2:创建经典 LDAP 策略。

add authentication ldapPolicy <name> <rule> [<reqAction>]

示例:

add authentication ldappolicy ldap_pol_classic ns_true ldap_act

注意:

您可以使用传统或高级 LDAP 策略进行配置,但 Citrix 建议您使用高级身份验证策略,因为从 Citrix ADC 13.0 版本起已弃用传统策略。

步骤 3:创建高级 LDAP 策略

add authentication Policy <name> <rule> [<reqAction>]

示例:

add authentication policy ldap_pol_advance -rule true -action ldap_act

步骤 4:将 LDAP 策略绑定到系统全局

在命令行提示符处,执行以下操作:

bind system global <policyName> [-priority <positive_integer]

示例:

bind system global ldap_pol_advanced -priority 10

使用 Citrix ADC GUI 配置 LDAP 用户身份验证

  1. 导航到系统 > 身份验证 > 高级策略 > 策略
  2. 单击添加创建 LDAP 类型的身份验证策略。
  3. 点击 创建关闭

配置 LDAP 用户身份验证

使用 Citrix ADC GUI 将身份验证策略绑定到系统全局以进行 LDAP 身份验证

  1. 导航到系统 > 身份验证 > 高级策 略”>身份验证策略
  2. 在详细信息窗格中,单击全局绑定以创建系统全局身份验证策略绑定。
  3. 单击全局绑定

    将身份验证策略绑定到系统全局以进行 LDAP 身份验证

  4. 选择身份验证配置文件。

    选择身份验证配置文件

  5. 选择 LDAP 策略。
  6. 系统全局身份验证策略绑定页中,设置以下参数:

    1. 选择 策略。
    2. 绑定详细信息

    选择 LDAP 策略

  7. 点击 绑定完成
  8. 单击全局绑定以确认策略绑定到系统全局。

    LDAP 全局绑定

确定 LDAP 目录中的属性

如果您在确定 LDAP 目录属性方面需要帮助,您可以使用 Softerra 免费的 LDAP 浏览器轻松查找它们。

您可以从 Softerra LDAP 管理员网站 <http://www.ldapbrowser.com> 下载 LDAP 浏览器。安装浏览器后,设置以下属性:

  • LDAP 服务器的主机名或 IP 地址。
  • LDAP 服务器的端口。默认值为 389。
  • 基本 DN 字段可以留空。
  • LDAP 浏览器提供的信息可帮助您确定“身份验证”选项卡所需的基本 DN。
  • 匿名绑定检查确定 LDAP 服务器是否需要浏览器连接到它的用户凭据。如果 LDAP 服务器需要凭据,请将复选框保持清除状态。

完成设置后,LDAP 浏览器将在左侧窗格中显示配置文件名称并连接到 LDAP 服务器。

有关详细信息, 请参阅 LDAP主题。

RADIUS 认证(使用外部 RADIUS 服务器)

您可以将 Citrix ADC 设备配置为对一个或多个 RADIUS 服务器的用户访问进行身份验证。如果您使用的是 RSA SecurID、SafeWord 或 Gemalto Protiva 产品,请使用 RADIUS 服务器。

有关 RADIUS 身份验证策略的详细信息,请参阅RADIUS 身份验证策略 主题。

您的配置可能需要使用网络访问服务器 IP 地址 (NAS IP) 或网络访问服务器标识符 (NAS ID)。将设备配置为使用 RADIUS 身份验证服务器时,请遵循以下准则:

  • 如果启用 NAS IP 的使用,设备将其配置的 IP 地址发送到 RADIUS 服务器,而不是用于建立 RADIUS 连接的源 IP 地址。
  • 如果配置 NAS ID,设备会将标识符发送到 RADIUS 服务器。如果未配置 NAS ID,设备将其主机名发送到 RADIUS 服务器。
  • 启用 NAS IP 地址后,设备将忽略它用于与 RADIUS 服务器通信的任何 NAS ID。

使用 CLI 配置 RADIUS 用户身份验证

在命令提示窗口中执行以下操作:

步骤 1: 创建 RADIUS 操作

add authentication radiusaction <name> -serverip <ip> -radkey <key> -radVendorID <id> -radattributetype <value>

其中, radVendorID RADIUS 供应商 ID 属性,用于 RADIUS 组抽取。 radAttributeType RADIUS 属性类型,用于提取 RADIUS 组。

示例:

add authentication radiusaction RADserver531 rad_action -serverip 1.1.1.1 -radkey key123 -radVendorID 66 -radattributetype 6

步骤 2:创建经典 RADIUS 策略。

add authentication radiusPolicy <name> <rule> [<reqAction>]

示例:

add authentication radiuspolicy radius_pol_classic ns_true radius_act

注意:

您可以使用经典 RADIUS 策略或高级 RADIUS 策略进行配置,但 Citrix 建议您使用高级身份验证策略,因为从 Citrix ADC 13.0 版本开始不建议使用传统策略。

步骤 3:创建高级 RADIUS 策略

add authentication policy <policyname> -rule true -action <radius action name>

示例:

add authentication policy rad_pol_advanced -rule true -action radserver531rad_action

步骤 4:将 RADIUS 策略绑定到系统全局。

bind system global <policyName> -priority <positive_integer

示例:

bind system global radius_pol_advanced -priority 10

使用 GUI 配置 RADIUS 用户身份验证

  1. 导航到系统 > 身份验证 > 高级策略 > 策略
  2. 单击添加以创建类型为 RADIUS 的身份验证策略。
  3. 点击 创建关闭

配置 RADIUS 策略

使用 GUI 将身份验证策略绑定到系统全局以进行 RADIUS 身份验证

  1. 导航到系统 > 身份验证 > 高级策略 > 策略
  2. 在详细信息窗格中,单击全局绑定以创建系统全局身份验证策略绑定。
  3. 单击全局绑定

    将身份验证策略绑定到 RADIUS 的全局系统

  4. 选择RADIUS。
  5. 系统全局身份验证策略绑定页中,设置以下参数:

    1. 选择 策略。
    2. 绑定详细信息。

    系统全局身份验证策略绑定

  6. 单击绑定关闭
  7. 单击全局绑定以确认绑定到系统全局的策略。

    RADIUS 身份验证策略全局绑定

选择 RADIUS 用户验证协议

Citrix ADC 设备支持 RADIUS 实现,这些实现配置为使用多种协议中的任何一种进行用户身份验证,包括:

  • 密码身份验证协议
  • 质疑握手身份验证协议 (CHAP)
  • Microsoft 质询握手身份验证协议(MS-CHAP 版本 1 和版本 2)

如果您的部署配置为使用 RADIUS 身份验证,并且 RADIUS 服务器配置了密码身份验证协议,则可以通过为 RADIUS 服务器分配强共享密钥来增强用户身份验证。强 RADIUS 共享密码由大写和小写字母、数字和标点符号组成的随机序列组成,长度至少为 22 个字符。如果可能,请使用随机字符生成程序来确定 RADIUS 共享机密。

要进一步保护 RADIUS 流量,请为每个设备或虚拟服务器分配不同的共享密钥。在 RADIUS 服务器上定义客户端时,还可以为每个客户端分配单独的共享机密。此外,您必须单独配置每个使用 RADIUS 身份验证的策略。

配置 IP 地址提取

您可以将设备配置为从 RADIUS 服务器中提取 IP 地址。当用户使用 RADIUS 服务器进行身份验证时,服务器将返回分配给该用户的框架 IP 地址。以下是 IP 地址提取的属性:

  • 允许远程 RADIUS 服务器从内部网络为登录到设备的用户提供 IP 地址。
  • 允许使用 ip-地址类型配置任何 RADIUS 属性,包括供应商编码的属性。

配置 RADIUS 服务器进行 IP 地址提取时,您可以配置供应商标识符和属性类型。

供应商标识符使 RADIUS 服务器能够从 RADIUS 服务器上配置的 IP 地址池中为客户端分配 IP 地址。供应商 ID 和属性用于建立 RADIUS 客户端和 RADIUS 服务器之间的关联。供应商 ID 是 RADIUS 响应中提供内部网络 IP 地址的属性。值为零表示属性未经供应商编码。属性类型是 RADIUS 响应中的远程 IP 地址属性。最小值为 1,最大值为 255。

一种常见的配置是提取 RADIUS 属性 框架 IP 地址。供应商 ID 设置为零或未指定。属性类型设置为 8。

使用 GUI 对 RADIUS 进行分组抽取

  1. 导航到系统 > 身份验证 > 高级策 略”>RADIUS,然后选择策略。
  2. 选择或创建 RADIUS 策略。
  3. 配置身份验证 RADIUS 服务器页中,设置以下参数。

    1. 组供应商标识符
    2. 组属性类型
  4. 单击确定关闭

    RADIUS的组抽取

TACACS+ 身份验证(使用外部 TACACS+ 服务器)

您可以配置 TACACS+ 服务器进行身份验证。与 RADIUS 身份验证类似,TACACS+ 使用私有密钥、IP 地址和端口号。默认端口号为 49。要将设备配置为使用 TACACS+ 服务器,请提供服务器 IP 地址和 TACACS+ 密钥。只有当使用的服务器端口号不是默认端口号 49 时,才必须指定端口。

有关详细信息, 请参阅 TACACS 身份验证主题。

使用 GUI 配置 TACACS+ 身份验证

  1. 导航到系统 > 身份验证 > 高级策略 > 策略
  2. 单击 添加 以创建类型为 TACACS 的身份验证策略。
  3. 点击 创建关闭

配置 TACACS 策略

在设备上配置 TACACS+ 服务器设置后,将策略绑定到系统全局实体。

使用 CLI 将身份验证策略绑定到系统全局实体

配置身份验证策略后,将策略绑定到系统全局实体。

在命令行提示符处,执行以下操作:

bind system global <policyName> [-priority <positive_integer>]

示例:

bind system global pol_classic -priority 10

此外,请阅读 Citrix 文章 CTX113820,了解有关使用 TACACS 的外部身份验证的信息。

使用 GUI 将身份验证策略绑定到系统全局实体

  1. 导航到系统 > 身份验证 > 高级策略 > 身份验证策略 > 策略
  2. 在详细信息窗格中,单击全局绑定以创建系统全局身份验证策略绑定。
  3. 单击全局绑定

    将身份验证策略绑定到系统全局以进行 TACACS 身份验证

  4. 选择 TACACS 策略。
  5. 在“系统全局身份验证策略绑定”页中,设置以下参数:

    1. 选择 策略。
    2. 绑定详细信息

    系统全局用于 TACACS 身份验证

  6. 单击绑定关闭
  7. 单击全局绑定以确认绑定到系统全局的策略。

    TACACS 系统全局绑定确认

有关 TACACS 支持组提取的详细信息,请阅读 Citrix 文章CTX220024

显示外部用户失败的登录尝试次数

当您在成功登录到 Citrix ADC 管理控制台之前至少尝试一次不成功登录时,Citrix ADC 设备会向外部用户显示无效登录尝试次数。

注意:

目前,Citrix 仅支持在系统参数中启用了“持久登录尝试”参数的外部用户的键盘交互式身份验证。

在命令提示窗口中,键入: set aaa parameter -maxloginAttempts <value> -failedLoginTimeout <value> -persistentLoginAttempts (ENABLED | DISABLED )]

示例: set aaa parameter –maxloginAttempts 5 -failedLoginTimeout 4 –persistentLoginAttempts ENABLED

Following msg will be seen to external user when he tries 1 invalid login attempt before successfully login to the ADC management access.

Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
###############################################################################
#                                                                             #
#        WARNING: Access to this system is for authorized users only          #
#         Disconnect IMMEDIATELY if you are not an authorized user!           #
#                                                                             #
###############################################################################


WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Mon Aug 24 17:09:00 2020 from 10.10.10.10

The number of unsuccessful login attempts since the last successful login : 1
Done
>
The number of unsuccessful login attempts since the last successful login : 1
Done
>