Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
4.3.10.5. Postfix が SASL を使用する設定
Red Hat Enterprise Linux 7 版のPostfixは、SMTP 認証(またはSMTP AUTH) にDovecotまたはCyrus
SASL
実装を使用できます。SMTP 認証は、Simple Mail Transfer Protocol
のエクステンションです。有効にすると、SMTP
クライアントは、サーバーとクライアントの両方がサポートし、受け入れる認証方法を使用して、SMTP
サーバーを認証する必要があります。このセクションでは、Dovecot SASL
実装を利用するように Postfix を設定する方法について説明します。
Dovecot
POP
/IMAP
サーバーをインストールして、システムで Dovecot SASL
実装を使用できるようにするには、root
ユーザーとして次のコマンドを発行します。
~]# yum install dovecot
Postfix
SMTP
サーバーは、UNIX ドメインソケット または TCP ソケット のいずれかを使用して、Dovecot SASL
実装と通信できます。後者の方法は、Postfix と Dovecot のアプリケーションが別々のマシンで動作している場合のみ必要です。このガイドでは、プライバシーを強化する UNIX ドメインソケット方式を優先しています。
Postfix に Dovecot
SASL
実装を使用するように指示するには、両方のアプリケーションに対していくつかの設定変更を実行する必要があります。以下の手順に従ってください。
Dovecot のセットアップ
- メインの Dovecot 設定ファイル
/etc/dovecot/conf.d/10-master.conf
を変更して、次の行を含めます (デフォルトの設定ファイルには、関連するセクションのほとんどがすでに含まれているため、行のコメントを解除する必要があります)。service auth { unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } }
上記の例では、PostfixとDovecotの間の通信に UNIX ドメインのソケットを使用することを想定しています。また、/var/spool/postfix/
ディレクトリーにあるメールキュー、およびpostfix
ユーザーとグループの下で実行されているアプリケーションを含む PostfixSMTP
サーバーのデフォルト設定を想定しています。このように、読み取りと書き込みのパーミッションは、postfix
のユーザーとグループに制限されます。また、DovecotがTCP
経由でPostfixの認証要求をリッスンするように設定するには、以下のような設定を行います。service auth { inet_listener { port = 12345 } }
上記の例では、12345
を使用するポートの番号に置き換えます。 /etc/dovecot/conf.d/10-auth.conf
設定ファイルを編集して、PostfixSMTP
サーバーにplain
およびlogin
認証メカニズムを提供するように Dovecot に指示します。auth_mechanisms = plain login
Postfix のセットアップ
Postfix の場合、メインの設定ファイル
/etc/postfix/main.cf
のみを変更する必要があります。以下の設定ディレクティブを設定できます。
- Postfix
SMTP
サーバーで SMTP 認証を有効にします。smtpd_sasl_auth_enable = yes
- SMTP 認証に Dovecot
SASL
実装を使用するように Postfix に指示します。smtpd_sasl_type = dovecot
- Postfix キューディレクトリーに相対的な認証パスを提供します (相対パスを使用すると、Postfix サーバーが chroot で実行されているかどうかに関係なく設定が機能することが保証されます)。
smtpd_sasl_path = private/auth
この手順では、PostfixとDovecotの間の通信に UNIX ドメインのソケットを使用することを想定しています。通信にTCP
ソケットを使用する場合に、別のマシンで Dovecot を探すように Postfix を設定するには、次のような設定値を使用します。smtpd_sasl_path = inet:127.0.0.1:12345
上記の例では、127.0.0.1
をDovecotマシンのIP
アドレスに、12345
をDovecotの設定ファイル/etc/dovecot/conf.d/10-master.conf
で指定したポートに置き換える必要があります。 - Postfix
SMTP
サーバーがクライアントに提供するSASL
メカニズムを指定します。暗号化されたセッションと暗号化されていないセッションで、異なるメカニズムを指定できることに注意してください。smtpd_sasl_security_options = noanonymous, noplaintext smtpd_sasl_tls_security_options = noanonymous
上記の例では、暗号化されていないセッションの間、匿名認証は許可されず、暗号化されていないユーザー名やパスワードを送信するメカニズムも許可されないことを指定しています。暗号化セッション (TLS を
使用) の場合、非匿名認証メカニズムのみが許可されます。許可されるSASL
メカニズムを制限するためにサポートされているすべてのポリシーのリストは、http://www.postfix.org/SASL_README.html#smtpd_sasl_security_optionsを参照してください。
関連情報
以下のオンラインリソースでは、
SASL
によるPostfix SMTP 認証の設定に役立つ情報を提供しています。
- http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL — SMTP 認証にDovecot
SASL
実装を使用するようにPostfixを設定する方法についての情報が含まれています。 - http://www.postfix.org/SASL_README.html#server_sasl — DovecotまたはCyrus
SASL
実装を SMTP 認証に使用するためのPostfixの設定方法について説明しています。