Citrix ADC

外部用户认证

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

请注意

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

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

请注意

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

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

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

有关LDAP身份验证策略的详细信息,请参见LDAP认证策略的话题。

缺省情况下,LDAP身份验证使用SSL/TLS协议进行安全保护。有两种类型的安全LDAP连接。在第一种类型中,LDAP服务器在一个端口上接受SSL/TLS连接,该端口与用于接受清除LDAP连接的端口不同。用户建立SSL/TLS连接后,可以通过该连接发送LDAP流量。第二种类型允许不安全和安全的LDAP连接,并且在服务器上由单个端口处理。在此场景中,为了创建安全连接,客户端首先建立一个清晰的LDAP连接。然后LDAP命令StartTLS通过连接发送到服务器。如果LDAP服务器支持StartTLS,则通过TLS将连接转换为安全的LDAP连接。

LDAP连接的端口号为:

  • 389表示不安全的LDAP连接
  • 636表示安全LDAP连接
  • 3268表示微软不安全的LDAP连接
  • 3269表示微软安全LDAP连接

使用StartTLS命令的LDAP连接使用端口号389。如果设备上配置了端口号389或3268,它将尝试使用StartTLS进行连接。如果使用其他端口号,则尝试使用SSL/TLS进行连接。如果不能使用StartTLS或SSL/TLS协议,则连接失败。

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

下表列出了基本区别名(DN)的示例。

LDAP服务器 基本DN
微软活动目录 DC = Citrix, DC =当地
Novell eDirectory dc = Citrix, dc =净
IBM目录服务器 cn =用户
Lotus Domino OU=City, O=Citrix, C=US
Sun ONE目录(原iPlanet) ou=People, dc=Citrix, dc=com

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

LDAP服务器 Bind 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服务器 Bind 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} [-ldapLoginName ] [-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 . add authentication ldapAction ldap_act -serverIP -authTimeout 30

参数说明请参见认证授权命令参考的话题。

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

add authentication ldapPolicy []

例子:

添加认证ldap_pol_classic ldap_true ldap_act

请注意

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

步骤3:创建高级LDAP策略

添加认证策略 []

例子:

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

步骤4:将LDAP策略绑定到system global

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

bind system global [-priority

例子:

绑定系统全局ldap_pol_advanced -priority

通过Citrix ADC GUI配置LDAP用户认证

  1. 导航到系统>身份验证>先进的政策>政策
  2. 点击添加命令,创建LDAP类型的认证策略。
  3. 点击创建关闭

配置LDAP用户认证

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

  1. 导航到系统>身份验证>先进的政策>身份验证PoliciesPolicy
  2. 在详细信息窗格中,单击全局绑定创建系统全局认证策略绑定。
  3. 点击全局绑定

    将认证策略绑定到系统全局,用于LDAP认证

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

    选择一个身份验证配置文件

  5. 选择LDAP策略。
  6. 系统全局认证策略绑定界面,设置如下参数:

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

    选择LDAP策略

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

    LDAP全局绑定

确定LDAP目录中的属性

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

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

  • LDAP服务器的主机名或IP地址。
  • LDAP服务器的端口。默认值是389。
  • 基本DN字段可以留空。
  • LDAP浏览器提供的信息可以帮助您确定Authentication选项卡所需的基本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属性,在命令提示符下输入以下命令:

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

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

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

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

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

您可以配置Citrix ADC设备,通过一个或多个RADIUS服务器对用户访问进行身份验证。如果您使用的是RSA SecurID、SafeWord或金雅拓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 -serverip -radkey -radVendorID -radattributetype . add authentication radiusaction

在那里,radVendorIDRADIUS厂商ID属性,用于RADIUS组提取。radAttributeTypeRADIUS属性类型,用于RADIUS组提取。

例子:

add authentication radusaction RADserver531 rad_action -serverip 1.1.1.1 -radkey key123 - radadvendorid 66 -radattributetype 6 .单击“下一步”

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

add authentication radiusPolicy []

例子:

添加认证radiuspolicy radius_pol_classic ns_true radius_act

请注意

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

步骤3:创建RADIUS高级策略

添加认证策略 -rule true -action

例子:

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

步骤4:将RADIUS策略绑定到system global。

bind system global -priority

例子:

绑定系统全局radius_pol_advanced -priority

通过图形化界面配置RADIUS用户认证

  1. 导航到系统>身份验证>先进的政策>政策
  2. 点击添加命令,创建RADIUS类型的认证策略。
  3. 点击创建关闭

配置RADIUS策略

通过GUI将认证策略绑定到系统全局,进行RADIUS认证

  1. 导航到系统>身份验证>先进的政策>政策
  2. 在详细信息窗格中,单击全局绑定创建系统全局认证策略绑定。
  3. 点击全局绑定

    RADIUS的认证策略绑定到system global

  4. 选择半径。
  5. 系统全局认证策略绑定界面,设置如下参数:

    1. 选择的政策。
    2. 绑定的细节。

    系统全局认证策略绑定

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

    RADIUS认证策略全局绑定

选择RADIUS用户认证协议

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

  • 密码认证协议
  • CHAP (Challenge-Handshake Authentication Protocol)
  • Microsoft Challenge-Handshake Authentication Protocol (MS-CHAP Version 1和Version 2)

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

要进一步保护RADIUS流量,请为每个设备或虚拟服务器分配不同的共享密钥。在RADIUS服务器上定义客户端时,还可以为每个客户端分配单独的共享密钥。另外,需要对每个使用RADIUS认证的策略分别进行配置。

配置IP地址提取

您可以配置设备以从RADIUS服务器提取IP地址。当用户与RADIUS服务器进行身份验证时,RADIUS服务器返回分配给用户的IP地址。IP地址提取的属性如下:

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

配置提取IP地址的RADIUS服务器时,需要配置厂商标识和属性类型。

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

常见的配置是提取半径属性框架IP地址.厂商ID设置为零或不指定。属性类型设置为8。

使用GUI进行RADIUS组提取

  1. 导航到系统>身份验证>先进的政策>半径,并选择策略。
  2. 选择或创建RADIUS策略。
  3. 配置RADIUS认证服务器界面,设置如下参数。

    1. 集团供应商标识符
    2. 组属性类型
  4. 点击好吧关闭

    RADIUS组提取

TACACS+认证(使用外部TACACS+服务器)

重要的

  • Citrix建议不要在执行clear ns config命令时修改任何与TACACS相关的配置。

  • 清除高级策略相关的TACACS配置,并重新应用RBAconfig高级策略的“clear ns config”命令中参数设置为NO。

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

有关更多信息,请参见TACACS身份验证

通过GUI方式配置TACACS+认证

  1. 导航到系统>身份验证>先进的政策>政策
  2. 点击添加命令,创建TACACS类型的认证策略。
  3. 点击创建关闭

配置TACACS策略

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

通过CLI将认证策略绑定到系统全局实体

配置认证策略时,需要将认证策略与系统全局实体绑定。

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

bind system global [-priority ]

例子:

绑定系统全局pol_classic -priority

另外,请阅读Citrix的文章,CTX113820了解如何使用TACACS进行外部认证。

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

  1. 导航到系统>身份验证>先进的政策>认证策略>策略
  2. 在详细信息窗格中,单击全局绑定创建系统全局认证策略绑定。
  3. 点击全局绑定

    TACACS认证时,将认证策略绑定到system global

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

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

    TACACS认证的System global

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

    TACACS的系统全局绑定确认

有关TACACS组提取的更多信息,请阅读Citrix的文章CTX220024

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

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

请注意

目前,Citrix仅支持在系统参数中启用“persistentLoginAttempts”参数的外部用户的键盘交互身份验证。

在命令提示符下,输入:设置aaa参数-maxloginAttempts -failedLoginTimeout -persistentLoginAttempts (ENABLED | DISABLED)]

例子:设置aaa参数-maxloginAttempts 5 -failedLoginTimeout 4 -persistentLoginAttempts ENABLED

当外部用户在成功登录到ADC管理访问权限之前尝试1次无效登录尝试时,将看到以下消息。连接建立。要切换到本地shell,请按“Ctrl+Alt+]”。############################################################################### # # # 警告:访问这个系统仅供授权用户# #断开立即如果你不是一个授权的用户!# # # ############################################################################### 警告!日志含义远程SSH服务器拒绝X11转发请求。最近一次登录:星期一8月24日17:09:00 2020 from 10.10.10.10最近一次登录失败次数:1 Done >最近一次登录失败次数:1 Done >