TLS をサポートしない Instant Messaging クライアントを使用している場合でも、TLS の代わりに SSL を使ってクライアント/マルチプレクサ間通信を行えます。SSL を使用するようにマルチプレクサを設定すると、TLS を使ってクライアント/サーバー間通信を行うことができなくなります。マルチプレクサとサーバーとの間の通信はすべてクリアーテキスト形式で、セキュリティー保護されていないトランスポートを介して行われます。
マルチプレクサで従来の SSL を設定し、かつ XMPP/HTTP ゲートウェイ を使用する場合には、マルチプレクサとではなくサーバーと直接通信するようにゲートウェイを設定する必要があります。ゲートウェイは従来の SSL をサポートしません。
マルチプレクサと Instant Messenger 間で SSL を有効化するのに必要な手順は、次のとおりです。
マルチプレクサで SSL を有効にするには、証明書を要求する必要があります。
この節では、Sun Java System Web Server、Sun Java System Application Server のいずれかを Web コンテナとして使って証明書を要求するものと仮定します。
マルチプレクサは NSS を使って証明書を管理するため、証明書や証明書データベースを作成、管理、および使用するのに NSS ユーティリティーを使用できます。
Web ブラウザで、次の URL を入力して Web コンテナの管理サーバーを起動します。
http://hostname.domain-name:administration-port |
ユーザー名とパスワードの入力を要求するウィンドウが表示されます。
Web Server または Application Server のインストール時に指定した管理ユーザー名とパスワードを入力します。
「Administration Server」ページが表示されます。
個別の Web Server インスタンスまたは Application Server インスタンスを作成します。
複数の Application Server インスタンスをインストールする方法の詳細については、『Sun Java System Application Server Enterprise Edition 8.2 Installation Guide』を参照してください。複数の Web Server インスタンスをインストールする方法については、『Sun Java Communications Suite 5 インストールガイド』を参照してください。
公開鍵と非公開鍵を格納するための信頼データベースを作成します。このデータベースはキーペアファイルと呼ばれます。
キーペアファイルは、SSL 暗号化に使われます。
信頼データベースの作成方法については、Application Server の場合は『Sun Java System Application Server Enterprise Edition 8.2 管理ガイド』の第 9 章「セキュリティーの設定」を、Web Server の場合は『Sun Java System Web Server 7.0 管理ガイド』の第 6 章「証明書と鍵」をそれぞれ参照してください。
CA からの証明書を要求します。
証明書を要求する方法の詳細については、Application Server の場合は『Sun Java System Application Server Enterprise Edition 8.2 管理ガイド』の第 9 章「セキュリティーの設定」を、Web Server の場合は『Sun Java System Web Server 7.0 管理ガイド』の第 6 章「証明書と鍵」をそれぞれ参照してください。
認証局からサーバー証明書を受け取ったら、その証明書をインストールし、セキュリティー保護された通信を行うためのデータベースを作成する必要があります。
Web ブラウザで、次の URL を入力して管理サーバーを起動します。
http://hostname.domain-name:administration-port |
ユーザー名とパスワードの入力を要求するウィンドウが表示されます。
Web Server または Application Server のインストール時に指定した管理ユーザー名とパスワードを入力します。
「Administration Server」ページが表示されます。
サーバーの証明書をインストールします。
証明書のインストール方法については、http://docs.sun.com で Web Server と Application Server の製品マニュアルを参照してください
Web Server または Application Server の /alias ディレクトリに移動します。
/alias ディレクトリから Instant Messaging サーバーの im-cfg-base ディレクトリに、データベースファイルをコピーします。
たとえば、Solaris 上では次のように入力します。
cp https-serverid-hostname-cert8.db /etc/opt/SUNWiim/default/config/cert8.db |
cp https-serverid-hostname-key3.db /etc/opt/SUNWiim/default/config/key3.db |
cp secmod.db /etc/opt/SUNWiim/default/config/secmod.db |
Linux 上では次のように入力します。
cp https-serverid-hostname-cert8.db /etc/opt/sun/im/default/config/cert8.db |
cp https-serverid-hostname-key3.db /etc/opt/sun/im/default/config/key3.db |
cp secmod.db /etc/opt/sun/im/default/config/secmod.db |
cert7.db、key3.db、および secmod.db ファイルの読み取り権を、マルチプレクサが使用するシステムユーザーに許可する必要があります。さらに、Instant Messaging インスタンスを複数作成した場合には、/default ディレクトリの名前がインスタンスごとに異なります。
im-cfg-base のデフォルトの場所については、表 3–1 を参照してください。
マルチプレクサのホスト上で im-cfg-base に移動します。
im-cfg-base の場所については、「Instant Messaging サーバーのディレクトリ構造」を参照してください。
sslpassword.conf という名前のファイルを、任意のテキストエディタを使って作成します。
sslpassword.conf に次の行を入力します。
Internal (Software) Token:password |
ここで、password は、信頼データベースを作成したときに指定したパスワードです。
sslpassword.conf を保存して閉じます。
sslpassword.conf の所有権と読み取り権をすべての Instant Messenger エンドユーザーが持っていることを確認します。
マルチプレクサを再起動します。
SSL が正しく動作していることを確認します。
確認を行う方法はいくつか考えられますが、その 1 つとして、「セキュリティー保護された Instant Messenger の起動」の手順に従う方法が挙げられます。
Web Server または Application Server に管理者としてログインします。
証明書要求時に作成したサーバーインスタンスを削除します。
クライアント/マルチプレクサ間通信で SSL を有効にするには、iim.conf 内のパラメータを変更したあと、セキュリティー保護された Instant Messenger クライアントを使ってマルチプレクサに接続します。
表 12–2 に、Instant Messenger とマルチプレクサ間で SSL を有効化するための、iim.conf 内のパラメータの一覧を示します。また、この表には、これらのパラメータの説明とデフォルト値も記載されています。
表 12–2 Instant Messaging マルチプレクサの SSL パラメータ
パラメータ |
デフォルト値 |
説明 |
---|---|---|
iim_mux.usessl |
off |
この値が on に設定された場合、マルチプレクサは、アプリケーションデータを交換する前に、受け入れた接続ごとに SSL ハンドシェークを要求します。 |
iim_mux.secconfigdir |
Solaris の場合: /etc/opt/SUNWiim/default/config Linux の場合: /etc/opt/sun/im/default/config |
このディレクトリには鍵と証明書のデータベースが含まれます。また、通常はセキュリティーモジュールデータベースも含まれます。さらに、Instant Messaging インスタンスを複数作成した場合には、/default ディレクトリの名前がインスタンスごとに異なります。詳細は、「単一の Instant Messaging インストールからの複数インスタンスの作成」を参照してください。 |
iim_mux.keydbprefix |
(空の文字列) |
この値には、鍵データベースのファイル名のプレフィックスが必要です。鍵データベースのファイル名は、必ず key3.db で終わる必要があります。 たとえば This-Database-key3.db のように、鍵データベース名にプレフィックスが含まれている場合、このパラメータの値は This-Database になります。 |
iim_mux.certdbprefix |
(空の文字列) |
この値には、証明書データベースのファイル名のプレフィックスが必要です。証明書データベースのファイル名は、必ず cert7.db で終わる必要があります。 たとえば Secret-stuff-cert7.db のように、証明書データベース名にプレフィックスが含まれている場合、このパラメータの値は Secret-stuff になります。 |
iim_mux.secmodfile |
secmod.db |
この値には、セキュリティーモジュールファイルの名前が必要です。 |
iim_mux.certnickname |
Multiplexor-Cert |
この値には、証明書のインストール時に入力した証明書の名前が必要です。 この証明書の名前は、大文字と小文字が区別されます。 |
iim_mux.keystorepasswordfile |
sslpassword.conf |
この値には、鍵データベースのパスワードが格納されたファイルの相対パスと名前が必要です。このファイルは次の行を含む必要があります。 Internal (Software) Token:password password は、鍵データベースを保護するパスワードです。 |
iim.conf を開きます。
iim.conf の場所、およびこのファイルを変更する手順については、「iim.conf ファイルの構文」を参照してください。
表 12–2 の値を、iim.conf 内のマルチプレクサ設定パラメータに追加します。
次に示すのは、マルチプレクサ設定パラメータを含む iim.conf の例です。
! IIM multiplexor configuration ! ============================= ! ! Multiplexor specific options ! IP address and listening port for the multiplexor. ! WARNING: If this value is changed, the port value of ’-server’ ! argument in the client’s im.html and im.jnlp files should ! also be changed to match this. iim_mux.listenport = "siroe.com:5222" ! The IM server and port the multiplexor talks to. iim_mux.serverport = "siroe.com:45222" ! Number of instances of the multiplexor. iim_mux.numinstances = "1" ! Maximum number of threads per instance iim_mux.maxthreads = "10" ! Maximum number of concurrent connections per multiplexor process iim_mux.maxsessions = "1000" iim_mux.usessl = "on" iim_mux.secconfigdir = "/etc/opt/SUNWiim/default/config" iim_mux.keydbprefix = "This-Database" iim_mux.certdbprefix = "Secret-stuff" iim_mux.secmodfile = "secmod.db" iim_mux.certnickname = "Multiplexor_Cert" iim_mux.keystorepasswordfile = "sslpassword.conf" |