20.2.3. Netty セキュアソケットレイヤー (SSL) の設定

Netty TCP は暗号化されていない TCP ソケットをベースとした簡単なトランスポートです。Netty SSL は Netty TCP と似ていますが、セキュアソケットレイヤー (SSL) を使用して TCP 接続を暗号化して、セキュリティーを強化します。

警告

Red Hat は、影響するすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSL を明示的に無効化することを推奨しています。
次の例は、一方向 SSL の Netty 設定を示しています。

注記

以下のパラメーターのほとんどは、アクセプターおよびコネクターと使用できますが、一部のパラメーターはアクセプターを使用した場合のみ動作します。パラメーターの詳細には、これらのパラメーターをコネクターで使用した場合とアクセプターで使用した場合の違いが説明されています。
<acceptors>
 <netty-acceptor name="netty" socket-binding="messaging"/>
   <param key="ssl-enabled" value="true"/>
   <param key="key-store-password" value="[keystore password]"/>
   <param key="key-store-path" value="[path to keystore file]"/>
 </netty-acceptor>
</acceptors>

表20.2 Netty SSL 設定プロパティー

プロパティー名デフォルト説明
ssl-enabledtrueSSL を有効にします。
key-store-password[キーストアのパスワード]アクセプターで使用された場合はサーバー側キーストアのパスワードになります。コネクターで使用された場合はクライアント側キーストアのパスワードになります。双方向 SSL (相互認証) を使用する場合はコネクターのみに関係します。この値はサーバー上で設定できますが、クライアントによってダウンロードおよび使用されます。
key-store-path[キーストアファイルへのパス]アクセプターで使用された場合は、サーバーが信用するすべてのクライアントのキーを保持するサーバー側 SSL キーストアへのパスになります。双方向 SSL (相互認証など) を使用する場合はアクセプターのみが関係します。コネクターで使用された場合は、クライアントが信用するすべてのサーバーの公開鍵を保持するクライアント側 SSL キーストアへのパスになります。このパスはサーバー上で設定されますが、クライアントによってダウンロードおよび使用されます。
双方向 SSL (サーバーとクライアント間の相互認証) に Netty を設定する場合は、前述の一方向 SSL の例で説明したパラメーターの他に 3 つのパラメーターが使用されます。
  • need-client-auth: クライアント接続の双方向 (相互認証) の必要性を指定します。
  • trust-store-password: アクセプターで使用された場合はサーバー側トラストストアのパスワードになります。コネクターで使用された場合はクライアント側トラストストアのパスワードになります。これは、一方向および双方向 SSL のコネクターに関連します。この値はサーバー上で設定できますが、クライアントによってダウンロードおよび使用されます。
  • trust-store-path: アクセプターで使用された場合は、サーバーが信用するクライアントすべてのキーの証明書を保持するサーバー側 SSL トラストストアへのパスになります。コネクターで使用された場合は、クライアントが信用するサーバーすべての公開鍵の証明書を保持するクライアント側 SSL トラストストアへのパスになります。これは、一方向および双方向 SSL のコネクターに関連します。このパスはサーバー上で設定できますが、クライアントによってダウンロードおよび使用されます。