Citrix ADC

選択的な SSL ロギング

数千台の仮想サーバーで構成される大規模な導入環境では、SSL に関連するすべての情報がログに記録されます。以前は、いくつかの重要な仮想サーバーについて、クライアント認証と SSL ハンドシェイクの成功と失敗をフィルタリングすることは容易ではありませんでした。この情報を取得するためにログ全体を調べるのは時間がかかり、面倒な作業でした。インフラストラクチャではログをフィルタリングする制御が提供されていなかったためです。これで、特定の仮想サーバーまたは仮想サーバーのグループの SSL 関連情報をns.logでログに記録できるようになりました。この情報は、障害をデバッグする際に特に役立ちます。この情報をログに記録するには、SSL ログプロファイルを追加する必要があります。

このページの最後にある、クライアント認証が成功した場合の ns.log 出力例を参照してください。

重要:

syslog ログレベルを DEBUG に設定します。コマンドプロンプトで、次のように入力します。

set audit syslogParams -logLevel DEBUG

。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 英数字、アンダースコア、ハッシュ (#)、ピリオド (.)、スペース、コロン (:)、アットマーク (@)、等号 (=)、およびハイフン (-) 文字のみを含める必要があります。プロファイルの作成後は変更できません。

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 ログプロファイルを変更する

  1. [ システム] > [プロファイル] > [SSL ログプロファイル] に移動し、プロファイルを選択して [ 編集] をクリックします。
  2. 変更を加えて「 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 プロファイルを有効にする必要があります。デフォルトの 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. [Create] をクリックします。

ログファイルからの出力例

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 ロギング