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-domain ソケットメソッドに優先して、プライバシーを強化します。
PostfixDovecotSASL実装を使用するように指示するには、両方のアプリケーションでいくつかの設定変更を行う必要があります。以下の手順に従ってください。
Dovecot のセットアップ
  1. Dovecotのメイン設定ファイルである/etc/dovecot/conf.d/10-master.confを変更し、以下の行を追加します(デフォルトの設定ファイルには、関連するセクションのほとんどがすでに含まれているため、行をアンコメントするだけです)。
    service auth {
      unix_listener /var/spool/postfix/private/auth {
        mode = 0660
        user = postfix
        group = postfix
      }
    }
    上記の例では、PostfixDovecotの間の通信にUNIXドメインのソケットを使用することを想定しています。また、/var/spool/postfix/ディレクトリにあるメールキューや、postfixユーザーおよびグループで動作するアプリケーションなど、Postfix SMTPサーバーのデフォルト設定を想定しています。このようにして、読み取りと書き込みのパーミッションは、postfixのユーザーとグループに制限されます。
    また、DovecotTCP経由でPostfixの認証要求をリッスンするように設定するには、以下のような設定を行います。
    service auth {
      inet_listener {
        port = 12345
      }
    }
    上記の例では、12345を使用するポートの番号に置き換えてください。
  2. /etc/dovecot/conf.d/10-auth.conf設定ファイルを編集して、DovecotPostfix SMTPサーバーにプレーン認証とログイン認証の仕組みを提供するように指示します。
    auth_mechanisms = plain login
Postfix のセットアップ
Postfixの場合は、メインの設定ファイルである「/etc/postfix/main.cf」のみを変更する必要があります。以下の設定ディレクティブを設定できます。
  1. Postfix SMTPサーバーのSMTP認証を有効にします。
    smtpd_sasl_auth_enable = yes
  2. Postfixに、SMTP認証にDovecotの SASL実装を使用するように指示します。
    smtpd_sasl_type = dovecot
  3. Postfixのキューディレクトリからの相対パスを指定します(相対パスを使用することで、Postfixサーバーがchrootで動作しているかどうかにかかわらず、この設定が確実に機能することに注意してください)。
    smtpd_sasl_path = private/auth
    この手順では、PostfixDovecotの間の通信にUNIXドメインのソケットを使用することを想定しています。通信にTCPソケットを使用する場合に、Postfixが別のマシンでDovecotを探すように設定するには、以下のような設定値を使用します。
    smtpd_sasl_path = inet:127.0.0.1:12345
    上記の例では、127.0.0.1DovecotマシンのIPアドレスに、12345Dovecotの設定ファイル/etc/dovecot/conf.d/10-master.confで指定したポートに置き換える必要があります。
  4. 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認証の設定に役立つ情報を提供しています。