Citrix ADC

Web身份验证

身份验证、授权和审计现在能够将用户身份验证到web服务器,提供web服务器在HTTP请求中需要的凭据,并分析web服务器响应以确定用户身份验证成功。与其他类型的身份验证策略一样,Web身份验证策略由表达式和操作组成。创建身份验证策略后,将其绑定到身份验证虚拟服务器,并为其分配优先级。在绑定它时,还可以将其指定为主要策略或次要策略。

要使用特定的web服务器设置基于web的身份验证,首先要创建一个web身份验证操作。由于web服务器的身份验证不使用严格的格式,因此在创建操作时必须准确地指定web服务器需要哪些信息以及使用哪种格式。为此,您可以在Citrix ADC设备高级策略中创建一个包含以下项的表达式:

  • 服务器IP-认证Web服务器的IP地址。
  • 服务器端口-认证Web服务器端口号。
  • 验证规则- Citrix ADC设备中的表达式高级策略,以Web服务器期望的格式包含用户凭据。
  • 计划-HTTP(用于未加密web认证)或HTTPS(用于加密web认证)。
  • 成功的法则- Citrix ADC设备中的表达式,与web服务器响应字符串匹配,表示用户认证成功。

其他参数请按照add authentication action命令的正常规则配置。

接下来,创建与该操作关联的策略。该策略类似于LDAP策略,并且与LDAP策略一样使用Citrix ADC设备语法。

请注意

这些说明假设您已经熟悉要进行身份验证的web服务器的身份验证要求,并且已经配置了web身份验证服务器。

使用命令行配置Web认证动作

要在命令行上创建web身份验证动作,在命令行上键入以下命令:

add authentication webAuthAction  -serverIP  -serverPort  [-fullReqExpr ] -scheme (http | https) -successRule  [-defaultAuthenticationGroup ][-Attribute1 ][-Attribute3 ][-Attribute4 ][-Attribute6 ][-Attribute7 ][-Attribute8 ][-Attribute9 ][-Attribute10 ][-Attribute12 ][-Attribute13][-Attribute11 ][-Attribute12 ][-Attribute14 ][-Attribute15 ][-Attribute16 ] 

例子

添加策略表达式post_data "\"username=\" + http.REQ.BODY(1000). set_text_mode (IGNORECASE). after_str (\"login=\"). before_str (\"& ") + \"& password =\" + http.REQ.BODY(1000). set_text_mode (IGNORECASE). after_str (\"login=\" + http.REQ.BODY(1000). set_text_mode (IGNORECASE). after_str (\"login=\"). before_str (\"login=\"). before_str (\"& ") + \" password =\" + http.REQ.BODY(1000). set_text_mode (IGNORECASE). after_str (\"login=\"). before_str (\"& ") + \" password =\" + http.REQ.BODY(1000). set_text_mode (IGNORECASE). after_str (\"login=\"). before_str (\"& "). after_str (\"passwd=\"))length" add authentication webAuthAction webAuth_POST -serverIP 10.106.187.54 -serverPort 80 -fullReqExpr q{"POST /MyPHP/auth.php HTTP/" + HTTP .req.version.major + "."+ http.req.version.major + "\r\nAccept:*/*\r\nHost: 10.106.187.54\r\nReferer: http://10.106.187.54/MyPHP/auth.php\r\nAccept- language: en-US\r\nUser-Agent: Mozilla/5.0 (compatible;MSIE 9.0;Windows NT 6.1;Trident/5.0)\r\nContent-Type: application/x-www-form-urlencoded\r\n" + "Content-Length: " + length_post_data + "\r\nConnection: Keep-Alive\r\n\r\n" + post_data} -scheme http -successRule "http.res.status.eq(200)"<!——NeedCopy >

使用配置实用程序配置Web身份验证操作

请注意

在配置实用程序中,使用术语服务器而不是操作,但指的是相同的任务。

  1. 导航到安全> AAA -应用流量>策略> LDAP
  2. 在详细信息窗格中,在服务器选项卡,执行以下操作之一:

    • 如果需要新建web认证动作,请单击添加
    • 如果需要修改已创建的web认证动作,请在右侧数据窗格中选择需要修改的动作,单击编辑
  3. 如果正在创建新的web身份验证操作,请在创建认证Web服务器对话框,的名字文本框中,为新的web身份验证操作键入名称。名称长度为1 ~ 127个字符,由大写字母、小写字母、数字、“-”和“_”组成。如果您正在修改已存在的web认证动作,请跳过此步骤。名称为只读;
  4. Web服务器IP地址文本框,输入认证web服务器的IPv4或IPv6 IP地址。如果是IPv6地址,请先选中“IPv6”复选框。
  5. 在“端口”文本框中,键入web服务器接受连接的端口号。
  6. 选择HTTPHTTPS协议下拉列表。
  7. 在“HTTP请求表达式”文本区域中,键入一个pcre格式的正则表达式,该正则表达式创建web服务器请求,其中包含身份验证web服务器所期望的准确格式的用户凭据。
  8. 在“验证身份验证的表达式”文本区域中,键入Citrix ADC设备高级策略表达式,该表达式描述web服务器响应中指示用户身份验证成功的信息。
  9. 按照常规身份验证操作文档中的描述填写其余字段。
  10. 点击好吧
Web身份验证