選択的な SSL ロギング
数千台の仮想サーバで構成される大規模な展開では、SSL 関連のすべての情報がログに記録されます。以前は、いくつかの重要な仮想サーバーのクライアント認証と SSL ハンドシェイクの成功と失敗をフィルタリングすることは容易ではありませんでした。ログ全体を調べてこの情報を取得することは、インフラストラクチャがログをフィルタリングする制御を提供していないため、時間がかかり、面倒な作業でした。これで、特定の仮想サーバまたは仮想サーバのグループについて、ns.log
にSSL関連情報を記録できるようになりました。この情報は、特に障害のデバッグに役立ちます。この情報をログに記録するには、SSL ログプロファイルを追加する必要があります。
正常なクライアント認証については、このページの最後の ns.log 出力例を参照してください。
重要: syslog ログレベルを 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 英数字、アンダースコア、ハッシュ (#)、ピリオド (.)、スペース、コロン (:)、アットマーク (@)、等しい (=)、およびハイフン (-) 文字のみを含める必要があります。プロファイルの作成後は変更できません。
Name は必須の引数です。最大長: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 ログプロファイル] に移動し、プロファイルを選択して [編集] をクリックします。
- 変更を行い、[OK] をクリックします。
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 アクション] をクリックします。
- [追加] をクリックします。
- [クライアント認証] で、[ENABLED] を選択します。
- [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-->