23.SMTPゲートウェイを作ってみよう

SMTPゲートウェイは、他のメールサーバ(SMTPサーバ)と中継するための設定である。
たとえば、大量の接続が予想されるとき、負荷分散を目的として、インターネット上に複数のMXレコードに指定するSMTPサーバーとして設置したり、インターネットと社内システムとの間で、DMZを介して内部のメールシステムとの接続を行いたい場合などに設定する。


DNSへのMXレコードの設定例

公開する複数SMTPをMXレコードに設定し、DNSサーバの設定をたとえば次のように変更する。

db.zoneinfo(BINDによるDNS)の設定例
-----------------------------------------------------
test-sample.jp. IN MX 5 mx1.test-sample.jp.
test-sample.jp. IN MX 5 mx2.test-sample.jp.
-----------------------------------------------------

最近では、既存のメールサーバーは置き換えずに、「アンチウイルス用ゲートウェイ」、「スパムメールフィルタゲートウェイ」などとして、別立てで追加設置する傾向が強い。
SMTPゲートウェイの設定に加え、アンチウイルス機能やスパムフィルタ機能などの各機能を有効に設定すれば、そのまま「アンチウイルス用ゲートウェイ」「スパムメールフィルタゲートウェイ」といった用途に応用できるようになる。

SMTPゲートウェイの設定手順

SMTPゲートウェイを設定するには、以下の手順のように、既存SMTP側の設定、SMTPゲートウェイ側の設定をそれぞれ行う。SMTPゲートウェイにするE-Post SMTP Server / E-Post Mail Serverの設定例としてA,Bの2パターンを示す。

事前の準備 [既存SMTP側の設定]

既存SMTP側(LAN側にあるメールサーバー)の設定については、外部からの受信は、新しくSMTPゲートウェイとするマシンからのみ受信を受け入れるように設定する。既存SMTP(既存メールサーバー)の設定方法については、それぞれの説明書やドキュメント類に従って設定してほしい。

[SMTPゲートウェイ側](E-Post SMTP / Mail Server)設定例A

「E-Post SMTP Server」または「E-Post Mail Server」を起動し、以下の手順にて設定を行う。

  1. E-Post Mail Control [サーバー設定]タブ
    SMTPゲートウェイの構成によって、次の a b の設定を行う。

    ●a. すべてのメールを特定のSMTPにフォワードする場合:「SMTPゲートウェイ」欄に IPアドレスかFQDN を入力する。
    (※ただしこの場合は、特定のドメインだけ内側のメールサーバに送る処理はできなくなる。アウトバウンドだけを通すような構成か、あるいは、内側にメールサーバがなく、既存のSMTPゲートウェイとクライアントの間にSMTPゲートウェイを追加するような構成のときに有効だ。)

    ●b. 特定のドメイン(例. test-sample.jp)だけ、内側のメールサーバ(例. 192.168.0.103)に送り、その他はDNSのMXレコードを参照して送信する場合:「SMTPゲートウェイ」欄を 空白 にして、「テーブル編集」ボタンをクリック、"gateway.dat"ファイル編集画面で以下の例のように入力する。
     test-sample.jp,192.168.0.103,25 
    (※この場合は、特定のドメインだけ内側のメールサーバに送り、その他はDNSを参照して外に配信する、通常よくあるSMTPゲートウェイの構成となる。もちろんインバウンドもアウトバウンドも通す。)

    ●共通
    「全受信メールをSMTPゲートウェイへ転送」チェックボックスをオン。
    「メールボックスフォルダ」欄を C:\MAIL\INBOX\%USERNAME% に設定。

  2. E-Post Mail Control [ドメイン管理]タブ
    中継するドメインと同じドメイン名を設定しておく。
    運用中のドメイン一覧 -> 中継するドメイン(test-sample.jp)



  3. Accont Manager [アカウント設定]
    中継するアカウントを設定する。
      user1
      user2
      user3
    なお、アカウントデータファイル(拡張子.idx)を置く場所については、ローカルドライブのフォルダ以外に、ネットワーク共有ドライブのフォルダに指定することも可能だ。ただし、ネットワーク共有ドライブにデータファイルを置く場合は、サービスのログイン開始権限をLocalSystemでなく、Administratorに変更しておく必要がある。


  4. E-Post Mail Control [サービス制御]タブ
    SMTP認証方法」を PLAIN LOGIN CRAM-MD5 に設定。
    「セキュリティレベル」を 認証ファイル に設定。


  5. 上記の設定後、[適用]ボタンをクリックして設定を反映させ、EPSTRS、EPSTDSのみサービスを再起動。

[SMTPゲートウェイ側](E-Post SMTP / Mail Server)設定例B

設定例Aとは別に、こちらの設定方法は、エイリアス機能を使ってSMTPゲートウェイを構築する方法である。
メールサーバで使われる「エイリアス」とは、実際のメールアドレスに別名をつける機能のことだ。エイリアスの用途として考えられることは、次のようなことだろう。

  1. 対外的に公開するメールアドレスを役職や組織名で(infoやsales、supportなど)に決めておき、実際にはエイリアス機能でそれらの公開アドレスと実際のアカウントとを関連づけする。役職や組織名での公開アドレス宛のメールが担当者のメールアドレスに届くようにしておく。実際の担当者が交代しても、エイリアス設定を変えるだけなので、業務を円滑に継続させることが可能になる。

  2. 通常、メールアドレスとメールボックスが同じ名前の設定になっていると、悪意ある第三者によって、メールボックス名がメールアドレスから類推されやすい。たとえば、infoやwebmasterなどのアカウントはどのような組織でも持っている可能性があるので、「info@ドメイン名」「webmaster@ドメイン名」など外部から類推された実アドレスを語ることにより、設定次第では勝手に送信利用されるおそれもある。
    このようなとき、セキュリティの向上を目的として、エイリアスを使うことで、外部から送信利用される可能性を防ぐことができる。

  3. 外部公開しているドメイン名と、内部ネットワークで使用しているドメイン名が異なるケースで、内部ネットワークに送るために、MTA(SMTP)通過時点で、ドメイン名などの送信先に届くエンベロープ情報を意図的に変更したい場合に利用する。
エイリアス用途のうち、上記C.の具体的な活用事例としては、総合行政ネットワーク(LGWAN)での活用方法がある。
そもそも、行政組織(地方自治体)のメール送信には、インターネットの経路で使用される地域ドメイン(xxx.pref.xxx.jp)とは別に、LGドメイン(xxx.lg.jp)といった総合行政ネットワーク(LGWAN)専用のドメインが利用されている。
この環境でそのままメール送信を行うと、地域ドメイン(xxx.pref.xxx.jp)宛での送信が行われていたため、メール返信時に地域ドメイン(xxx.pref.xxx.jp)宛での送受信をそのまま行ってしまう事態が考えられた。
行政組織(地方自治体)のメール送信のときに、MTA(SMTP)側で自動的に地域ドメイン(xxx.pref.xxx.jp)宛をLGドメイン (xxx.lg.jp)宛に強制的に置換することによって、送信者が意識せずにLGWANを経由した配達を可能になるようエイリアス機能を応用した拡張オプション機能が用意されている。

さて、設定Bの具体的手順については、以下のように行う。

  1. E-Post Mail Control [サーバー設定]タブ
    SMTPゲートウェイの構成によって、次の a b の設定を行う。

    ●a. すべてのメールを特定のSMTPにフォワードする場合:「SMTPゲートウェイ」欄に IPアドレスかFQDN を入力する。
    (※ただしこの場合は、特定のドメインだけ内側のメールサーバに送る処理はできなくなる。アウトバウンドだけを通すような構成か、あるいは、内側にメールサーバがなく、既存のSMTPゲートウェイとクライアントの間にSMTPゲートウェイを追加するような構成のときに有効だ。)

    ●b. 特定のドメイン(例. test-sample.jp)だけ、内側のメールサーバ(例. 192.168.0.103)に送り、その他はDNSのMXレコードを参照して送信する場合:「SMTPゲートウェイ」欄を 空白 にして、「テーブル編集」ボタンをクリック、"gateway.dat"ファイル編集画面で以下の例のように入力する。
     test-sample.jp,192.168.0.103,25 
    (※この場合は、特定のドメインだけ内側のメールサーバに送り、その他はDNSを参照して外に配信する、通常よくあるSMTPゲートウェイの構成となる。もちろんインバウンドもアウトバウンドも通す。)

    ●共通
    「全受信メールをSMTPゲートウェイへ転送」チェックボックスをオン。
    「メールボックスフォルダ」欄を C:\MAIL\INBOX\%USERNAME% に設定。

  2. E-Post Mail Control [サーバー設定]タブ
    「運用中のドメイン一覧」欄を 空白 にしておく。内側のメールサーバに用意されているドメイン名と同じドメインを作らない。そのままにしておく。
    ただし、既に別のドメイン名が登録済みの場合は、そのまま別ドメインが運用されている状態でかまわない。



  3. E-Post Mail Control [エイリアス設定]タブ
    [エイリアス設定]タブ画面にて、エイリアスと関連づける実アドレスにワイルドカード"*"を使った中継指定を行う。具体的には次のような例だ。
       エイリアス: *@<domain.co.jp>
       実アドレス: *@<domain.co.jp>
    注) <domain.co.jp>は、既存メールサーバーが管理しているドメイン名。
    注) このようなワイルドカードを使った中継を行おうとすると、E-Post Mail Server・E-Post SMTP Serverシリーズ製品では、無制限ライセンスが必要になる状態となるため、要注意。対応方法は末尾のFAQを参照。

    なお、上記のようなワイルドカード指定を使った指定方法ではなく、存在する有効なアカウントを一つずつすべて登録していけば、よりセキュアな設定となる。

    ユーザー1 user1@<domain.co.jp> と
    ユーザー2 user2@<domain.co.jp> だけ通過させる例
     [設定1] エイリアス: user1@<domain.co.jp>
          実アドレス: user1@<domain.co.jp>
     [設定2] エイリアス: user2@<domain.co.jp>
          実アドレス: user2@<domain.co.jp>



  4. E-Post Mail Control [サービス制御]タブ
    SMTP認証方法」を PLAIN LOGIN CRAM-MD5 に設定。
    「セキュリティレベル」を 認証ファイル に設定。


  5. 上記の設定後、[適用]ボタンをクリックして設定を反映させ、EPSTRS、EPSTDSのみサービスを再起動。

  6. postmaster アカウントの受け入れ拒否の設定
    手順 3.での "*@<domain.co.jp>" 設定を行った場合、postmasterアカウントも受けいれてしまい、ORDBのチェックでNGとなってしまい、そのままでは望ましくない。
    それを防止するには、メールボックスフォルダ内に、"postmaster" というフォルダを作成し、その中にAPOP.DATファイルを作成しておく。
      例.) 作成ファイル C:\MAIL\INBOX\postmaster\apop.dat

    APOP.DATファイルは、メモ帳などで編集し、パスワードを1行14文字以内で羅列して記入し保存しておく。これによって、postmaster@<domain.co.jp>を送信元として送る場合は、SMTP認証を行わないと通過拒絶されるようになり、ORDBの不正中継テストをパスすることができるようになる。

《技術資料ドキュメント》
■技術資料 SMTPゲートウェイ基本設定と応用(PDF)

書籍『E-Post Mail Server完全ガイド』ご案内