NetScaler

SSL内置操作和用户定义操作

除非您只需要策略中的内置操作,否则您必须在创建策略之前创建操作。然后,您可以在创建策略时指定操作。内置的操作有两种类型,控制操作和数据操作。控制策略中使用控制操作,数据策略中使用数据操作。

内置的控制动作是:

  • clientauth -执行客户端证书认证。
  • noclientauth -不进行客户端证书认证。

内置的数据操作是:

  • reset—通过向客户端发送RST报文关闭连接。
  • drop -丢弃所有来自客户端的数据包。在客户端关闭连接之前,连接保持打开状态。
  • noop转发报文,不对报文进行任何操作。

您可以创建用户定义的数据操作。例如,如果启用了客户端身份验证,可以创建一个SSL动作,在将请求转发给web服务器之前,将客户端证书数据插入请求头中。

如果策略评估的结果是未定义状态,则执行UNDEF动作。对于数据策略或控制策略,都可以指定RESET、DROP或NOOP作为UNDEF动作。对于控制策略,您还可以选择指定CLIENTAUTH或NOCLIENTAUTH。

策略中内置操作的示例

在下例中,如果客户端发送的密码不是EXPORT类别密码,则NetScaler设备请求客户端身份验证。客户端必须为成功的交易提供有效的证书。

添加ssl策略pol1 -rule CLIENT.SSL.CIPHER_EXPORTABLE。NOT -reqAction CLIENTAUTH <——NeedCopy >

下面的示例假设启用了客户机身份验证。

如果用户提供的证书版本与策略中的版本匹配,则不做任何处理,直接转发:

添加ssl策略pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction NOOP 

如果用户提供的证书中的版本与策略中的版本匹配,则断开连接:

添加ssl策略pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction DROP 

如果用户提供的证书版本与策略中的版本匹配,则重新建立连接:

添加ssl策略pol1 -rule CLIENT.SSL.CLIENT_CERT.VERSION.EQ(2) -reqAction RESET 

用户自定义SSL动作

除了内置操作之外,还可以根据部署配置其他SSL操作。这些操作称为用户定义操作。

使用CLI配置自定义SSL动作

在命令提示符下,输入以下命令来配置操作并验证配置:

添加SSL动作 -clientAuth(DOCLIENTAUTH | NOCLIENTAUTH) -clientCert (ENABLED | DISABLED) certHeader  - clienttheader  -clientCertSerialNumber (ENABLED | DISABLED) -certSerialHeader  -clientCertSubject (ENABLED | DISABLED) -certSubjectHeader  -clientCertHash (ENABLED | DISABLED) -certHashHeader  -clientCertIssuer (ENABLED | DISABLED) -certIssuerHeader  -sessionID (ENABLED | DISABLED) -sessionIDheader  -cipher (ENABLED | DISABLED)-cipherHeader  -clientCertNotBefore (ENABLED | DISABLED) -certNotBeforeHeader  -clientCertNotAfter (ENABLED | DISABLED) -certNotAfterHeader  -OWASupport (ENABLED | DISABLED) 
显示SSL操作[] 

例子:

add ssl action action - ssl -clientCert -clientCert ENABLED -certHeader "X-Client-Cert" 
show ssl action action - ssl - clientcert 1)名称:action - ssl - clientcert数据插入动作:证书头:ENABLED证书标签:X-Client-Cert Done 

使用GUI配置用户定义的SSL操作

导航到交通管理>SSL>政策然后,在行动选项卡上,单击添加

SSL内置操作和用户定义操作