選択的な SSL ロギング
数千台の仮想サーバーで構成される大規模な導入環境では、SSL に関連するすべての情報がログに記録されます。以前は、いくつかの重要な仮想サーバーについて、クライアント認証と SSL ハンドシェイクの成功と失敗をフィルタリングすることは容易ではありませんでした。この情報を取得するためにログ全体を調べるのは時間がかかり、面倒な作業でした。インフラストラクチャではログをフィルタリングする制御が提供されていなかったためです。これで、ns.log
の特定の仮想サーバまたは仮想サーバのグループの SSL関連情報をに記録できます。この情報は、障害をデバッグする際に特に役立ちます。
DEBUG 設定では、SSL 関連のすべての情報がns.log
にログインされます。ただし、SSL ログプロファイルを設定すると、クライアント認証と SSL ハンドシェイクに関連する情報のみが記録されます。この情報を記録するには、以下の手順を実行します。
- syslog パラメータに DEBUG を設定します。
- SSL ログプロファイルを設定します。クライアント認証と SSL ハンドシェイクの失敗/成功と失敗のみのロギングを有効にします。SSL ログプロファイルを SSL プロファイルに添付すると、4 つすべてが記録されます。SSL アクションで SSL ログプロファイルを添付すると、クライアント認証の失敗/成功と失敗のみが記録されます。
- 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 英数字、アンダースコア、ハッシュ (#)、ピリオド (.)、スペース、コロン (:)、アットマーク (@)、等号 (=)、およびハイフン (-) 文字のみを含める必要があります。プロファイルの作成後は変更できません。
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 プロファイルを有効にする必要があります。デフォルトの 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 ログプロファイル] で、リストからプロファイルを選択するか、[+] をクリックしてプロファイルを作成します。
- [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-->