Citrix ADC

外部用户认证

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

请注意

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

创建身份验证策略后,必须将其绑定到系统全局实体。可以通过将单个身份验证策略绑定到系统全局实体来配置外部身份验证服务器(例如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连接。然后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服务器的根目录,还会在所有子目录中查找user属性。在大型目录中,它会影响性能。出于这个原因,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服务器 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

通过命令行配置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界面配置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浏览器轻松查找它们。

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

  • LDAP服务器的主机名或IP地址。
  • LDAP服务器的端口。缺省值是389。
  • base DN字段可以留空。
  • LDAP浏览器提供的信息可以帮助您确定Authentication选项卡所需的基本DN。
  • 匿名绑定检查确定LDAP服务器是否需要浏览器连接到它的用户凭据。如果LDAP服务器需要凭据,请清除复选框。

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

有关更多信息,请参见LDAP的话题。

支持LDAP用户的基于密钥的身份验证

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

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

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

请注意

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

下面是一个通过SSH的事件流示例:

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

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

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

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

  • 使用set操作,可以将“sshPublicKey”属性配置为已添加的ldapAction命令。

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

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地址发送到RADIUS服务器。
  • 如果配置NAS ID,设备将标识符发送到RADIUS服务器。如果不配置NAS ID,设备将其主机名发送到RADIUS服务器。
  • 当启用NAS IP地址时,设备将忽略用于与RADIUS服务器通信的任何NAS ID。

2 .通过CLI配置RADIUS用户认证

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

步骤1:创建RADIUS动作

add authentication radiusaction -serverip -radkey -radVendorID -radattributetype

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

例子:

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策略和高级RADIUS策略进行配置。Citrix建议您使用高级身份验证策略,因为从Citrix ADC 13.0发行版开始,经典策略已弃用。

步骤3:配置RADIUS高级策略

添加认证策略 -rule true -action

例子:

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

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

绑定系统全局 -priority

例子:

绑定系统全局radius_pol_advanced -priority 10

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

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

配置RADIUS策略

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

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

    为RADIUS将认证策略绑定到系统全局

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

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

    系统全局认证策略绑定

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

    RADIUS认证策略全局绑定

选择RADIUS用户认证协议

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

  • 密码认证协议
  • 挑战握手认证协议(CHAP)
  • 微软挑战握手认证协议(MS-CHAP版本1和版本2)

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

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

配置IP地址提取

您可以将设备配置为从RADIUS服务器提取IP地址。当用户通过RADIUS服务器进行认证时,服务器返回一个分配给用户的IP地址框。以下是IP地址提取的属性:

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

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

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

一种常见的配置是提取半径属性帧IP地址.供应商ID被设置为零或未指定。属性类型设置为8。

使用GUI对RADIUS进行组提取

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

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

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

重要的

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

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

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

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

通过图形化方式配置TACACS+认证

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

配置TACACS策略

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

该任务指导管理员通过CLI将认证策略绑定到系统全局实体

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

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

绑定系统全局 [-priority ]

例子:

绑定系统全局pol_classic -priority

另外,请阅读Citrix的文章,CTX113820了解使用TACACS的外部身份验证。

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

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

    TACACS认证需要将认证策略绑定到系统全局

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

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

    用于TACACS认证的系统全局

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

    TACACS的系统全局绑定确认

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

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

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

请注意

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

在命令提示符下,输入: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 >