选择性 SSL 日志记录
在包含数千个虚拟服务器的大型部署中,会记录所有与 SSL 相关的信息。早些时候,筛选一些关键虚拟服务器的客户端身份验证和 SSL 握手成功和失败并不容易。仔细阅读整个日志以获取这些信息是一项耗时而繁琐的任务,因为基础架构没有提供过滤日志的控制权。现在,您可以为特定虚拟服务器或一组虚拟服务器记录与 SSL 相关的信息。ns.log`` 此信息在调试失败时尤其有用。要记录此信息,您必须添加 SSL 日志配置文件。
请参阅本页末尾的示例 ns.log 输出,了解成功的客户端身份验证。
重要提示: 将系统日志级别设置为 DEBUG。在命令提示符下,键入:
set audit syslogParams -logLevel DEBUG
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 字母数字、下划线、哈希 (#)、句点 (.)、空格、冒号 (:)、位于 (@)、等于 (=) 和连字符 (-)。创建配置文件后无法更改。
名称是一个强制性参数。最大长度: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 日志配置文件
- 导航到“系统”>“配置文件”>“SSL 日志配置文件”,选择配置文件,然后单击“编辑”。
- 进行更改并单击 确定。
使用 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 日志配置文件。
使用 CLI 在 SSL 配置文件上附加 SSL 日志配置文件
在命令提示符下,键入:
set ssl profile <name> [-ssllogProfile <string>]
<!--NeedCopy-->
示例:
set ssl profile fron_1 -ssllogProfile ssllog10
<!--NeedCopy-->
使用 GUI 将 SSL 日志配置文件附加到 SSL 配置文件
- 导航到 系统 > 配置文件 > SSL 配置文件。
- 单击 编辑 ,然后在 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 操作
- 导航到 流量管理 > SSL > 策略 ,然后单击 SSL 操作 。
- 单击添加。
- 在客户端身份验证中,选择 已启用。
- 在 SSL 日志配置文件中,从列表中选择一个配置文件,或单击“+”创建配置文件。
- 单击创建。
日志文件中的示例输出
以下是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-->