16.3. メール転送エージェント (MTA)

Red Hat Enterprise Linux には、Postfix と Sendmail の 2 つの主要な MTA が装備されています。Postfix はデフォルトの MTA として設定されていますが、デフォルトの MTA を Sendmail に切り替えることは簡単です。デフォルトの MTA を Sendmail に変更するには、Postfix をアンインストールするか、次のコマンドを使って Sendmail に切り替えます:
~]# alternatives --config mta
次のコマンドを使って、希望のサービスを有効/無効にすることもできます:
~]# chkconfig <service> <on/off>

16.3.1. Postfix

当初、IBM のセキュリティエキスパート/プログラマーの Wietse Venema 氏によって開発された Postfix は、Sendmail 互換の MTA で、セキュア、高速、かつ容易に設定できるように設計されています。
セキュリティを向上するために、Postfix ではモジューラ型設計を採用しており、権限が制限された小さなプロセスは、マスター デーモンにより起動されます。より小さく、権限の低いプロセスは、メール配信の様々な段階に関連する非常に特殊なタスクを実行して、ルートディレクトリが変更された環境で稼働し、攻撃の影響を抑えます。
Postfix がローカルコンピュータ以外のホストからのネットワーク接続を受け入れるよう設定するには、設定ファイルを多少変更するだけで可能です。さらに、より複雑なニーズのために、Postfix は様々な設定オプションだけでなくサードパーティのアドオンも提供するため、多用途でフル機能の MTA となっています。
Postfix の設定ファイルは人間に可読で、250 以上の指示文に対応しています。Sendmail とは異なり、変更を反映するためにマクロ処理は必要なく、また最も一般的に使用されるオプションの大部分は、多数のコメントが付いたファイルで説明されています。

16.3.1.1. Postfix のデフォルトインストール

Postfix 実行可能ファイルは /usr/sbin/postfix です。このデーモンは、メール配信の処理に必要なすべての関連プロセスを起動します。
Postfix は設定ファイルを /etc/postfix/ ディレクトリに格納します。以下は、一般的に使用されるその他のファイルの一覧です:
  • access — アクセス制御に使用します。このファイルは、Postfix に接続可能なホストを指定します。
  • main.cf — Postfix のグローバル設定ファイルです。このファイルには、設定オプションの大部分が指定されています。
  • master.cf — メール配信を達成するために、Postfix が様々なプロセスとやりとりを行う方法を指定します。
  • transport — 電子メールアドレスをリレーホストにマッピングします。
aliases ファイルは /etc/ ディレクトリにあります。このファイルは Postfix と Sendmail 間で共有されます。ユーザー ID エイリアスを記述するメールプロトコルが必要な設定可能な一覧です。

重要

デフォルトの /etc/postfix/main.cf ファイルでは、Postfix はローカルコンピュータ以外のホストからのネットワーク接続を受け入れないように設定されています。Postfix を他のクライアント用のサーバーとして設定する方法は 「Postfix の基本設定」 を参照してください。
/etc/postfix ディレクトリにある設定ファイルのオプションに変更を加えた後には、変更を反映させるために postfix サービスを再起動してください:
~]# service postfix restart

16.3.1.2. Postfix の基本設定

デフォルトでは、Postfix はローカルホスト以外のホストからのネットワーク接続を受け入れないように設定されています。ネットワーク上の他のホストを対象としたメール配信を有効にするには、root で以下の手順を実行します:
  • vi などのテキストエディタで /etc/postfix/main.cf ファイルを編集します。
  • mydomain 行のハッシュ記号 (#) を削除して、コメント解除してから、domain.tld の箇所を、メールサーバーがサービスを提供しているドメイン example.com などに置き換えます。
  • myorigin = $mydomain 行のコメントを解除します。
  • myhostname 行のコメントを解除し、host.domain.tld をマシンのホスト名に置き換えます。
  • mydestination = $myhostname, localhost.$mydomain 行のコメントを解除します。
  • mynetworks 行のコメントを解除して、168.100.189.0/28 の箇所を、サーバーに接続可能なホスト用の有効なネットワーク設定に置き換えます。
  • inet_interfaces = all 行のコメントを解除します。
  • inet_interfaces = localhost をコメント化します。
  • postfix サービスを再起動します。
これらの手順が完了したら、ホストは配信のため外部の電子メールを受け入れるようになります。
Postfix には様々な設定オプションがあります。Postfix の設定方法を学習する最適な方法の 1 つは、/etc/postfix/main.cf 設定ファイルのコメントを読むことです。Postfix 設定、SpamAssassin 統合、/etc/postfix/main.cf パラメータの詳細などの補足情報は http://www.postfix.org/ でオンラインで参照できます。

16.3.1.3. LDAP での Postfix の使用

Postfix は LDAP ディレクトリを様々なルックアップテーブルのソースとして利用できます (例えば aliasesvirtualcanonical など)。これにより LDAP は階層的なユーザー情報を保存でき、Postfix は LDAP クエリの結果を必要な場合にのみ知らされます。この情報をローカルに保存しないことで、管理者は容易に管理を行うことができます。
16.3.1.3.1. /etc/aliases ルックアップのサンプル
以下は /etc/aliases ファイルをルックアップする LDAP を使用する基本的なサンプルです。/etc/postfix/main.cf に次の内容が含まれていることを確認してください:
alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf
/etc/postfix/ldap-aliases.cf ファイルがなければ作成します。以下の内容を含むようにしてください:
server_host = ldap.example.com
search_base = dc=example, dc=com
ldap.example.comexamplecom パラメータは、既存の利用可能な LDAP サーバーの仕様と置き換える必要があります。

注記

/etc/postfix/ldap-aliases.cf ファイルは、LDAP SSLSTARTTLS を有効にするパラメーターなど様々なパラメーターを指定することができます。詳細は ldap_table(5) の man ページを参照してください。
LDAP の詳細は 「OpenLDAP」 を参照してください。