外部用户认证
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
例子:
add authentication ldapAction ldap_act -serverIP
参数说明请参见认证授权命令参考的话题。
步骤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
例子:
绑定系统全局ldap_pol_advanced -priority
通过Citrix ADC GUI配置LDAP用户认证
- 导航到系统>身份验证>先进的政策>政策.
- 点击添加命令,创建LDAP类型的认证策略。
- 点击创建和关闭.
使用Citrix ADC GUI将身份验证策略绑定到系统全局,以便进行LDAP身份验证
- 导航到系统>身份验证>先进的政策>身份验证PoliciesPolicy.
- 在详细信息窗格中,单击全局绑定创建系统全局认证策略绑定。
点击全局绑定.
选择身份验证配置文件。
- 选择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
在那里,radVendorID
RADIUS厂商ID属性,用于RADIUS组提取。radAttributeType
RADIUS属性类型,用于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高级策略
添加认证策略
例子:
添加认证策略rad_pol_advanced -rule true -action radserver531rad_action
步骤4:将RADIUS策略绑定到system global。
bind system global
例子:
绑定系统全局radius_pol_advanced -priority
通过图形化界面配置RADIUS用户认证
- 导航到系统>身份验证>先进的政策>政策.
- 点击添加命令,创建RADIUS类型的认证策略。
- 点击创建和关闭.
通过GUI将认证策略绑定到系统全局,进行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组提取
- 导航到系统>身份验证>先进的政策>半径,并选择策略。
- 选择或创建RADIUS策略。
在配置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+认证
- 导航到系统>身份验证>先进的政策>政策.
- 点击添加命令,创建TACACS类型的认证策略。
- 点击创建和关闭.
在设备上配置TACACS+服务器设置后,将策略绑定到系统全局实体。
通过CLI将认证策略绑定到系统全局实体
配置认证策略时,需要将认证策略与系统全局实体绑定。
在命令行提示符下,执行以下操作:
bind system global
例子:
绑定系统全局pol_classic -priority
另外,请阅读Citrix的文章,CTX113820了解如何使用TACACS进行外部认证。
使用GUI将身份验证策略绑定到系统全局实体
- 导航到系统>身份验证>先进的政策>认证策略>策略.
- 在详细信息窗格中,单击全局绑定创建系统全局认证策略绑定。
点击全局绑定.
- 选择TACACS策略。
在“系统全局认证策略绑定”页面中,设置以下参数:
- 选择的政策。
- 绑定的详细信息
- 点击绑定和关闭.
点击全局绑定确认绑定到系统全局的策略。
有关TACACS组提取的更多信息,请阅读Citrix的文章CTX220024.
显示外部用户登录尝试失败的次数
当您在成功登录到Citrix ADC管理控制台之前尝试至少一次不成功的登录时,Citrix ADC设备将向外部用户显示无效登录尝试的次数。
请注意
目前,Citrix仅支持在系统参数中启用“persistentLoginAttempts”参数的外部用户的键盘交互身份验证。
在命令提示符下,输入:设置aaa参数-maxloginAttempts
例子:设置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 >