ADC

选择性 SSL 日志记录

在包含数千台虚拟服务器的大型部署中,所有与 SSL 相关的信息都会被记录下来。早些时候,筛选一些关键虚拟服务器的客户端身份验证和 SSL 握手成功和失败并不容易。仔细阅读整个日志以获取此信息是一项耗时且繁琐的任务,因为基础架构没有提供过滤日志的控制。现在,您可以在 ns.log 中记录特定虚拟服务器或一组虚拟服务器的 SSL 相关信息。此信息在调试失败时特别有用。

使用 DEBUG 设置,所有与 SSL 相关的信息都将记录在 ns.log 中。但是,在配置 SSL 日志配置文件时,仅记录与客户端身份验证和 SSL 握手相关的信息。要记录此信息,请执行以下步骤:

  1. 在 syslog 参数上设置 DEBUG。
  2. 配置 SSL 日志配置文件。仅启用客户端身份验证和 SSL 握手失败/成功和失败的记录。当您将 SSL 日志配置文件与 SSL 配置文件关联时,会记录所有四个配置文件。仅当您将 SSL 日志配置文件与 SSL 操作关联时,才会记录客户端身份验证失败/成功和失败。
  3. 将 SSL 日志配置文件附加到 SSL 配置文件或 SSL 操作。

有关成功的客户端身份验证,请参阅本页末尾的示例 ns.log 输出。

设置调试级别

将 syslog 日志级别设置为 DEBUG。在命令提示符下,键入:

set audit syslogParams -logLevel DEBUG

设置调试时,将包括前端(虚拟服务器)和后端(服务和服务组)的 SSL 日志。但是,选择性 SSL 日志记录仅提供对前端的控制。

SSL 日志配置文件

SSL 日志配置文件可控制记录虚拟服务器或一组虚拟服务器的以下事件:

  • 客户端身份验证成功和失败,或仅失败。

  • SSL 握手成功和失败,或仅限失败。

默认情况下,所有参数都处于禁用状态。

可以在 SSL 配置文件或 SSL 操作上设置 SSL 日志配置文件。如果设置为 SSL 配置文件,则可以记录客户端身份验证和 SSL 握手成功和失败信息。如果设置为 SSL 操作,则只能记录客户端身份验证成功和失败信息,因为在评估策略之前握手已完成。

即使未配置 SSL 日志配置文件,也会记录客户端身份验证和 SSL 握手成功和失败。但是,只有在使用 SSL 日志配置文件时才可能进行选择性日志记录。

注意:

高可用性和群集设置支持 SSL 日志配置文件。

使用 CLI 添加 SSL 日志配置文件

在命令提示符下,键入:

add ssl logprofile <name> [-sslLogClAuth ( ENABLED | DISABLED )] [-ssllogClAuthFailures ( ENABLED | DISABLED )] [-sslLogHS ( ENABLED | DISABLED )] [-sslLogHSfailures ( ENABLED | DISABLED )]
<!--NeedCopy-->

参数:

名字:

SSL 日志配置文件的名称。必须以 ASCII 字母数字或下划线 (_) 字符开头,且必须仅包含 ASCII 字母数字、下划线、哈希 (#)、句点 (.)、空格、冒号 (:)、at (@)、等于 (=) 和连字符 (-)。创建配置文件后无法更改。

名称是一个强制性参数。最大长度:127

sslLogClAuth

记录所有客户端验证事件。包括成功和失败事件。

可能的值:ENABLED、DISABLED

默认值: 已禁用

ssllogClAuthFailures

记录所有客户端验证失败事件。

可能的值:ENABLED、DISABLED

默认值: 已禁用

sslLogHS

记录所有与 SSL 握手相关的事件。包括成功和失败事件。

可能的值:ENABLED、DISABLED

默认值: 已禁用

sslLogHSfailures

记录所有与 SSL 握手相关的失败事件。

可能的值:ENABLED、DISABLED

默认值: 已禁用

示例:

> add ssl logprofile ssllog10 -sslLogClAuth ENABLED -sslLogHS ENABLED

 Done

sh ssllogprofile ssllog10

1)      Name: ssllog10

        SSL log ClientAuth [Success/Failures] : ENABLED

        SSL log ClientAuth [Failures] : DISABLED

        SSL log Handshake [Success/Failures] : ENABLED

        SSL log Handshake [Failures] : DISABLED

 Done
<!--NeedCopy-->

使用 GUI 添加 SSL 日志配置文件

导航到 系统 > 配置文件 > SSL 日志配置 文件并添加配置文件。

使用 CLI 修改 SSL 日志配置文件

在命令提示符下,键入:

set ssl logprofile <name> [-sslLogClAuth ( ENABLED | DISABLED )][-ssllogClAuthFailures ( ENABLED | DISABLED )] [-sslLogHS ( ENABLED | DISABLED )] [-sslLogHSfailures ( ENABLED | DISABLED )]
<!--NeedCopy-->

示例:

set ssllogprofile ssllog10 -ssllogClAuth en -ssllogClAuthFailures en -ssllogHS en -ssllogHSfailures en

Done

sh ssllogprofile ssllog10

    1)            Name: ssllog10

                    SSL log ClientAuth [Success/Failures] : ENABLED
                    SSL log ClientAuth [Failures] : ENABLED
                    SSL log Handshake [Success/Failures] : ENABLED
                    SSL log Handshake [Failures] : ENABLED
     Done
<!--NeedCopy-->

使用 GUI 修改 SSL 日志配置文件

  1. 导航到 系统 > 配置文件 > SSL 日志配置文件,选择一个配置文件,然后单击 编辑
  2. 进行更改,然后单击 确定

使用 CLI 查看所有 SSL 日志配置文件

在命令提示符下,键入:

sh ssl logprofile
<!--NeedCopy-->

示例:

sh ssl logprofile

    1)            Name: ssllogp1
                    SSL log ClientAuth [Success/Failures] : ENABLED
                    SSL log ClientAuth [Failures] : ENABLED
                    SSL log Handshake [Success/Failures] : DISABLED
                    SSL log Handshake [Failures] : ENABLED

    2)            Name: ssllogp2
                    SSL log ClientAuth [Success/Failures] : DISABLED
                    SSL log ClientAuth [Failures] : DISABLED
                    SSL log Handshake [Success/Failures] : DISABLED
                    SSL log Handshake [Failures] : DISABLED

    3)            Name: ssllogp3
                    SSL log ClientAuth [Success/Failures] : DISABLED
                    SSL log ClientAuth [Failures] : DISABLED
                    SSL log Handshake [Success/Failures] : DISABLED
                    SSL log Handshake [Failures] : DISABLED

    4)            Name: ssllog10
                    SSL log ClientAuth [Success/Failures] : ENABLED
                    SSL log ClientAuth [Failures] : ENABLED
                    SSL log Handshake [Success/Failures] : ENABLED
                    SSL log Handshake [Failures] : ENABLED
Done
<!--NeedCopy-->

使用 GUI 查看所有 SSL 日志配置文件

导航到 系统 > 配置文件 > SSL 日志配置文件。列出了所有配置文件。

将 SSL 日志配置文件附加到 SSL 配置文件

您可以在创建 SSL 配置文件时在 SSL 配置文件上附加(设置)SSL 日志配置文件,或稍后通过编辑 SSL 配置文件。您可以记录客户端身份验证和握手成功和失败。

重要:

必须先启用默认 SSL 配置文件,然后才能附加 SSL 日志配置文件。有关启用默认 SSL 配置文件的详细信息,请参阅 启用默认配置文件

使用 CLI 将 SSL 日志配置文件附加到 SSL 配置文件

在命令提示符下,键入:

set ssl profile <name> [-ssllogProfile <string>]
<!--NeedCopy-->

示例:

set ssl profile fron_1 -ssllogProfile ssllog10
<!--NeedCopy-->

使用 GUI 将 SSL 日志配置文件附加到 SSL 配置文件

  1. 导航到 系统 > 配置文件 > SSL 配置文件。
  2. 单击 编辑 ,然后在 SSL 日志配置文件中,指定配置文件。

将 SSL 日志配置文件附加到 SSL 操作

只能在创建 SSL 操作时设置 SSL 日志配置文件。您无法修改 SSL 操作来设置日志配置文件。将操作与策略关联。您只能记录客户端身份验证的成功和失败。

使用 CLI 将 SSL 日志配置文件附加到 SSL 操作

在命令提示符下,键入:

add ssl action <name> -clientAuth ( DOCLIENTAUTH | NOCLIENTAUTH ) -ssllogProfile <string>
<!--NeedCopy-->

示例:

> add ssl action act1 -clientAuth DoCLIENTAUTH -ssllogProfile ssllog10

Done

> sh ssl action act1

    1)            Name: act1
                    Type: Client Authentication (DOCLIENTAUTH)
                    Hits: 0
                    Undef Hits: 0
                    Action Reference Count: 0
                    SSLlogProfile: ssllog10
Done
<!--NeedCopy-->

使用 GUI 将 SSL 日志配置文件附加到 SSL 操作

  1. 导航到 流量管理 > SSL > 策略 ,然后单击 SSL 操作
  2. 单击添加
  3. 在客户端身份验证中,选择 启用
  4. 在 SSL 日志配置文件中,从列表中选择一个配置文件,或单击“+”创建配置文件。
  5. 单击创建

来自日志文件的示例输出

以下是成功 ns.log 进行客户端身份验证的示例日志输出。

Jan 24 16:24:25 <local0.debug> 10.102.57.80 01/24/2019:10:54:25 GMT  0-PPE-0 : default SSLLOG SSL_HANDSHAKE_SUCCESS 158 0 :  SPCBId 671 - ClientIP 10.102.1.98 - ClientPort 49451 - VserverServiceIP 10.102.57.82 - VserverServicePort 443 - ClientVersion TLSv1.2 - CipherSuite "AES-256-CBC-SHA TLSv1.2 Non-Export 256-bit" - Session New - CLIENT_AUTHENTICATED -SerialNumber "2A" - SignatureAlgorithm "sha1WithRSAEncryption" - ValidFrom "Sep 22 09:15:20 2008 GMT" - ValidTo "Feb  8 09:15:20 2036 GMT" - HandshakeTime 10 ms
Jan 24 16:24:25 <local0.debug> 10.102.57.80 01/24/2019:10:54:25 GMT  0-PPE-0 : default SSLLOG SSL_HANDSHAKE_ISSUERNAME 159 0 :  SPCBId 671 - IssuerName " C=IN,ST=KAR,O=Citrix R&D Pvt Ltd,CN=Citrix"
Jan 24 16:24:25 <local0.debug> 10.102.57.80 01/24/2019:10:54:25 GMT  0-PPE-0 : default SSLLOG SSL_HANDSHAKE_SUBJECTNAME 160 0 :  SPCBId 671 - SubjectName " C=IN,ST=KAR,O=Citrix Pvt Ltd,OU=A,CN=B"
Jan 24 16:24:25 <local0.debug> 10.102.57.80 01/24/2019:10:54:25 GMT  0-PPE-0 : default SSLLOG SSL_HANDSHAKE_SUCCESS 161 0 :  Backend SPCBId 674 - ServerIP 10.102.57.85 - ServerPort 443 - ProtocolVersion TLSv1.2 - CipherSuite "AES-256-CBC-SHA TLSv1.2 Non-Export 256-bit" - Session Reuse - SERVER_AUTHENTICATED -SerialNumber "3E" - SignatureAlgorithm "sha1WithRSAEncryption" - ValidFrom "Sep 24 06:40:37 2008 GMT" - ValidTo "Feb 10 06:40:37 2036 GMT" - HandshakeTime 1 ms
Jan 24 16:24:25 <local0.debug> 10.102.57.80 01/24/2019:10:54:25 GMT  0-PPE-0 : default SSLLOG SSL_HANDSHAKE_ISSUERNAME 162 0 :  SPCBId 674 - IssuerName " C=IN,ST=KAR,O=Citrix Pvt Ltd"
Jan 24 16:24:25 <local0.debug> 10.102.57.80 01/24/2019:10:54:25 GMT  0-PPE-0 : default SSLLOG SSL_HANDSHAKE_SUBJECTNAME 163 0 :  SPCBId 674 - SubjectName " C=IN,ST=P,L=Q,O=R"
<!--NeedCopy-->
选择性 SSL 日志记录