Sun Java System Messaging Server 6 2005Q4 管理ガイド

Messaging Multiplexor について

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 は以下の機能をサポートします。

Messaging Multiplexor のしくみ

MMP は、メールユーザーを複数のサーバーマシンに分散させるマルチスレッドサーバーです。MMP は、ユーザーメールボックスがあるサーバーマシン宛の着信クライアント接続を処理します。クライアントは MMP に接続します。MMP はユーザーの正しいサーバーを判断し、そのサーバーに接続し、クライアントとサーバーとの間でデータの受け渡しを行います。この機能を使用すると、インターネットサービスプロバイダやその他の大規模なインストール環境では、処理能力を上げるためにメッセージストアを複数のマシンに分散しても、ユーザーおよび外部クライアントに対しては単一のメールホストであるかのように機能するので、ユーザーの効率を向上させ、外部クライアントに対するセキュリティーを強化することができます。「Messaging Multiplexor のしくみ」に、MMP を インストールした場合のサーバーとクライアントの関係を示します。

図 7–1 MMP をインストールした場合のクライアントとサーバー

この図は、MMP をインストールした場合のサーバーとクライアントの関係を示しています。

POP、IMAP、および SMTP クライアントはすべて、Messaging Multiplexor に接続して動作します。MMP は接続を許可し、LDAP ディレクトリ検索を行い、正しい接続先にルーティングします。ほかのメールサーバーをインストールした場合と同様、各ユーザーは特定の Messaging Server 上の特定のアドレスとメールボックスに割り当てられます。ただし、接続はすべて MMP を経由します。

詳しく説明すると、ユーザー接続は次の手順で確立されます。

  1. ユーザーのクライアントが MMP に接続し、予備的な認証情報 (ユーザー名) が受け入れられます。

  2. MMP は Directory Server に照会して、そのユーザーのメールボックスがある Messaging Server を判断します。

  3. MMP は適切な Messaging Server に接続し、再度認証を行い、接続中は中継パイプとして動作します。

暗号化 (SSL) オプション

Messaging Multiplexor は、Messaging Server とメールクライアント間の暗号化 (SSL) 通信および非暗号化通信をサポートしています。Messaging Server の現在のバージョンは、新しい証明書データベース形式 (cert8.db) をサポートしています。

SSL を有効にすると、MMP は STARTTLS をサポートします。また、SSL の IMAP、POP、および SMTP 接続で追加ポートを待機するように MMP を設定することもできます。

IMAP、POP、または SMTP サービスで SSL を有効にするには、ImapProxyAService.cfgPopProxyAService.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

ProcedureIMAP または POP サービスに対して証明書に基づく認証を有効にするには

手順
  1. ストア管理者のユーザー ID を決定します。

    メール管理者を使用することもできますが、ストア管理者用に一意のユーザー ID (mmpstore など) を作成することをお勧めします。

  2. SSL 暗号化が有効であることを確認します。「暗号化 (SSL) オプション」を参照してください。

  3. 設定ファイルで certmap.conf ファイルの場所を指定し、MMP が証明書に基づくクライアント認証を使用するように設定します。

  4. 信頼できる認証局の証明書を少なくとも 1 つインストールします。詳細は、「信頼できる CA の証明書をインストールするには」を参照してください。

ユーザーの事前認証

MMP には、着信ユーザーとしてディレクトリにバインドし、その結果をログに記録することによってユーザーを事前認証するオプションがあります。


注 –

ユーザーの事前認証を有効にすると、サーバーのパフォーマンスが低下します。


ログエントリの形式は、次のとおりです。


date time (sid 0xhex) user name pre-authenticated - client 
IP address, server IP address

dateyyyymmdd 形式、time はサーバーで設定された hhmmss 形式の時刻であり、hex は16 進数のセッション ID (sid) を表します。仮想ドメインがあれば user name に含まれており、IP アドレスはドットで 4 つに区切られた形式です。

MMP 仮想ドメイン

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.cfgPopProxyAService.cfg、または SmtpProxyAService.cfg の各ファイルを編集し、VirtualDomainFile 設定で仮想ドメインマッピングファイルへの絶対パスを指定します。

仮想ドメインファイルの各エントリには、次の構文を使用します。

vdmap name 
IPaddrname:parameter value

name は IP アドレスと設定パラメータを関連付けるためだけに使用するので任意の名前を使用できます。IPaddr はドットで 4 つに区切られた形式で、parametervalue のペアによって仮想ドメインを構成します。仮想ドメインの設定パラメータ値を設定すると、その値はグローバルな設定パラメータ値よりも優先されます。

仮想ドメインに指定できる設定パラメータは次のとおりです。


AuthCacheSize および AuthCacheSizeTTL
AuthService
BindDN および BindPass
CertMap
ClientLookup
CRAMs
DefaultDomain
DomainDelim
HostedDomains
LdapCacheSize および LdapCacheTTL
LdapURL
MailHostAttrs
PreAuth
ReplayFormat
RestrictPlainPasswords
StoreAdmin および StoreAdminPass
SearchFormat
TCPAccess
TCPAccessAttr

注 –

LdapURL が正しく設定されていない場合、BindDNBindPassLdapCacheSize、および LdapCacheTTL の設定は無視されます。


設定パラメータの詳細については、『Sun Java System Messaging Server 6 2005Q4 Administration Reference』を参照してください。

SMTP プロキシについて

MMP には SMTP プロキシが含まれていますが、デフォルトでは無効になっています。大半のサイトでは SMTP プロキシは必要ありません。インターネットメール規格には、SMTP の水平スケーラビリティー機能が十分に備わっているからです。

SMTP プロキシには有用なセキュリティー機能があります。まず、古いバージョンの POP クライアントの一部で必要な POP before SMTP 認証機能を実装するために、SMTP プロキシは POP プロキシに統合されています。詳細は、「POP before SMTP を有効にする」を参照してください。さらに、SMTP プロキシを使用すると、SSL アクセラレータハードウェアを最大限に活用できます。「SMTP プロキシを使用した SSL パフォーマンスの最適化方法」を参照してください。