Citrix ADC

選択的な 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 )]

パラメーター:

名前:

SSL ログプロファイルの名前。ASCII 英数字またはアンダースコア (_) 文字で始まり、ASCII 英数字、アンダースコア、ハッシュ (#)、ピリオド (.)、スペース、コロン (:)、アットマーク (@)、等しい (=)、およびハイフン (-) 文字のみを含める必要があります。プロファイルの作成後は変更できません。

Name は必須の引数です。最大長さ:127

sslLogClAuth

すべてのクライアント認証イベントをログに記録します。成功イベントと失敗イベントの両方が含まれます。

設定可能な値:ENABLED, DISABLED

デフォルト値: DISABLED

ssllogClAuthFailures

すべてのクライアント認証失敗イベントをログに記録します。

設定可能な値:ENABLED, DISABLED

デフォルト値: DISABLED

sslLogHS

SSL ハンドシェイク関連のイベントをすべてログに記録します。成功イベントと失敗イベントの両方が含まれます。

設定可能な値:ENABLED, DISABLED

デフォルト値: DISABLED

sslLogHSfailures

SSL ハンドシェイク関連のすべての失敗イベントをログに記録します。

設定可能な値:ENABLED, DISABLED

デフォルト値: 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

GUI を使用した SSL ログプロファイルの追加

[システム] > [プロファイル] > [SSL ログプロファイル] に移動し、プロファイルを追加します。

CLI を使用した SSL ログプロファイルの変更

コマンドプロンプトで次のように入力します。

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

例:

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

GUI を使用した SSL ログプロファイルの変更

  1. [システム] > [プロファイル] > [SSL ログプロファイル] に移動し、プロファイルを選択して [編集] をクリックします。
  2. 変更を行い、[OK] をクリックします。

CLI を使用してすべての SSL ログプロファイルを表示する

コマンドプロンプトで、次のように入力します。

sh ssl logprofile

例:

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

GUI を使用してすべての SSL ログプロファイルを表示する

[システム] > [プロファイル] > [SSL ログプロファイル]に移動します。すべてのプロファイルが一覧表示されます。

SSL ログプロファイルへの SSL ログプロファイルのアタッチ

SSL プロファイルの作成時に SSL ログプロファイルに SSL ログプロファイルをアタッチ(設定)することも、後で SSL プロファイルを編集することもできます。クライアント認証とハンドシェイクの成功と失敗の両方を記録できます。

重要:

SSL ログプロファイルをアタッチする前に、デフォルトの SSL プロファイルを有効にする必要があります。

CLI を使用して SSL プロファイルに SSL ログプロファイルをアタッチする

コマンドプロンプトで、次のように入力します。

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

例:

set ssl profile fron_1 -ssllogProfile ssllog10

GUI を使用して SSL ログプロファイルに SSL ログプロファイルをアタッチする

  1. [システム] > [プロファイル] > [SSL プロファイル] に移動します。
  2. 編集」 をクリックし、「SSLログ・プロファイル」でプロファイルを指定します。

SSL ログプロファイルを SSL アクションにアタッチする

SSL ログプロファイルを設定できるのは、SSL アクションの作成時だけです。SSL アクションを変更してログプロファイルを設定することはできません。アクションをポリシーに関連付けます。ログに記録できるのは、クライアント認証の成功と失敗だけです。

CLI を使用して SSL ログプロファイルを SSL アクションにアタッチする

コマンドプロンプトで、次のように入力します。

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

例:

> 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

GUI を使用して SSL ログプロファイルを SSL アクションにアタッチする

  1. [トラフィック管理] > [SSL] > [ポリシー] に移動し、[SSL アクション] をクリックします。
  2. [追加] をクリックします。
  3. [クライアント認証] で、[ENABLED] を選択します。
  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"