この章では、Messaging Server に含まれる、標準メールプロトコル (POP、IMAP および SMTP) 対応の Messaging Multiplexor (MMP) および Messenger Express Web インタフェース用の Messenger Express Multiplexor の 2 つのマルチプレクサについて説明します。
この章には、次の項目があります。
マルチプレクサは、複数のメールストアに間接的に接続する場合に使用する単一ドメイン名を提供します。このため、複数のマシンを追加することにより多くのユーザーをサポートできる水平スケーラビリティー機能の実現には欠かすことができません。また、マルチプレクサにはセキュリティー上の利点もあります。
MMP は Messaging Server で別途管理され、Messenger Express Multiplexor は Message Store and Message Access のインストールに含まれる HTTP サービス (mshttpd) に組み込まれます。
負荷の大きいメッセージングサーバーでは、メッセージストアの容量が非常に大きくなることがあります。このような場合は、ユーザーメールボックスとユーザー接続を複数のサーバーに振り分けると、容量を拡張し、パフォーマンスを向上させることができます。また、大容量の大型マルチプロセッサマシンを 1 台使用するよりも、小さなサーバーマシンを数台使う方が費用効率が高い場合があります。
メールサーバーのインストールで複数のメッセージストアを使用する必要がある場合は、マルチプレクサを使用すると便利です。ユーザーからメッセージストアへの接続が間接的であること、および複数のメッセージングサーバー間でのユーザーアカウントの再設定が簡単であることから、次のような利点が生まれます。
ユーザー管理の簡易化
すべてのユーザーが 1 台 のサーバー (POP、IMAP、SMTP、Web アクセス用に別のマルチプレクサマシンがある場合は複数台) に接続するので、電子メールクライアントをあらかじめ設定しておき、すべてのユーザーに同一のログイン情報を配布することができます。これにより管理タスクが簡易化され、間違ったログイン情報を配布する可能性が減ります。
特に負荷が大きい状況では、同じ設定を使用して複数のマルチプレクササーバーを実行し、DNS ラウンドロビンや負荷分散システムによってこれらのマルチプレクササーバーへの接続を管理することができます。
マルチプレクサは LDAP ディレクトリに格納されている情報を使って各ユーザーの Messaging Server を検出します。このため、システム管理者は、ユーザーに意識させることなく、ユーザーを簡単に新しいサーバーに移動することができます。管理者はユーザーのメールボックスをある Messaging Server から別の Messaging Server に移動し、その後 LDAP ディレクトリでユーザーのエントリを更新することができます。ユーザーのメールアドレス、メールボックスアクセス、およびその他のクライアント設定は変更する必要がありません。
パフォーマンスの向上
メッセージストアの処理量が 1 台のマシンで可能な範囲を超えた場合は、メッセージストアの一部をほかのマシンに移動して負荷を均等にすることができます。
異なるクラスのユーザーを異なるマシンに割り当てることができます。たとえば、重要なユーザーを大型の強力なマシンに割り当てることもできます。
マルチプレクサでは一定のバッファリングが行われるので、ユーザーが低速で接続 (モデム経由など) しても Messaging Server の速度が下がることはありません。
コストの削減: マルチプレクサを使うと複数の Messaging Server を効率的に管理できるので、小型のサーバーマシンを数台購入しても超大型マシンを 1 台購入するほどにはコストがかからず、全体のコストを抑えることができます。
スケーラビリティーの向上: マルチプレクサを使うと、構成を簡単に拡張できます。パフォーマンスやストレージ容量を強化する必要があれば、既存のシステムを無駄にすることなく、マシンを段階的に追加することができます。
最小限のユーザーダウンタイム: マルチプレクサを使用すると、大規模なユーザーベースを多数の小さなストアマシンに振り分けることで、ユーザーダウンタイムを抑えることができます。あるサーバーが故障しても、影響を受けるのはそのサーバーのユーザーだけです。
セキュリティーの強化: マルチプレクサがインストールされているサーバーマシンをファイアウォールマシンとして使用することができます。クライアント接続をすべてこのマシンにルーティングすることで、外部のコンピュータから内部のメッセージストアマシンへのアクセスを制限することができます。マルチプレクサは、クライアントとの非暗号化通信および暗号化通信をサポートしています。
Sun Java System Messaging Multiplexor (MMP) は、複数のバックエンドメッセージングサーバーの単一接続ポイントとして機能する特別なメッセージングサーバーです。Messaging Multiplexor を利用すると、大規模なメッセージングサービスプロバイダは、POP および IMAP のユーザーメールボックスを多数のマシン間に分散してメッセージストア容量を増やすことができます。すべてのユーザーは、単一の Multiplexor サーバーに接続します。Multiplexor サーバーは、各接続を適切な Messaging Server にリダイレクトします。
多数のユーザーに電子メールサービスを提供する場合は、ユーザーには複数の Messaging Server が単一のホストであるかのように表示されるよう、Messaging Multiplexor をインストールして設定することができます。
Messaging Multiplexor は Messaging Server の一部として提供されます。MMP は Messaging Server やほかの Sun Java System サーバーと同時にインストールすることも、あとで別途インストールすることもできます。MMP は以下の機能をサポートします。
メールクライアントとの非暗号化通信および暗号化 (SSL) 通信。
証明書に基づくクライアント認証 (「証明書に基づくクライアント認証」を参照)。
ユーザーの事前認証 (「ユーザーの事前認証」を参照)。
さまざまな IP アドレスを待機し、ユーザー ID にドメイン名を自動的に付与する仮想ドメイン (「MMP 仮想ドメイン」を参照)。
複数のサーバーに対する MMP のインストール (『Sun Java Enterprise System 2005Q4 インストールガイド』を参照)。
高度な LDAP 検索。
古いバージョンの POP クライアント用の POP before SMTP サービス。詳細は、「POP before SMTP を有効にする」を参照してください。
MMP は、メールユーザーを複数のサーバーマシンに分散させるマルチスレッドサーバーです。MMP は、ユーザーメールボックスがあるサーバーマシン宛の着信クライアント接続を処理します。クライアントは MMP に接続します。MMP はユーザーの正しいサーバーを判断し、そのサーバーに接続し、クライアントとサーバーとの間でデータの受け渡しを行います。この機能を使用すると、インターネットサービスプロバイダやその他の大規模なインストール環境では、処理能力を上げるためにメッセージストアを複数のマシンに分散しても、ユーザーおよび外部クライアントに対しては単一のメールホストであるかのように機能するので、ユーザーの効率を向上させ、外部クライアントに対するセキュリティーを強化することができます。「Messaging Multiplexor のしくみ」に、MMP を インストールした場合のサーバーとクライアントの関係を示します。
POP、IMAP、および SMTP クライアントはすべて、Messaging Multiplexor に接続して動作します。MMP は接続を許可し、LDAP ディレクトリ検索を行い、正しい接続先にルーティングします。ほかのメールサーバーをインストールした場合と同様、各ユーザーは特定の Messaging Server 上の特定のアドレスとメールボックスに割り当てられます。ただし、接続はすべて MMP を経由します。
詳しく説明すると、ユーザー接続は次の手順で確立されます。
ユーザーのクライアントが MMP に接続し、予備的な認証情報 (ユーザー名) が受け入れられます。
MMP は Directory Server に照会して、そのユーザーのメールボックスがある Messaging Server を判断します。
MMP は適切な Messaging Server に接続し、再度認証を行い、接続中は中継パイプとして動作します。
Messaging Multiplexor は、Messaging Server とメールクライアント間の暗号化 (SSL) 通信および非暗号化通信をサポートしています。Messaging Server の現在のバージョンは、新しい証明書データベース形式 (cert8.db) をサポートしています。
SSL を有効にすると、MMP は STARTTLS をサポートします。また、SSL の IMAP、POP、および SMTP 接続で追加ポートを待機するように MMP を設定することもできます。
IMAP、POP、または SMTP サービスで SSL を有効にするには、ImapProxyAService.cfg、PopProxyAService.cfg、および SmtpProxyAService.cfg の各ファイルを編集します。また、IMAP、POP、または SMTP サーバーがセキュアサーバーであるかどうかにかかわらず、AService.cfg ファイルの default:ServiceList オプションを編集し、ファイル内ですべての IMAP、POP および SMTP サーバーポートを指定する必要があります。詳細は、「SSL を使用する MMP を設定する」を参照してください。
SSL 設定パラメータはコメントアウトされているため、デフォルト設定では SSL が無効になっています。SSL を有効にするには、SSL サーバー証明書をインストールする必要があります。次にコメントを解除し、SSL パラメータを設定します。SSL パラメータの一覧は、『Sun Java System Messaging Server 6 2005Q4 Administration Reference』の「Encryption (SSL) Option」を参照してください。
MMP では証明書マッピングファイル (certmap) を使ってクライアントの証明書とユーザー/グループ Directory Server の正しいユーザーを一致させることができます。
証明書に基づくクライアント認証を使用するには、SSL 暗号化も有効にする必要があります。「暗号化 (SSL) オプション」を参照してください。
また、ストア管理者も設定する必要があります。メール管理者を使用することもできますが、必要に応じてアクセス権を設定できるように、一意のユーザー ID (mmpstore など) を作成することをお勧めします。
MMP は certmap プラグインをサポートしていないことに注意してください。代わりに、certmap.conf ファイルの拡張された DNComps および FilterComps の各プロパティー値エントリを使用できます。これらの拡張されたフォーマットエントリの形式は次のとおりです。
mapname:DNComps FROMATTR=TOATTR mapname:FilterComps FROMATTR=TOATTR |
これにより、証明書の subjectDN の FROMATTR 値を使って、TOATTR=value という要素を含む LDAP クエリを形成することができます。たとえば、証明書の subjectDN が「cn=Pilar Lorca, ou=pilar, o=siroe.com」の場合、この証明書を「(uid=pilar)」という LDAP クエリにマップするには、次の行を使用します。
mapname:FilterComps ou=uid
ストア管理者のユーザー ID を決定します。
メール管理者を使用することもできますが、ストア管理者用に一意のユーザー ID (mmpstore など) を作成することをお勧めします。
SSL 暗号化が有効であることを確認します。「暗号化 (SSL) オプション」を参照してください。
設定ファイルで certmap.conf ファイルの場所を指定し、MMP が証明書に基づくクライアント認証を使用するように設定します。
信頼できる認証局の証明書を少なくとも 1 つインストールします。詳細は、「信頼できる CA の証明書をインストールするには」を参照してください。
MMP には、着信ユーザーとしてディレクトリにバインドし、その結果をログに記録することによってユーザーを事前認証するオプションがあります。
ユーザーの事前認証を有効にすると、サーバーのパフォーマンスが低下します。
ログエントリの形式は、次のとおりです。
date time (sid 0xhex) user name pre-authenticated - client IP address, server IP address |
date は yyyymmdd 形式、time はサーバーで設定された hhmmss 形式の時刻であり、hex は16 進数のセッション ID (sid) を表します。仮想ドメインがあれば user name に含まれており、IP アドレスはドットで 4 つに区切られた形式です。
MMP 仮想ドメインはサーバーの IP アドレスに関連付けられている一連の構成設定です。この機能の主な用途は、サーバー IP アドレスごとに個別のデフォルトドメインを提供することです。
ユーザーは、省略形のユーザー ID または完全指定のユーザー ID (user@domain という形式) を使用して、MMP に認証を求めることができます。省略形のユーザー ID が提示されると、MMP は指定があれば DefaultDomain 設定を行います。その結果、複数のホストしているドメインをサポートするサイトでは、サーバー IP アドレスと MMP 仮想ドメインにそれぞれのホストしているドメインを関連付けるだけで、省略形のユーザー ID を使用できるようになります。
特定のホストしているドメインのユーザーサブツリーを検索する場合は、そのドメインの LDAP ドメインツリーエントリで inetDomainBaseDN DN 属性を使用する方法をお勧めします。バックエンドメールストアサーバーでも LDAP のユーザーを検索する必要があり、さらに仮想ドメインがサポートされないため、MMP で LdapUrl を設定するのは適していません。
Sun LDAP Schema 2 が有効になると (『Sun Java Enterprise System 2005Q4 Installation Guide for UNIX』および『Sun Java System Communications Services 6 2005Q4 Schema Reference』を参照)、特定のドメインのユーザーサブツリーは、そのドメインの組織ノードの下のサブツリーにあるすべてのユーザーになります。
仮想ドメインを有効にするには、インスタンスディレクトリで ImapProxyAService.cfg、PopProxyAService.cfg、または SmtpProxyAService.cfg の各ファイルを編集し、VirtualDomainFile 設定で仮想ドメインマッピングファイルへの絶対パスを指定します。
仮想ドメインファイルの各エントリには、次の構文を使用します。
vdmap name IPaddrname:parameter value
name は IP アドレスと設定パラメータを関連付けるためだけに使用するので任意の名前を使用できます。IPaddr はドットで 4 つに区切られた形式で、parameter と value のペアによって仮想ドメインを構成します。仮想ドメインの設定パラメータ値を設定すると、その値はグローバルな設定パラメータ値よりも優先されます。
仮想ドメインに指定できる設定パラメータは次のとおりです。
AuthCacheSize および AuthCacheSizeTTL AuthService BindDN および BindPass CertMap ClientLookup CRAMs DefaultDomain DomainDelim HostedDomains LdapCacheSize および LdapCacheTTL LdapURL MailHostAttrs PreAuth ReplayFormat RestrictPlainPasswords StoreAdmin および StoreAdminPass SearchFormat TCPAccess TCPAccessAttr |
LdapURL が正しく設定されていない場合、BindDN、BindPass、LdapCacheSize、および LdapCacheTTL の設定は無視されます。
設定パラメータの詳細については、『Sun Java System Messaging Server 6 2005Q4 Administration Reference』を参照してください。
MMP には SMTP プロキシが含まれていますが、デフォルトでは無効になっています。大半のサイトでは SMTP プロキシは必要ありません。インターネットメール規格には、SMTP の水平スケーラビリティー機能が十分に備わっているからです。
SMTP プロキシには有用なセキュリティー機能があります。まず、古いバージョンの POP クライアントの一部で必要な POP before SMTP 認証機能を実装するために、SMTP プロキシは POP プロキシに統合されています。詳細は、「POP before SMTP を有効にする」を参照してください。さらに、SMTP プロキシを使用すると、SSL アクセラレータハードウェアを最大限に活用できます。「SMTP プロキシを使用した SSL パフォーマンスの最適化方法」を参照してください。
Messaging Server の初期実行時設定中に、MMP をマシンに設定するかどうかを選択できます。Messaging Server と同一のマシンに設定することも、別のマシンに設定することもできます。
MMP は DNS の結果をキャッシュしません。Messaging Server の本稼働配備では、高性能キャッシュを使用する DNS サーバーがローカルネットワークに必要です。
次の節では、MMP の設定方法について説明します。
MMP の詳細については、次のマニュアルで参照できます。
MMP を設定するマシンを選択します。MMP 専用のマシンを使用することをお勧めします。
POP または IMAP サーバーを実行するマシンでは、MMP を有効にしないことをお勧めします。
Messaging Server と同じマシンに MMP をインストールする場合は、POP サーバーおよび IMAP サーバーを標準以外のポートに設定する必要があります。標準以外のポートを使用すれば、MMP サーバーと Messaging Server のポートが互いに競合することはありません。
MMP を設定するマシンに、MMP で必要な UNIX システムユーザーを作成します。この新規ユーザーは、UNIX システムグループに属している必要があります。「UNIX システムのユーザーとグループを作成する」を参照してください。
Messaging Server で使用する Directory Server とホストマシンの設定が完了していない場合は、それらを設定します。「Messaging Server 設定用に Directory Server を準備するには」を参照してください。
バックエンドサーバーより前に MMP がアップグレードされた場合、ユーザーは ImapProxyAService.cfg の Capability オプションを、古いバックエンドから発行された capability コマンドへの応答と一致するように設定する必要があります。この設定は次のようになります。
IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS CHILDREN LANGUAGE XSENDER X-NETSCAPE XSERVERINFO
改行は編集上明確にする目的で使用されること、および設定値は 1 行に配置する必要があることに注意してください。
MMP を設定するには、Messaging Server の設定プログラムを使用する必要があります。このプログラムには、Messaging Multiplexor を有効にするかどうかを選択するオプションがあります。設定プログラムの詳細については、「Messaging Server の初期実行時設定を作成する」を参照してください。
MMP をインストールおよび設定するマシンに Sun Java System Messaging Server をインストールします。
Messaging Server の初期実行時設定を作成して MMP を設定します。「Messaging Server の初期実行時設定を作成する」を参照してください。
例外として、Messaging Server をインストールする場合は、Messaging Multiplexor オプションのみをチェックするようにしてください。
Messaging Multiplexor のファイルは、msg_svr_base/config 設定ファイルディレクトリに格納されています。表 7–1 に示す Messaging Multiplexor 設定ファイルの設定パラメータを手動で編集する必要があります。MMP 設定パラメータの詳細については、『Sun Java System Messaging Server 6 2005Q4 Administration Reference』の「Multiplexor Configuration Parameters」を参照してください。
表 7–1 Messaging Multiplexor の設定ファイル
ファイル |
説明 |
---|---|
POP サービス用の設定変数を指定する設定ファイルです。 |
|
POP サービスの設定テンプレートです。このファイルは、start-msg mmp で MMP を最初に起動したときに作成されます。 |
|
IMAP サービス用の設定変数を指定する設定ファイルです。 |
|
IMAP サービスの設定テンプレートです。このファイルは、start-msg mmp で MMP を最初に起動したときに作成されます。 |
|
起動するサービス、および POP サービスと IMAP サービスが共有するオプションを指定する設定ファイルです。 |
|
起動するサービス、および POP サービスと IMAP サービスが共有するオプションを指定する設定テンプレートです。このファイルは、start-msg mmp で MMP を最初に起動したときに作成されます。 |
|
SMTP プロキシサービス用の設定変数を指定するオプションの設定ファイルです。POP before SMTP を有効にする場合は必須です。POP before SMTP を有効にしない場合でも、SSL ハードウェアのサポートを最大にするのに役立ちます。POP before SMTP の詳細は、「POP before SMTP を有効にする」を参照してください。 |
|
SMTP プロキシサービス用の設定変数を指定する設定テンプレートです。このファイルは、start-msg mmp で MMP を最初に起動したときに作成されます。 |
例として、LogDir パラメータおよび LogLevel パラメータは、すべての設定ファイルで使用されています。これらのパラメータは、ImapProxyAService.cfg ファイルでは IMAP 関連イベントのロギングパラメータを設定する目的で使われており、PopProxyAService.cfg ファイルでは POP 関連イベントのロギングパラメータを設定するために使われています。SmtpProxyAService.cfg, では、SMTP プロキシ関連イベントのロギングを指定するために使われています。
ただし、AService.cfg ファイルの LogDir パラメータと LogLevel パラメータは、POP、IMAP、または SMTP サービスの起動に失敗した場合など、MMP に関する全般的な問題を記録するために使用されています。
MMP を設定またはアップグレードした場合、設定テンプレートファイルは上書きされます。
Messaging Multiplexor のインスタンスを起動、停止、更新するには、次の表 7–2 に示すコマンドのうちの 1 つを使用します。これらのコマンドは msg_svr_base/sbin ディレクトリにあります。
表 7–2 MMP コマンド
オプション |
説明 |
---|---|
start-msg mmp |
これは、別のインスタンスが起動されている場合でも可能です。 |
stop-msg mmp |
最後に起動した MMP を停止します。 |
refresh mmp |
実行中の MMP が、アクティブな接続を中断せずに設定情報を更新するようにします。 |
既存の MMP インスタンスを変更するには、必要に応じて、ImapProxyAService.cfg または PopProxyAService.cfg、あるいはその両方の設定ファイルを編集します。これらの設定ファイルは、msg_svr_base/config サブディレクトリにあります。
SSL を使用するように MMP を構成するには、次の手順に従います。
ここでは、メッセージストアまたは MTA を持たないマシンに MMP をインストールすることを前提としています。
管理サーバーがインストールされている場合は、管理コンソールを使用して SSL サーバー証明書をインストールします。それ以外の場合は、NSS ツールを使用します。「ネットワークセキュリティーサービスツール」を参照してください。
「iPlanet Console 5.0 を使用した Managing Servers の管理」を参照してください。
管理サーバーがインストールされている場合は、操作を簡略化するために、コマンド行で次のシンボリックリンクを作成します。
cd msg_svr_base/config ln -s /var/mps/serverroot/alias/admin-serv-instance-cert7.db cert7.db ln -s /var/mps/serverroot/alias/admin-serv-instance-key3.db key3.db |
さらに、これらのファイルが、MMP を実行するシステム ID に属していることを確認します。Messaging Server の現在のバージョンは、新しい証明書データベース形式 (cert8.db) をサポートしています。
sslpassword.conf ファイルは Messaging Server の初期実行時設定で設定されているので、新しく設定する必要はありません。「Messaging Server の初期実行時設定を作成する」を参照してください。
手順 1 〜 8 を実行する代わりに、既存の Messaging Server または Directory Server の cert7.db、key3.db、secmod.db、および sslpassword.conf の各ファイルをコピーする方法もあります。コピー元のサーバーには、同じドメインに対する適切なサーバー証明書とキーがあらかじめインストールされている必要があります。
ImapProxyAService.cfg ファイルを編集して、関連のある SSL 設定のコメント記号を削除します。
SSL と POP を使用する場合は、PopProxyAService.cfg ファイルを編集して、関連のある SSL 設定のコメント記号を削除します。
さらに、AService.cfg ファイルを編集して、ServiceList 設定の「110」のあとに「|995」を追加します。
ImapProxyAService.cfg ファイルと PopProxyAService.cfg ファイルに、BindDN オプションと BindPass オプションが設定されていることを確認します。
さらに、DefaultDomain オプションには、デフォルトドメイン (資格のないユーザー名で使用するドメイン) を設定する必要があります。
サーバー側のみで SSL を使用する場合は、これで作業は完了です。msg_svr_base/sbin ディレクトリで次のコマンドを使用して MMP を起動します。
start-msg mmp
クライアント証明書を使用したログインを行う場合は、次の手順に従います。
クライアント証明書とそれに署名した CA 証明書のコピーを入手します。
以前と同じように、MMP をインストールしたマシン上で Sun ONE Console を起動します。ただし、この時に信頼できる認証局として CA 証明書をインポートします。
Messaging Server のインストール時に作成したストア管理者 (Store Administrator) を使用します。
詳細は、「ストアへの管理者によるアクセスを指定する」を参照してください。
MMP の certmap.conf ファイルを作成します。例:
certmap default default default:DNComps default:FilterComps e=mail |
これは、LDAP サーバーの mail 属性を調べて、証明書 DN の e フィールドと一致するものを検索することを意味します。
ImapProxyAService.cfg ファイルを編集し、次の設定を行います。
CertMapFile には、certmap.conf を設定します。
StoreAdmin と StorePass には、手順 3 の値を設定します。
UserGroupDN には、ユーザー/グループツリーのルートを設定します。
POP3 によるクライアント証明書を必要とする場合は、PopProxyAService.cfg ファイルに対して、手順 5 の操作を繰り返します。
MMP がまだ実行されていない場合は、msg_svr_base/sbin ディレクトリで次のコマンドを使用して MMP を起動します。
start-msg mmp
クライアント証明書をクライアントにインポートします。NetscapeTM Communicator では、鍵 (セキュリティー) のアイコンをクリックし、「証明書」の「本人」を選択し、次に、「証明書のインポート...」を選択して画面の指示に従います。
すべてのログインでクライアント証明書を使用する場合は、すべてのユーザーがこの手順を実行する必要があります。
Siroe Corporation という会社には Messaging Multiplexor をインストールしたマシンが 2 台あり、どちらのマシンも複数の Messaging Server をサポートしているという例を想定します。POP および IMAP のユーザーメールボックスは複数の Messaging Server マシンに振り分けられており、それぞれのサーバーは POP 専用または IMAP 専用となっています (クライアントアクセスを POP サービスだけに限定するには、ServiceList から ImapProxyAService エントリを削除。同様に IMAP サービスだけに限定するには、ServiceList から PopProxyAService エントリを削除)。どちらの Messaging Multiplexor も POP だけ、または IMAP だけしかサポートしません。LDAP ディレクトリサービスは、別の専用マシンに置かれています。
このトポロジを、図 7–2 に示します。
図 7–2 の IMAP Messaging Multiplexor は、2 個のプロセッサを持つ sandpit というマシンにインストールされています。この Messaging Multiplexor は、IMAP 接続の標準ポート (143) を待機しています。Messaging Multiplexor はユーザーメールボックスの情報を扱うホスト phonebook の LDAP サーバーと通信し、適切な IMAP サーバーに接続をルーティングします。この Multiplexor は、IMAP の capability 文字列を無効にし、仮想ドメインファイルを提供し、SSL 通信をサポートします。
この例の ImapProxyAService.cfg 設定ファイルの内容は、次のとおりです。
default:LdapUrl ldap://phonebook.siroe.com/o=internet default:LogDir /opt/SUNWmsgsr/config/log default:LogLevel 5 default:BindDN "cn=Directory Manager" default:BindPass secret default:BacksidePort 143 default:Timeout 1800 default:Capability "IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS CHILDREN BINARY LANGUAGE XSENDER X-NETSCAPE XSERVERINFO" default:SearchFormat (uid=%s) default:SSLEnable yes default:SSLPorts 993 default:SSLSecmodFile /opt/SUNWmsgsr/config/secmod.db default:SSLCertFile /opt/SUNWmsgsr/config/cert7.db default:SSLKeyFile /opt/SUNWmsgsr/config/key3.db default:SSLKeyPasswdFile "" default:SSLCipherSpecs all default:SSLCertNicknames Siroe.com Server-Cert default:SSLCacheDir /opt/SUNWmsgsr/config default:SSLBacksidePort 993 default:VirtualDomainFile /opt/SUNWmsgsr/config/vdmap.cfg default:VirtualDomainDelim @ default:ServerDownAlert "your IMAP server appears to be temporarily out of service" default:MailHostAttrs mailHost default:PreAuth no default:CRAMs no default:AuthCacheSize 10000 default:AuthCacheTTL 900 default:AuthService no default:AuthServiceTTL 0 default:BGMax 10000 default:BGPenalty 2 default:BGMaxBadness 60 default:BGDecay 900 default:BGLinear no default:BGExcluded /opt/SUNWmsgsr/config/bgexcl.cfg default:ConnLimits 0.0.0.0|0.0.0.0:20 default:LdapCacheSize 10000 default:LdapCacheTTL 900 default:HostedDomains yes default:DefaultDomain Siroe.com |
「トポロジの例」の POP Messaging Multiplexor は、4 個のプロセッサを持つ tarpit というマシンにインストールされています。この Messaging Multiplexor は POP 接続の標準ポート (110) を待機しています。Messaging Multiplexor はユーザーメールボックス情報を扱うホスト phonebook の LDAP サーバーと通信し、適切な POP サーバーに接続をルーティングします。さらに、この Multiplexor は、スプーフメッセージファイルも提供します。
この例の PopProxyAService.cfg 設定ファイルの内容は、次のとおりです。
default:LdapUrl ldap://phonebook.siroe.com/o=internet default:LogDir /opt/SUNWmsgsr/config/log default:LogLevel 5 default:BindDN "cn=Directory Manager" default:BindPass password default:BacksidePort 110 default:Timeout 1800 default:SearchFormat (uid=%s) default:SSLEnable no default:VirtualDomainFile /opt/SUNWmsgsr/config/vdmap.cfg default:VirtualDomainDelim @ default:MailHostAttrs mailHost default:PreAuth no default:CRAMs no default:AuthCacheSize 10000 default:AuthCacheTTL 900 default:AuthService no default:AuthServiceTTL 0 default:BGMax 10000 default:BGPenalty 2 default:BGMaxBadness 60 default:BGDecay 900 default:BGLinear no default:BGExcluded /opt/SUNWmsgsr/config/bgexcl.cfg default:ConnLimits 0.0.0.0|0.0.0.0:20 default:LdapCacheSize 10000 default:LdapCacheTTL 900 default:HostedDomains yes default:DefaultDomain Siroe.com |
この節では、その他の MMP 設定タスクについて説明します。次のようなタスクがあります。
MMP は自動的には設定されないので、明示的に設定する必要があります。また、MMP では PORT_ACCESS マッピングテーブルは使用されません。MMP を使用している場合、特定の IP アドレスからの SMTP 接続を拒否するには、TCPAccess オプションを使用する必要があります。このオプションの構文は mailDomainAllowedServiceAccess と同じです (『Sun Java System Communications Services 6 2005Q4 Schema Reference』を参照)。また、「フィルタの構文」でも説明されています。
複数の LDAP サーバーを MMP として指定することができます。これによって、1 つのサーバーに障害が発生しても別のサーバーが処理を引き継げるようになります。PopProxyAservice.cfg または IMAPProxyAservice.cfg を次のように修正します。
default:LdapUrl "ldap://ldap01.yourdomain ldap02.yourdomain/o=INTERNET"
Sun Java System Messenger Express Multiplexor は、HTTP アクセスサービスへの単一の接続ポイントとして機能する特別なサーバーです。Messenger Express は、Sun Java System Messaging Server HTTP サービスに対するクライアントインタフェースです。すべてのユーザーがこのメッセージングプロキシサーバーに接続し、ここで該当するメールボックスに転送されます。このため、メールユーザーには複数の Messaging Server が単一のホストであるかのように表示されます。
Messaging Multiplexor (MMP) は POP および IMAP サーバーに接続しますが、Messenger Express Multiplexor は HTTP サーバーに接続します。つまり、Messenger Express Multiplexor と Messenger Express との関係は、MMP と POP や IMAP との関係と同じです。
MMP と同様に、Messenger Express Multiplexor でも次の機能をサポートします。
メールクライアントとの非暗号化通信および暗号化 (SSL) 通信
SSL の設定に関する詳細は、第 19 章「セキュリティーとアクセス制御を設定する」の「セキュリティーとアクセス制御」を参照してください。
MMP とは異なり、Messenger Express Multiplexor は mshttpd サービスに組み込まれているため、ロギングと設定には同じ機能が使用されます。
Messenger Express Multiplexor はマルチプレクサとして機能するプロキシメッセージングサーバーで構成されており、ユーザーが Messaging Server (Messenger Express) の HTTP サービスに接続できるようにします。Messenger Express Multiplexor を使用すると、複数のサーバーマシンにメールボックスを分散できるようになります。クライアントは Messenger Express にログオンすると Multiplexor に接続します。Multiplexor はユーザーの正しいサーバーを判断し、そのサーバーに接続し、クライアントとサーバーとの間でデータの受け渡しを行います。この機能を使用すると、大規模なインストール環境では、処理能力を上げるためにメッセージストアを複数のマシンに分散しても、ユーザーおよび外部クライアントに対しては単一のメールホストであるかのように機能するので、ユーザーの効率を向上させ、外部クライアントに対するセキュリティーを強化することができます。「Messenger Express Multiplexor のしくみ」に、Messaging Server での Messenger Express Multiplexor の位置を示します。
Messenger Express Multiplexor は、Messenger Express クライアントと Messaging Server の間に入り、両者の接続を許可して正しくルーティングします。ほかのメールサーバーをインストールした場合と同様、各ユーザーは特定の Messaging Server 上の特定のアドレスとメールボックスに割り当てられます。ただし、HTTP 接続はすべて Messenger Express Multiplexor を経由します。
ユーザーのクライアントが Messenger Express Multiplexor に接続し、予備的な認証情報が受け入れられます。
Messenger Express Multiplexor は Directory Server に照会して、そのユーザーのメールボックスがある Messaging Server を判断します。
Messenger Express Multiplexor は関連する Messaging Server に接続し、再度認証を行い、接続中は中継パイプとして動作します。
ここでは、Messenger Express Multiplexor の設定手順について説明します。次の項目があります。
まず、Messenger Express Multiplexor になるプロキシマシンに Messaging Server をインストールします。インストール手順については、『Sun Java Enterprise System 2005Q4 Installation Guide for UNIX』を参照してください。
Messaging Server は、バックエンドメッセージングサーバーを指す Users and Groups Directory Server に構成してください。このディレクトリサーバーは、Messenger Express Multiplexor を介して、Messeging Server でユーザーを認証するために使用します。
プロキシマシンに Messaging Server をインストールしたら、Messenger Express Multiplexor パラメータを設定します。
必要なバックエンドメッセージングサーバーの情報を集めます。
バックエンドメッセージングサーバーのディレクトリで configutil コマンドを実行し、パラメータの値を設定します。パラメータの値については、この節の後半で説明します。設定を正常に行うには、プロキシマシンとバックエンドメッセージングサーバーの設定を同じにする必要があります。Multiplexor はプロキシマシンで有効にします。
Messenger Express Multiplexor の設定パラメータを設定します。
設定値を指定するには、プロキシマシンの Messaging Server の msg_svr_base/sbin/configutil ディレクトリで configutil コマンドを実行します。設定値がバックエンドメッセージングサーバーの値と同じであることを確認します。
次の節では、Messenger Express Multiplexor の設定に必要な configutil パラメータについて説明します。
Messenger Express Multiplexor を有効にする前に、Directory Server パラメータを正しく指定する必要があります。LDAP パラメータを指定するには、適切なバックエンドメッセージングサーバーのインスタンスディレクトリで次のコマンドを実行します。
configutil -o local.ugldaphost
バックエンドメッセージングサーバーが使用する、ユーザーおよびグループの LDAP Directory Server を表すパラメータです。ldaphost には、バックエンドメッセージングサーバーが使用するものと同じ値、または同じデータを含むレプリケートされた LDAP サーバーを指定します。
configutil -o local.ugldapbinddn および configutil -o local.ugldapbindcred
Users and Groups Directory Server 管理者の DN とパスワードを表すパラメータです。ldapbinddn も ldapbindcred も、バックエンドメッセージングサーバーの指定と同じである必要があります。
dcroot が正しく指定されていることを確認する必要があります。dcroot を指定するには、適切な Messaging Server インスタンスディレクトリで次のコマンドを実行します。
Messaging Server のデフォルトドメイン (defaultdomain) が正しく指定されていることを確認する必要があります。Messaging Server のデフォルトドメインを指定するには、適切な Messaging Server インスタンスディレクトリで次の configutil コマンドを実行します。
configutil -o service.defaultdomain
ログイン区切り (loginseparator) は、バックエンドメッセージングサーバーで使用するものと同じにします。Messaging Server のログイン区切りを指定するには、適切なバックエンドメッセージングサーバーのインスタンスディレクトリで次の configutil コマンドを実行します。
configutil -o service.loginseparator
設定パラメータを指定したら、プロキシマシンの Messenger Express Multiplexor を有効にすることができます。プロキシマシンの Messaging Server インスタンスにある msg_svr_base/sbin/configutil ディレクトリで、次の configutil コマンドを実行します。
configutil -o local.service.http.proxy -v 1
1 を指定すると Messenger Express Multiplexor が有効になります。デフォルトは 0 です。
非ローカルユーザー (ログインしたサーバーにメールホストがないユーザー) がログインした場合、local.service.http.proxy の値が 0 であれば、このユーザーは自分のホストに転送されます。ユーザーは、ホスト名が変更されたことがわかります。したがって、Multiplexor は有効になっていません。
local.service.http.proxy の値が 1 の場合は、Multiplexor が有効になり、ホスト名は変更されず、非ローカルメールユーザーからは Messaging Server 全体が 1 台のホストであるかのように見えます。
ローカルユーザー (ログインしたサーバーがメールホストであるユーザー) の場合は、local.service.http.proxy のパラメータ値とは無関係にサーバーのローカルメッセージストアが使用されます。同じ Messaging Server 上でプロキシユーザーとローカルユーザーを共存させることもできます。
ここでは、Messenger Express Multiplexor の設定をテストし、ログファイルのメッセージを検索する方法を説明します。Messenger Express Multiplexor が設定され、有効になっていることを前提にしています。
インストール状態をテストするには、Messenger Express 製品についての知識が必要です。また、テストアカウントを作成しておく必要があります。
Messenger Express Multiplexor プロキシをテストするには、次の手順に従います。
ブラウザに次のように入力して、Messenger Express Multiplexor を介して Messenger Express に接続します。
http://msgserver_name
例:
http://budgie.sesta.com
作成済みのテストアカウントを使用して、Messenger Express にログインします。
正しくログインし、バックエンドメッセージングサーバーのメッセージにアクセスできる必要があります。
Messenger Express を介してログインすると Messaging Server 名が変更される場合は、local.service.http.proxy が 1 に設定されており、メッセージングプロキシサーバーが再起動されているかどうかを確認してください。Messenger Express Multiplexor が有効であれば、ユーザーからは 1 台のメールホストであるかのように見えます。
ユーザー ID とパスワードを入力し「接続」をクリックするとエラーメッセージが表示される場合は、プロキシマシンの HTTP ログファイルを確認してください。エラーメッセージを表示するには、msg_svr_base/log ディレクトリに移動します。多くの場合、エラーメッセージには問題を解決するための情報が含まれています。問題を解決するための十分な情報が含まれていない場合は、カスタマサポートに連絡してください。
ここでは、Messenger Express Multiplexor の基本的な管理機能について説明します。
Messenger Express Multiplexor の SSL (Secure Sockets Layer) の設定と管理については、「SSL を有効化し暗号化方式を選択するには」を参照してください。
単一の名前でアドレス指定される複数の Messenger Express Multiplexor を設定する場合は、セッション対応の負荷分散デバイスを使用できます。このデバイスにより、任意のクライアントからのすべての要求を特定のサーバーにルーティングできます。
Messenger Express Multiplexor とバックエンドメールホストで、異なるバージョンの Messaging Server を使う場合は、Messenger Express のスタティックファイルを更新してサーバーの互換性を確保する必要があります。
Messenger Express インタフェースを構成するスタティックファイルは、ユーザーのメールホストではなく Messenger Express Multiplexor から直接提供されます。Multiplexor が msg_svr_base/config/html ディレクトリにあるこれらの設定ファイルを見つけます。
サーバーの互換性を確保するためにファイルを更新するには、新しいバージョンの Messaging Server にある msg_svr_base/config/html ディレクトリの内容 (Messenger Express インタフェースを構成するスタティックファイルが含まれる) を、古いバージョンの Messaging Server にある同じディレクトリの内容にすべて置き換えます。
たとえば、バックエンドメッセージングサーバーで Messaging Server 6 2003Q4 を使用し、Messenger Express Multiplexor には Messaging Server 6 2005Q4 をインストールしている場合は、Messenger Express Multiplexor の msg_svr_base/config/html ディレクトリの内容を、Messaging Server 6 2003Q4 を使用するバックエンドサーバーの同じディレクトリの内容にすべて置き換える必要があります。最終的に、Messaging Server 6 2003Q4 から Messaging Server 6 2005Q4 にアップグレードするときに、Messenger Express Multiplexor サーバーの msg_svr_base/config/html ディレクトリにあるスタティックファイルも更新することができます。
Messenger Express Multiplexor を使用するバックエンド HTTP メッセージングサーバーのポートを設定する場合は、Multiplexor マシンで次の configutil コマンドを使用します。
local.service.http.proxy.port.hostname
hostname は、バックエンド HTTP メッセージングサーバーのホストです。
たとえば、バックエンドメッセージングサーバーのホスト名が sesta.com で、ポート番号が 8888 の場合、コマンドは次の形式になります。
configutil -o local.service.http.proxy.port.store.sesta.com -v 8888
独自のポートを持っているバックエンドメッセージストアを除き、local.service.HTTP.proxy.port はすべてのバックエンドメッセージストアに適用されます (local.service.proxy.admin と同じ)。
シングルサインオンは、Messenger Express Multiplexor マシンで設定します。Messaging (HTTP) Server と同様に、次の追加設定が必要です。
configutil -o local.service.http.proxy.admin -v store_administrator
store_administrator は、バックエンドメッセージングサーバーのインストール中に指定したバックエンドストアの管理者です。
configutil -o local.service.http.proxy.adminpass -v store_admin_password
store_admin_password は、バックエンドメッセージングサーバーのインストール中に指定したバックエンドストア管理者のパスワードです。
異なるストア管理者とパスワードを使用する複数のバックエンドメッセージングサーバーを使用している場合は、次のように Messenger Express Multiplexor の各設定変数に完全修飾ホスト名を追加して、それらを個別に設定できます。
configutil -o local.service.http.proxy.admin.hostname -v store_administrator
configutil -o local.service.http.proxy.adminpass.hostname -v store_admin_password
hostname は、バックエンド HTTP メッセージングサーバーのホストです。store_administrator および store_admin_password は、バックエンド HTTP メッセージングサーバーのインストール中に指定したバックエンドストア管理者およびパスワードです。
ユーザーをバックエンドサーバーにログインさせるために、Messenger Express Multiplexor で proxyauth ログインコマンドを使用します。proxyauth を有効にするには、バックエンドメッセージストアで次の configutil パラメータを使用します。
configutil -o service.http.allowadminproxy -v 1
シングルサインオンが Messenger Express Multiplexor を通じて有効化されている場合は、バックエンド HTTP メッセージングサーバーで設定する必要はありません。