33 SSLのデバッグ

Oracle WebLogic ServerでSSLデバッグを有効にする方法を学習します。SSLデバッグは、SSLハンドシェーク中に発生したSSLイベントに関する詳細な情報を提供します。

この章の内容は次のとおりです。

SSLデバッグ・トレースについて

SSLデバッグ・トレースには、信頼性のある認証局、SSLサーバー構成、サーバー・アイデンティティ、SSLハンドシェイク時に渡されたSSLレコードなどに関する情報が示されます。SSLデバッグのスタック・トレースでは、このような情報がログ・ファイルにダンプされます。

SSLデバッグ・トレースには次の情報が表示されます。

  • 信頼性のある認証局

  • SSLサーバーの構成情報

  • サーバーのID (秘密キーとデジタル証明書)

  • 許可されている暗号化強度

  • 有効になっている暗号

  • SSLハンドシェーク中に渡されたSSLレコード

  • WebLogic Serverによって検出されたSSL障害(妥当性と信頼性のチェックや、デフォルトのホスト名検証など)

  • I/O関連の情報

SSLデバッグは、SSLプロセスでALERTが作成されるとスタック・トレースをダンプします。ALERTのタイプと重大度は、Transport Layer Security (TLS)仕様で定義されています。

スタック・トレースは、情報をALERTが発生した場所のログ・ファイルにダンプします。そのため、SSLの問題を追跡する場合は、SSL接続の両側(SSLクライアントとSSLサーバーの両方で)でデバッグを有効にしておく必要があります。ログ・ファイルには、障害が発生した場所に関する詳細な情報が記録されます。ALERTが発生した場所を判別するには、ALERTの後にトレース・メッセージがあるかどうかを確認します。トレース・メッセージの後に受信されたALERTによって、そのピアで障害が発生したことがわかります。問題を判別するには、SSL接続のそのピアでSSLデバッグを有効にしておく必要があります。

SSLの問題を追跡する場合は、ログ・ファイルの情報を調べて次のことを確認します:

  • 適切なconfig.xmlファイルがロードされました

  • 国内向けまたは輸出向けの設定が適切です

  • 信頼性のある認証局がこのサーバーに対して有効かつ適切でした

  • ホスト名チェックが成功しました

  • 証明書検証が成功しました

    ノート:

    Sev 1 type 0は、正常なクローズALERTであり、問題ではありません。

SSLデバッグを有効化するためのコマンドライン・プロパティ

コマンドライン・プロパティを使用してJSSEベースのSSL実装内のデバッグ・ロギングおよびWebLogic Server内のSSL呼出しコードのロギングを有効にします。

次のコマンド・ライン・プロパティを使用してSSLデバッグを有効にします。

-Djavax.net.debug=all

-Dssl.debug=true -Dweblogic.StdoutDebugEnabled=true

次の点に注意してください。

  • -Djavax.net.debug=allプロパティを使用すると、JSSEベースのSSL実装内でデバッグ・ロギングを有効化できます。

  • -Dssl.debug=trueおよび-Dweblogic.StdoutDebugEnabled=trueコマンドライン・プロパティにより、WebLogic Server内でSSL呼出しコードのデバッグ・ロギングが有効になります。

SSLデバッグ・プロパティは、SSLサーバー、SSLクライアント、およびノード・マネージャの起動スクリプトに含めることができます。ノード・マネージャによって起動される管理対象サーバーに対しては、管理対象サーバーの「サーバーの起動」ページでこのコマンド・ライン引数を指定します。

JSSE SSLロギング・システムでのWebLogicロギング・プロパティの使用の詳細は、「JSSE SSLでのデバッグの使用」を参照してください。

JSSEで使用可能なユーティリティのデバッグの詳細情報は、次のURLからダウンロードできるJava (tm) Secure Socket Extension (JSSE)リファレンス・ガイドのユーティリティのデバッグに関する項を参照してください。

http://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#Debug