次はSMTP接続に関する設定について解説する。
Exchange Server 2007をOutlook 2007/2003から利用する場合、一般的には「Exchange Server(MAPI/MS-RPC)」という名前のプロトコルで接続し、利用する(Outlookのアカウント情報ダイアログで「Exchange Server」という名称のプロトコルを選択する)。だが一般的なメール・クライアントでは、POP3やIMAP4、SMTPといった従来からのプロトコルを利用していることが多いだろう。ここでは、Exchange Server 2007でメール・クライアント向けにSMTPプロトコルを有効にする方法について解説する。
Exchange Server 2007でもインターネットとのメールのやりとりでは、すでにSMTPを利用している。前回の「3.外部ドメイン向けの送信コネクタの作成」では、インターネット向けのデフォルト・ルーティング情報を設定したが、これによってインターネット向けに送信されるメールは、SMTPによって外部のメール・サーバ(SMTPサーバ)へと中継される。SMTPはインターネットのメール・サーバ間での配信に使われる一般的なプロトコルだからだ。
これとは逆に、インターネットから受信するメール(相手のサーバから見ると、Exchange Server 2007に対して送信するメール)もやはりSMTPを利用するのだが、今回の連載で扱っているようなインストール形態のExchange Server 2007では、実はそのままではSMTPメールを受信することができない。デフォルトではSMTPの受信に対して、認証が要求されるようになっているからだ。
インターネットのメール・サーバではSMTPプロトコルでメールをお互いにやりとりしているが、この場合には認証や暗号化機能は利用されていない。不特定多数の相手(メール・サーバ)からメールを受信しなければならないため、メール・サーバはユーザー認証なしで運用されているからだ。だがこれではメール・サーバがクラックされたり、スパム・メール送信の踏み台にされたりする可能性があるので、現在では何らかのセキュリティ対策が行われるのが普通である。例えばイントラネットやISPなどでは、あらかじめ登録された特定のユーザーしか送信できないような認証メカニズムの導入や、インターネットからのメールは自ドメインあて(自分の管理しているドメインあて)のものしか受信しない(ほかのドメインあてのメールは受信を拒否する。こうしないとスパムの踏み台サーバとして利用されてしまう)といった対策が行われている。
Exchange Server 2007ではセキュリティを確保するため、インターネットや外部の組織とメールをやりとりする機能は、セキュリティ対策が施された「エッジ・トランスポート・サーバ」が担当することになっている(第1回の「1.はじめに」参照)。それ以外のサーバ間通信や、クライアントとのやりとりなどはすべて暗号化されたプロトコルを使うのがデフォルトとなっている。暗号化されないSMTP通信(TCP 25番ポートへの匿名接続)は利用できないということだ。
本連載では、エッジ・トランスポート・サーバ以外の機能を1台のシステム上に載せて簡単にメール・サーバとして利用する例を紹介しているが(エッジ・トランスポート・サーバ機能は単独でしかインストールできない)、この状態では、認証なしのSMTPは利用できないので、インターネットからのメールを直接受信することができなくなっている。だがこれでは不便なので、インターネットからの自ドメインあてのメールの(匿名SMTP接続による)受信を許可するように設定を変更してみよう。
Exchange Server 2007でメールの受信を担当する機能は「受信コネクタ」という。現在定義されている受信コネクタは、Exchange管理コンソールの[サーバーの構成]−[ハブ トランスポート]で確認できる。
デフォルトでは2つの受信コネクタが定義されているが、「Client 〜」はクライアント接続用(クライアント・コンピュータがメールを送信するために利用する。ポート587番)、「Default 〜」はデフォルトのSMTP接続用(ほかのサーバからのメールの受信用。ポート25番)である。
この2つは使用するポート番号が異なっている。(TCPの)25番の方はよく使われるSMTPのポート番号であるが、587番の方は「サブミッション・ポート」などと呼ばれる、セキュリティ対応されたSMTPポートである(セキュリティなしで運用されることもある)。これらのポートの詳細については、関連記事を参照していただきたいが、簡単にポート番号をまとめておくと、次のようになっている。
暗号化なし | 暗号化あり | |||
プロトコル名 | ポート番号 | プロトコル名 | ポート番号 | |
POP3 | 110 | POP3s | 995 | |
IMAP4 | 143 | IMAP4s | 993 | |
SMTP | 25/587 | SMTPs | −(Exchangeではサポートなし) | |
Exchange Server 2007で使用されるデフォルトのTCPポート番号 STARTTLS対応の場合は、原則としてPOP3/IMAP4/SMTPと同じポート番号が利用できる。ただし実際にはPOP3s/IMAP4s/SMTPsのポート番号に変更しなければならない場合もある。またポート587でもSMTPsが利用できるメール・サーバも多い。Exchange Server 2007ではいずれの左側のポート番号であっても暗号化は独立して設定できる。ただし右下のSMTPs(一般的には465番が使用される)は、デフォルトではサポートされていない。 |
Exchange Server 2007では、SMTPポート(25番ポート)はデフォルトでは匿名アクセス(ユーザー認証なしの利用)が不可能になっている。これを変更するには、先ほどの受信コネクタのプロパティ画面で「Default 〜」を選択してプロパティ画面を開き、匿名アクセスを許可するように設定を変更する。
「匿名ユーザー」に対する接続を許可すると、認証なしでSMTPポート(この受信コネクタならTCPの25番)へ接続し、メールを送信できるようになる(デフォルトではオフになっている)。
ただしこれを許可すると、外部からのメールを無制限に受け付けてしまうため、注意が必要である。実際には、本当にインターネットに直接公開するのではなく、必要ならば間にファイアウォールやスパム/ウイルス・メールなどを除外するコンテンツ・フィルタなどを一段入れるなどの対策も併用するとよいだろう(Exchange Server 2007とともに利用するForefront Securityサーバなどについては今後取り上げる)。なお、このチェック・ボックスをオンにしても、どんなメールでも受け付けるというわけではなく、自ドメインあてでないメール(つまり、ほかのドメインあてのメール)はリレー(中継)が拒否される(いわゆる「オープン・リレー」状態にはならない)。Exchange Server 2007の設定を変更すればこのようなリレーも許可できないことはないが、特別な理由がない限り、そのような運用をする必要はないだろう。もし自組織内に、中継したい特別なあて先ドメインがあるなら、Exchange管理コンソールの[組織の構成]−[ハブ トランスポート]にある[承認済みドメイン]で、新規の「承認済みドメイン」を追加定義すればよい。
以上のように設定すると、認証なしでSMTP送信した場合は承認済みドメイン(今回の例ではexample.co.jpドメイン)のユーザーにのみメールが送信できる。認証付きでSMTP送信すると、前回の設定に従って、任意の外部ドメインへメールを送信できる。受信コネクタのプロパティ画面ではこれ以外にも細かくセキュリティ設定が可能なので(次の画面参照)、接続するクライアントのIPアドレスの制限なども行っておくとよいだろう。
以上、送受信のためのコネクタ設定について解説した。クライアント側でどのように設定するかについては、前出のTIPS記事などを参照していただきたい。
今回は、POP3やIMAP4、SMTPなどを利用する一般的なメール・クライアントからExchange Server 2007を利用するためのExchange Server 2007の設定方法について解説した。次回は、PowerShellを使ったExchange Server 2007の管理方法について解説する。
Copyright© Digital Advantage Corp. All Rights Reserved.