9.3. Postfix が SASL を使用する設定
Postfix は Simple Authentication and Security Layer (SASL) ベースの SMTP 認証 (AUTH) をサポートしています。SMTP AUTH は Simple Mail Transfer Protocol の拡張です。現在、Postfix SMTP サーバーは次の方法で SASL 実装をサポートしています:
- Dovecot SASL
- Postfix SMTP サーバーは、UNIX ドメインソケットまたは TCP ソケットのいずれかを使用して、Dovecot SASL 実装と通信できます。Postfix と Dovecot アプリケーションが別のマシンで実行している場合は、この方法を使用します。
- Cyrus SASL
- 有効にすると、SMTP クライアントは、サーバーとクライアントの両方でサポートおよび受け入れられる認証方法を使用して、SMTP サーバーで認証する必要があります。
前提条件
-
dovecotパッケージがシステムにインストールされている
手順
Dovecot をセットアップします。
/etc/dovecot/conf.d/10-master.confファイルに次の行を含めます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例では、Postfix と Dovecot の間の通信に UNIX ドメインソケットを使用しています。また、
/var/spool/postfix/ディレクトリーにあるメールキュー、およびpostfixユーザーとグループの下で実行しているアプリケーションを含む Postfix SMTP サーバーのデフォルト設定を想定しています。オプション: TCP 経由で Postfix 認証リクエストをリッスンするように Dovecot をセットアップします。
service auth { inet_listener { port = <port-number> } }service auth { inet_listener { port = <port-number> } }Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/dovecot/conf.d/10-auth.confファイルのauth_mechanismsパラメーターを編集して、メールクライアントが Dovecot での認証に使用する方法を指定します。auth_mechanisms = plain login
auth_mechanisms = plain loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow auth_mechanismsパラメーターは、さまざまなプレーンテキストおよび非プレーンテキストの認証方法をサポートしています。
/etc/postfix/main.cfファイルを変更して Postfix をセットアップします。Postfix SMTP サーバーで SMTP 認証を有効にします。
smtpd_sasl_auth_enable = yes
smtpd_sasl_auth_enable = yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow SMTP 認証用の Dovecot SASL 実装の使用を有効にします。
smtpd_sasl_type = dovecot
smtpd_sasl_type = dovecotCopy to Clipboard Copied! Toggle word wrap Toggle overflow Postfix キューディレクトリーに相対的な認証パスを指定します。相対パスを使用すると、Postfix サーバーが
chrootで実行しているかどうかに関係なく、設定が確実に機能することに注意してください。smtpd_sasl_path = private/auth
smtpd_sasl_path = private/authCopy to Clipboard Copied! Toggle word wrap Toggle overflow この手順では、Postfix と Dovecot の間の通信に UNIX ドメインソケットを使用します。
通信に TCP ソケットを使用する場合に、別のマシンで Dovecot を探すように Postfix を設定するには、次のような設定値を使用します。
smtpd_sasl_path = inet: <IP_address> : <port_number>
smtpd_sasl_path = inet: <IP_address> : <port_number>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の例で、ip-address を Dovecot マシンの IP アドレスに置き換え、port-number を Dovecot の
/etc/dovecot/conf.d/10-master.confファイルで指定されたポート番号に置き換えます。Postfix SMTP サーバーがクライアントに提供する SASL メカニズムを指定します。暗号化されたセッションと暗号化されていないセッションに異なるメカニズムを指定できることに注意してください。
smtpd_sasl_security_options = noanonymous, noplaintext smtpd_sasl_tls_security_options = noanonymous
smtpd_sasl_security_options = noanonymous, noplaintext smtpd_sasl_tls_security_options = noanonymousCopy to Clipboard Copied! Toggle word wrap Toggle overflow 前のディレクティブは、暗号化されていないセッションでは匿名認証が許可されず、暗号化されていないユーザー名またはパスワードを送信するメカニズムが許可されていないことを指定しています。暗号化セッション (TLS を使用) の場合、非匿名認証メカニズムのみが許可されます。