Citrix ADC

外部用户验证

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

注意

如果您的设备仍在使用经典的策略及其表达式,则必须停止使用它,然后将经典的策略用法迁移到高级策略基础架构。

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

注意

当外部用户登录设备时,系统会在文件中生成一条错误消息”用户不ns.log存在”。出现这种情况是因为系统运行systemuser_systemcmdpolicy_bind命令来初始化用户的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用于微软不安全的LDAP连接
  • 3269用于微软安全的LDAP连接

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

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

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

Ldap服务器 基本dn
微软活动目录 DC = Citrix, DC =当地
Novell eDirectory dc = Citrix, dc =净
IBM目录服务器 cn =用户
Lotus Domino OU=城市,O=城市,C=美国
Sun ONE目录(以前称为iPlanet) ou=People, dc=Citrix, dc=com

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

Ldap服务器 绑定dn
微软活动目录 CN=Administrator, CN=Users, DC=Citrix, DC=local
Novell eDirectory cn=admin, dc=Citrix, dc=net
IBM目录服务器 LDAP_dn
Lotus Domino CN=Notes Administrator, O=Citrix, C=US
Sun ONE目录(以前称为iPlanet) uid=admin, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot
Ldap服务器 绑定dn
微软活动目录 CN=Administrator, CN=Users, DC=Citrix, DC=local
Novell eDirectory cn=admin, dc=Citrix, dc=net
IBM目录服务器 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 {-serverIP | {-serverName }} >] [-authTimeout ] [-ldapBase ] [-ldapBindDn ] {-ldapBindDnPassword} [- ldapoginname ] [-groupAttrName ] [-subAttributeName ]

示例:

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

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

步骤2:创建经典的ldap策略。

add authentication ldapPolicy []

示例:

增加认证ldappolicy ldap_pol_classic ns_true ldap_act

注意

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

步骤3:创建高级ldap策略

add authentication Policy []

示例:

增加认证策略ldap_pol_advance -rule true -action ldap_act

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

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

绑定系统全局 [-priority

示例:

绑定系统全局ldap_pol_advanced -priority

使用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主题。

为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 }} [-serverPort ]…[-Attribute1 ]…[-Attribute16 ][-sshPublicKey ][-authentication off]

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

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

半径认证(使用外部半径服务器)

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

有关radius身份验证策略的更多信息,请参阅半径身份

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

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

使用cli配置radius用户身份验证

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

步骤1:创建radius操作

add authentication radiusaction -serverip -radkey -radVendorID -radattributetype

其中,radVendorIDRadius供应商id属性,用于Radius组提取。radAttributeType半径属性类型,用于半径组提取。

示例:

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

步骤2:创建经典的radius策略。

add authentication radiusPolicy []

示例:

添加认证策略radius_pol_classic ns_true radius_act

注意

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

步骤3:创建高级radius策略

添加认证策略 -rule true -action

示例:

添加认证策略rad_pol_advanced -rule true -action radserver531rad_action

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

绑定系统全局 -priority

示例:

绑定系统全局radius_pol_advanced -priority 10

使用GUI配置半径用户身份验证

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

配置radius策略

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

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

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

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

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

    系统全局认证策略绑定

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

    半径认证策略全局绑定

选择radius用户验证协议

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

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

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

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

配置IP地址地址提取

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

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

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

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

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

使用GUI进行半径的组提取

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

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

    radius的组抽取

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

重要

  • Citrix建议您在运行“明确ns配置”命令时不要修改任何与TACACS相关的配置。

  • 当高级策略的" clear ns config "命令中的RBAconfig参数设置为没有时,与高级策略相关的tacacs相关配置将被清除并重新应用。

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

有关更多信息,请参阅Tacacs验证

使用GUI配置tacacs +身份验证

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

配置tacacs策略

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

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

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

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

绑定系统全局 [-priority ]

示例:

绑定系统全局pol_classic -priority

另外,请阅读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 -failedLoginTimeout -persistentLoginAttempts (ENABLED | DISABLED)]

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

在成功登录到ADC管理访问之前,外部用户在尝试1次无效登录尝试时将看到以下msg。连接建立。要切换到本地shell,请按“Ctrl+Alt+]”。############################################################################### # # # 警告:访问这个系统仅供授权用户# #断开立即如果你不是一个授权的用户!# # # ############################################################################### 警告!日志含义远端SSH服务器拒绝X11转发请求。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 >