ADC

证书吊销列表

CA 颁发的证书通常在其到期日期之前一直有效。但是,在某些情况下,CA 可能会在到期日期之前吊销颁发的证书。例如,当所有者的私钥被泄露时,公司或个人的名称会发生变化,或者主体与 CA 之间的关联会发生变化。

证书吊销列表 (CRL) 通过序列号和颁发者识别无效证书。

证书颁发机构定期签发 CRL。您可以将 NetScaler 设备配置为使用 CRL 来阻止提供无效证书的客户端请求。

如果您已经有来自 CA 的 CRL 文件,请将其添加到 NetScaler 设备中。您可以配置刷新选项。您也可以将 NetScaler 配置为以指定的时间间隔自动同步 CRL 文件,从网络位置或 LDAP 位置同步。该设备支持 PEM 或 DER 文件格式的 CRL。请务必指定要添加到 NetScaler 设备的 CRL 文件的文件格式。

如果您已将 ADC 用作 CA 来创建用于 SSL 部署的证书,则也可以创建 CRL 来吊销特定证书。例如,此功能可用于确保在 NetScaler 上创建的自签名证书不在生产环境中使用,也不会在特定日期之后使用。

注意:

默认情况下,CRL 存储在 NetScaler 设备上的 /var/netscaler/ssl 目录中。

在 ADC 设备上创建 CRL

由于您可以使用 ADC 设备充当 CA 并创建自签名证书,因此还可以吊销以下证书:

  • 您创建的证书。
  • 您拥有 CA 证书的证书。

在为这些证书创建 CRL 之前,设备必须撤销无效证书。设备将已吊销证书的序列号存储在索引文件中,并在每次吊销证书时更新该文件。索引文件是在首次吊销证书时自动创建的。

使用 CLI 吊销证书或创建 CRL

在命令提示符下,键入以下命令:

create ssl crl <CAcertFile> <CAkeyFile> <indexFile> (-revoke <input_filename> | -genCRL <output_filename>)
<!--NeedCopy-->

示例:

create ssl crl Cert-CA-1 Key-CA-1 File-Index-1 -revoke Invalid-1

create ssl crl Cert-CA-1 Key-CA-1 File-Index-1 -genCRL CRL-1
<!--NeedCopy-->

使用 GUI 吊销证书或创建 CRL

  1. 导航到 流量管理 > SSL ,然后在入门组中选择 CRL 管理。
  2. 输入证书详细信息,然后在 选择操作 列表中选择 吊销证书生成 CRL

将现有 CRL 添加到 ADC

在 NetScaler 设备上配置 CRL 之前,请确保 CRL 文件存储在 NetScaler 设备本地。在 HA 设置中,CRL 文件必须存在于两台 ADC 设备上,并且两台设备上文件的目录路径必须相同。

使用 CLI 在 NetScaler 上添加 CRL

在命令提示符处,键入以下命令在 NetScaler 上添加 CRL 并验证配置:

add ssl crl <crlName> <crlPath> [-inform (DER | PEM)]

show ssl crl [<crlName>]
<!--NeedCopy-->

示例:

> add ssl crl crl-one /var/netscaler/ssl/CRL-one -inform PEM

Done

> show ssl crl crl-one

            Name: crl-one   Status: Valid,  Days to expiration: 29
            CRL Path: /var/netscaler/ssl/CRL-one
            Format: PEM     CAcert: samplecertkey
            Refresh: DISABLED
            Version: 1
            Signature Algorithm: sha1WithRSAEncryption
            Issuer:  C=US,ST=California,L=Santa Clara,O=NetScaler Inc.,OU=SSL Acceleration,CN=www.ns.com/emailAddress=support@NetScaler appliance.com
            Last_update:Jun 15 10:53:53 2010 GMT
            Next_update:Jul 15 10:53:53 2010 GMT

    1)      Serial Number: 00
            Revocation Date:Jun 15 10:51:16 2010 GMT
     Done
<!--NeedCopy-->

使用 GUI 在 NetScaler 上添加 CRL

导航到 流量管理 > SSL > CRL,然后添加 CRL。

配置 CRL 刷新参数

CRL 由证书颁发机构定期生成和发布,有时是在特定证书被吊销后立即生成和发布。Citrix 建议您定期更新 NetScaler 设备上的 CRL,以防止客户端尝试使用无效证书进行连接。

NetScaler 设备可以从网络位置或 LDAP 目录刷新 CRL。当您指定刷新参数和 Web 位置或 LDAP 服务器时,在运行命令时,CRL 不必出现在本地硬盘驱动器上。第一次刷新将副本存储在本地硬盘驱动器上,位于 CRL File 参数指定的路径中。存储 CRL 的默认路径为 /var/netscaler/ssl。

注意:在版本 10.0 及更高版本中,默认情况下不包括刷新 CRL 的方法。指定 HTTP 或 LDAP 方法。如果您要从早期版本升级到 10.0 版或更高版本,则必须添加方法并再次运行该命令。

使用 CLI 配置 CRL 自动刷新

在命令提示符处,键入以下命令以配置 CRL 自动刷新并验证配置:

set ssl crl <crlName> [-refresh ( ENABLED | DISABLED )] [-CAcert <string>] [-server <ip_addr|ipv6_addr|*> | -url <URL>] [-method ( HTTP | LDAP )] [-port <port>] [-baseDN <string>] [-scope ( Base | One )] [-interval <interval>] [-day <positive_integer>] [-time <HH:MM>][-bindDN <string>] {-password } [-binary ( YES | NO )]

show ssl crl [<crlName>]
<!--NeedCopy-->

示例:

    set CRL crl1  -refresh enabled -method ldap -inform DER -CAcert ca1 -server 10.102.192.192 -port 389 -scope base -baseDN "cn=clnt_rsa4_multicert_der,ou=eng,o=ns,c=in" -time 00:01

    set ssl crl crl1 -refresh enabled -method http -cacert ca1 -port 80 -time 00:10 -url http://10.102.192.192/crl/ca1.crl


    > sh crl

    1)         Name: crl1        Status: Valid,     Days to expiration: 355
                CRL Path: /var/netscaler/ssl/crl1
                Format: PEM      CAcert: ca1
                Refresh: ENABLED          Method: HTTP
                URL: http://10.102.192.192/crl/ca1.crl                 Port:80
                Refresh Time: 00:10
                Last Update: Successful, Date:Tue Jul  6 14:38:13 2010
    Done
<!--NeedCopy-->

使用 GUI 使用 LDAP 或 HTTP 配置 CRL 自动刷新

  1. 导航到 流量管理 > SSL > CRL
  2. 打开 CRL,然后选择 启用 CRL 自动刷新

注意

:如果在 CRL 的“上 次更新时间”字段指定的实际更新时间之前,在外部存储库中刷新 了新的 CRL,则必须执行以下操作:

立即刷新 NetScaler 设备上的 CRL。

若要查看上次更新时间,请选择 CRL,然后单击 详细信息

同步 CRL

NetScaler 设备使用最新的分布式 CRL 来防止证书被吊销的客户端访问安全资源。

如果 CRL 经常更新,则 NetScaler 设备需要一种自动机制来从存储库获取最新的 CRL。您可以将设备配置为在指定的刷新间隔自动更新 CRL。

设备维护着需要定期更新的内部 CRL 列表。在这些指定的时间间隔内,设备会扫描列表中是否有需要更新的 CRL。然后它连接到远程 LDAP 服务器或 HTTP 服务器,检索最新的 CRL,然后使用新 CRL 更新本地 CRL 列表。

注意:

如果 CA 证书绑定到虚拟服务器时将 CRL 检查设置为强制性,并且初始 CRL 刷新失败,则对连接采取以下操作:与 CRL 同一颁发者的

所有客户端身份验证连接将被拒绝为 REVEED,直到 CRL已成功刷新。

您可以指定必须执行 CRL 刷新的时间间隔。您也可以指定确切的时间。

使用 CLI 同步 CRL 自动刷新

在命令提示符下,键入以下命令:

set ssl crl <crlName> [-interval <interval>] [-day <integer>] [-time <HH:MM>]
<!--NeedCopy-->

示例:

set ssl crl CRL-1 -refresh ENABLE -interval MONTHLY -days 10 -time 12:00
<!--NeedCopy-->

使用 GUI 同步 CRL 刷新

  1. 导航到 流量管理 > SSL > CRL
  2. 打开 CRL,选择 启用 CRL 自动刷新,然后指定间隔。

使用证书吊销列表执行客户端身份验证

如果 NetScaler 设备上存在证书吊销列表 (CRL),则无论执行 CRL 检查设置为强制还是可选,都会执行 CRL 检查。

握手的成功或失败取决于以下因素的组合:

  • CRL 检查规则
  • 客户证书检查规则
  • 为 CA 证书配置的 CRL 的状态

下表列出了涉及吊销证书的握手可能组合的结果。

表 1. 使用已吊销证书与客户握手的结果

CRL 检查规则 客户证书检查规则 为 CA 证书配置的 CRL 的状态 使用已吊销的证书进行握手的结果
可选 可选 失踪 成功
可选 强制 失踪 成功
可选 强制 当下 失败
强制 可选 失踪 成功
强制 强制 失踪 失败
强制 可选 当下 成功
强制 强制 当下 失败
可选/必选 可选 已过期 成功
可选/必选 强制 已过期 失败

注意:

  • 默认情况下,CRL 检查是可选的。要从可选更改为强制或相反,必须先解除证书与 SSL 虚拟服务器的绑定,然后在更改选项后再次绑定。

  • sh ssl vserver 命令的输出中,OCSP 检查:可选意味着 CRL 检查也是可选的。仅当 CRL 检查设置为强制时,CRL 检查设置才会显示在 sh ssl vserver 命令的输出中。如果 CRL 检查设置为可选,则不会显示 CRL 检查详细信息。

使用 CLI 配置 CRL 检查

在命令提示符下,键入以下命令:

bind ssl vserver <vServerName> -certkeyName <string> [(-CA -crlCheck ( Mandatory | Optional ))]
sh ssl vserver
<!--NeedCopy-->

示例:

bind ssl vs v1 -certkeyName ca -CA -crlCheck mandatory
> sh ssl vs v1

Advanced SSL configuration for VServer v1:

DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED
Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: ENABLED Client Cert Required: Mandatory
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED
Push Encryption Trigger: Always
Send Close-Notify: YES

ECC Curve: P_256, P_384, P_224, P_521

1) CertKey Name: ca CA Certificate CRLCheck: Mandatory CA_Name Sent

1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done
<!--NeedCopy-->

使用 GUI 配置 CRL 检查

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器,然后打开 SSL 虚拟服务器。
  2. 单击“证书”部分。
  3. 选择一个证书,然后在 OCSP 和 CRL 检查列表中选择 CRL 强制性。

使用已吊销或有效证书的握手结果

CRL 检查规则 客户证书检查规则 为 CA 证书配置的 CRL 的状态 使用已吊销的证书进行握手的结果 使用有效证书进行握手的结果
强制 强制 当下 失败 成功
强制 强制 已过期 失败 失败
强制 强制 失踪 失败 失败
强制 强制 未定义 失败 失败
可选 强制 当下 失败 成功
可选 强制 已过期 成功 成功
可选 强制 失踪 成功 成功
可选 强制 未定义 成功 成功
强制 可选 当下 成功 成功
强制 可选 已过期 成功 成功
强制 可选 失踪 成功 成功
强制 可选 未定义 成功 成功
可选 可选 当下 成功 成功
可选 可选 已过期 成功 成功
可选 可选 失踪 成功 成功
可选 可选 未定义 成功 成功
证书吊销列表