Sun Java System Instant Messaging 7.2 管理ガイド

Instant Messaging サーバーの TLS の有効化

サーバー上の TLS を有効にするには、「Instant Messaging サーバーの TLS 設定」で説明したように、事前に JKS を作成し、署名付きサーバー証明書を取得してインストールし、CA の証明書を信頼する必要があります。TLS を使ってサーバー間通信またはクライアント/サーバー間通信、あるいはその両方を行いたい場合に、サーバーの TLS を有効にします。

表 12–1 に、Instant Messaging サーバーの TLS を有効にするために使用される iim.conf 内のパラメータの一覧を示します。また、この表には、これらのパラメータの説明とデフォルト値も含まれています。

表 12–1 Instant Messaging サーバーの TLS 設定パラメータ

パラメータ 

デフォルト値 

説明 

iim_server.sslkeystore

なし 

サーバーの Java キーストア (JKS) の相対パスとファイル名を含みます。たとえば、次のようになります。


/im-cfg-base/server-keystore.jks

iim_server.keystorepasswordfile

sslpassword.conf

キーストアのパスワードを含むファイルの相対パスと名前を含みます。このファイルは次の行を含む必要があります。 

Internal (Software) Token:password

password は、キーストアを保護するパスワードです。

iim_server.requiressl

false

true の場合、サーバーは、初期ストリームセッションの設定後に TLS 接続を要求しない接続をすべて終了させます。

iim_server.trust_all_cert

false

この値が true の場合、サーバーは、期限切れの証明書や自己署名付き証明書を含むすべての証明書を信頼するほか、ログファイルへの証明書情報の追加も行います。false の場合、サーバーは証明書情報をログに記録せず、CA によって署名された有効な証明書のみを信頼します。

ProcedureInstant Messaging サーバーの TLS 通信を有効にする

TLS を介したセキュリティー保護された通信を使用して Instant Messaging サーバーを次のように設定するには、この手順を使用します。

始める前に

「Instant Messaging サーバーの TLS 設定」で説明したように、JKS を作成し、サーバー証明書を取得してインストールし、CA の証明書を信頼するようにサーバーを設定したことを確認してください。

サーバー間で TLS 通信を行う場合、TLS を使用するように設定する各サーバーで、この手順を行う必要があります。

  1. iim.conf 内で次のパラメータの値を追加します。

    iim.conf 内にまだ存在していないパラメータは、追加します。


    iim_server.sslkeystore=server-keystore.jks
    iim_server.keystorepasswordfile=sslpassword.conf
    

    これでサーバーは、任意のクライアントや別の Instant Messaging サーバーからの接続要求に対し、TLS を介して通信可能である旨の応答を返すようになります。その後、要求元のクライアントやサーバーは、TLS を介してセキュリティー保護された接続を確立するかどうかを選択します。

  2. クライアント、およびリモートおよびピアサーバーからのすべての接続に対してサーバーが TLS を要求するようにするには、iim.conf に次のパラメータを追加します。


    iim_server.requiressl=true

    このパラメータを true に設定すると、サーバーは、TLS をサポートしないあらゆるクライアントとの接続、またはリモートまたはピアサーバーとの接続を終了させます。TLS を介してセキュリティー保護されたクライアント/サーバー間通信を要求するには、このパラメータを使用します。

    サーバー間通信の詳細については、第 8 章「複数の Instant Messaging サーバーの連携配備」を参照してください。

  3. 特定のリモートまたはピアサーバーとの通信で TLS を要求するには、iim.conf に次のパラメータを追加します。


    iim_server.coserver1.requiressl=true

    TLS を要求する協調サーバー (coserver) ごとに、このパラメータを設定します。

    iim_server.requiressltrue に設定すると、サーバーは、通信するすべてのサーバーに対して TLS 接続を要求します。その場合、特定の協調サーバーでこのパラメータを設定する必要はありません。

  4. (省略可能) サーバーが受け取ったすべての証明書を信頼し、証明書の情報をログファイルに追加するようにするには、iim.conf に次のパラメータを追加します。


    iim_server.trust_all_cert=true

    注意 – 注意 –

    実稼動前に、この機能を使用して配備をテストする必要が生じる可能性があります。ただし、配備済みのシステム上でテストを行うと深刻なセキュリティーリスクが発生するため、通常は行わないでください。この値が true の場合、サーバーは、期限切れの証明書や自己署名付き証明書を含むすべての証明書を信頼するほか、ログファイルへの証明書情報の追加も行います。false の場合、サーバーは証明書情報をログに記録せず、CA によって署名された有効な証明書のみを信頼します。


  5. imadmin を使ってサーバーの設定を更新します。


    imadmin refresh server
    
  6. TLS が正しく動作していることを確認します。

    確認を行う方法はいくつか考えられますが、その 1 つとして、「セキュリティー保護された Instant Messenger の起動」の手順に従う方法が挙げられます。


例 12–1 iim.conf での TLS 設定

次に示す iim.conf ファイルからの例には、サーバー間通信やクライアント/サーバー間通信で必要となる TLS 設定が含まれています。この例に含まれるパラメータの値は、配備ごとに異なります。


! サーバー間通信ポート。
iim_server.port = "5269"
! サーバーがサーバー間通信ポート上で
! 待機する場合
iim_server.useport = "True”
iim_server.coservers=coserver1
iim_server.coserver1.serverid=Iamcompany22
iim_server.coserver1.password=secretforcompany22
iim_server.coserver1.host=iim.i-zed.com:5269
iim_server.serverid=Iami-zed
iim_server.password=secret4i-zed
iim_server.trust_all_cert=true
iim_server.sslkeystore=/var/im/server_keystore.jks
iim_server.keystorepasswordfile=/var/im/sslpassword.conf