16.7 SSLおよびSSL証明書の構成

SSL/TLSプロトコルを表示および制限します。自己署名証明書またはCA署名証明書を使用するようにOracle Trace File Analyzerを構成します。

16.7.1 SSL/TLSプロトコルの構成

クラスタ内のOracle Trace File Analyzerデーモンは、SSL/TLSプロトコルを使用して安全に通信します。

Oracle Trace File Analyzerで使用できるSSLプロトコルは、次のとおりです。

  • TLSv1.2

  • TLCv1.1

  • TLSv1

Oracle Trace File Analyzerでは、古いプロトコルであるSSLv3およびSSLv2Helloの使用が常に制限されます。

プロトコルを表示および制限するには:

  1. 使用可能なプロトコルと制限されているプロトコルを表示するには、次のようにします。
    tfactl print protocols
    次に例を示します。
    $ tfactl print protocols
    .---------------------------------------.
    |                 node1                 |
    +---------------------------------------+
    | Protocols                             |
    +---------------------------------------+
    | Available : [TLSv1, TLSv1.2, TLSv1.1] |
    | Restricted : [SSLv3, SSLv2Hello]      |
    '---------------------------------------'
    
  2. 特定のプロトコルの使用を制限するには、次のようにします。
    tfactl restrictprotocol [-force] protocol
    次に例を示します。
    $ tfactl restrictprotocol TLSv1

16.7.2 自己署名証明書の構成

Java keytoolを使用して、自己署名SSL証明書を個人の自己署名証明書に置き換えます。

自己署名証明書を使用するようにOracle Trace File Analyzerを構成するには:

  1. 秘密キーおよびサーバーの自己署名証明書を含むキーストア・ファイルを作成します。
    $ keytool -genkey -alias server_full -keyalg RSA -keysize 2048 -validity 18263 -keystore myserver.jks
  2. 秘密キーおよびその秘密キーとクライアントの自己署名証明書を含むキーストア・ファイルを作成します。
    $ keytool -genkey -alias client_full -keyalg RSA -keysize 2048 -validity 18263 -keystore myclient.jks
  3. サーバー公開キー証明書をサーバー・キーストアからエクスポートします。
    $ keytool -export -alias server_full -file myserver_pub.crt -keystore myserver.jks -storepass password
  4. クライアント公開キー証明書をサーバー・キーストアからエクスポートします。
    $ keytool -export -alias client_full -file myclient_pub.crt -keystore myclient.jks -storepass password
  5. サーバー公開キー証明書をクライアント・キーストアにインポートします。
    $ keytool -import -alias server_pub -file myserver_pub.crt -keystore myclient.jks -storepass password
  6. クライアント公開キー証明書をサーバー・キーストアにインポートします。
    $ keytool -import -alias client_pub -file myclient_pub.crt  -keystore myserver.jks -storepass password
  7. キーストアの権限をroot read-onlyに制限します。
    $ chmod 400 myclient.jks myserver.jks
  8. キーストア(jksファイル)を各ノードにコピーします。
  9. 新しい証明書を使用するようにOracle Trace File Analyzerを構成します。
    $ tfactl set sslconfig
  10. Oracle Trace File Analyzerプロセスを再起動して、新しい証明書の使用を開始します。
    $ tfactl restart

16.7.3 CA署名証明書の構成

Java keytoolopensslを使用して、自己署名SSL証明書を認証局(CA)署名証明書に置き換えます。

CA署名証明書を使用するようにOracle Trace File Analyzerを構成するには:

  1. サーバー・リクエストに対する秘密キーを作成します。
    $ openssl genrsa -aes256 -out myserver.key 2048
  2. クライアント・リクエストに対する秘密キーを作成します。
    $ openssl genrsa -aes256 -out myclient.key 2048
  3. サーバーの証明書署名リクエスト(CSR)を作成します。
    $ openssl req -key myserver.key -new -sha256 -out myserver.csr
  4. クライアントの証明書署名リクエスト(CSR)を作成します。
    $ openssl req -key myclient.key -new -sha256 -out myclient.csr
  5. 結果のクライアント用およびサーバー用CSRを関連する署名認証局に送信します。

    署名認証局から署名済証明書が返送されます。

    • myserver.cert

    • myclient.cert

    • CAルート証明書

  6. 証明書をサーバーおよびクライアント用のJKS形式に変換します。
    $ openssl pkcs12 -export -out serverCert.pkcs12 -in myserver.cert -inkey myserver.key
    $ keytool -v -importkeystore -srckeystore serverCert.pkcs12 -srcstoretype PKCS12 -destkeystore myserver.jks -deststoretype JKS
    $ openssl pkcs12 -export -out clientCert.pkcs12 -in myclient.cert -inkey myclient.key
    $ keytool -v -importkeystore -srckeystore clientCert.pkcs12 -srcstoretype PKCS12 -destkeystore myclient.jks -deststoretype JKS
  7. サーバー公開キーをクライアントのjksファイルにインポートします。
    $ keytool -import -v -alias server-ca -file myserver.cert -keystore myclient.jks
  8. クライアント公開キーをサーバーのjksファイルにインポートします。
    $ keytool -import -v -alias client-ca -file myclient.cert -keystore myserver.jks
  9. CAルート証明書を署名証明書からOracle Trace File Analyzerサーバー証明書にインポートします。
    $ keytool -importcert -trustcacerts -alias inter -file caroot.cert -keystore myserver.jks
  10. キーストアの権限をroot read-onlyに制限します。
    $ chmod 400 myclient.jks myserver.jks
  11. キーストア(jksファイル)を各ノードにコピーします。
  12. 新しい証明書を使用するようにOracle Trace File Analyzerを構成します。
    $ tfactl set sslconfig
  13. Oracle Trace File Analyzerプロセスを再起動して、新しい証明書の使用を開始します。
    $ tfactl stop 
    $ tfactl start

16.7.4 SSL暗号スイートの構成

暗号スイートは、キーを作成してデータを暗号化するためにTLS/SSLプロトコルで使用される暗号化アルゴリズムのセットです。

Oracle Trace File Analyzerは、JRE 1.8で使用されるすべての暗号スイートをサポートします。

デフォルトで使用される暗号スイートは、TLS_RSA_WITH_AES_128_CBC_SHA256です。

  1. コマンドを使用して暗号スイートを変更できます。
    tfactl set ciphersuite=cipher_suite
    次に例を示します。
    tfactl set ciphersuite=TLS_RSA_WITH_AES_128_GCM_SHA256
    JRE暗号スイートのリストについては、以下を参照してください。

    https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJSSEProvider