CentOS6でのメールサーバの設定(dovecot)

ALL
スポンサーリンク

CentOS6でのメールサーバの設定です。
メール受信サーバ(pop3,imap4,pop3s,imap4s),送信サーバ(smtp,smtps,smtps-auth)として設定します。
サーバとして postfix,dovecotを使用します。
以下を設定します。
-postfix の main.cf の設定
-postfix の master.cf の設定
-dovecot の設定

postfix の main.cf の設定 については、前前回 を参照してください。
postfix の master.cf の設定 については、前回 を参照してください。

今回は、メール受信サーバ dovecot の設定と、Postfix/Dovecotの起動設定について説明します。
ここでは、Dovecot2.0系統について説明します。Dovecot1.0系統とは設定の記述方法が異なりますので、1.0系統を利用する場合はご注意下さい。

インストール

yum install dovecot

dovecot の設定

dovecot.conf の設定

下記を /etc/dovecot/dovecot.conf に追加します。

/etc/dovecot/dovecot.conf

listen = *
protocols = imap pop3
login_greeting = POP3 ready.

listen = *
メールクライアントソフトからの接続を受け入れるアドレスを指定します。
* を指定すると、サーバ上に設定されている全てのアドレスで接続を受け入れます。
ネットワークインタフェースカードを複数サーバに差し、それぞれにIPアドレスを設定している場合などでは、アドレスを指定します。

protocols = imap pop3
サポートするプロトコルを指定します。
imap4s(IMAP over SSL)、pop3s(POP OVER SSL)の場合も、imap , pop3 の記述にします。

login_greeting = POP3 ready.
メールクライアントソフトがサーバに接続した時に、サーバから返されるテキストを設定します。
デフォルトでは Dovecot ready. と返されるので、メールシステムが Dovecot であることを隠ぺいする為に、POP3 ready. と設定します。

/etc/dovecot/conf.d の設定

/etc/dovecot/conf.d/10-master.conf

service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  user = root
}

10-master.conf では各サービスの定義を行います。
上記は認証サービスの設定です。これを 10-master.confに記述します。
Dovecotが認証用の接続口を用意しておき、これに対して Postfix から接続することで、Postfix で Dovecotの認証が利用できます。
これにより、Dovecotが利用する(メール受信時に使用する)ユーザアカウント名/パスワードを、Postfix(メール送信時)の認証に使用できます。
unix_listener で接続口となる unixソケットを /var/spool/postfix/下のパスで指定します。
ここで指定したパスに、Dovecot起動時に Dovecotがunixソケットを作成します。
このパスは、先の記事 の main.cf の smtpd_sasl_path オプションで指定したパスと同じ個所を指す必要があります。
smtpd_sasl_path オプションでは、/var/spool/postfix/ からのパスを指定する必要があるのに対し、unix_listener では絶対パスを指定する必要があることに注意して下さい。

/etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/Maildir

10-mail.conf ではメールボックスの場所を定義します。
maildir の指定で、メールボックスが Maildir形式であることを示します。その後に、メールボックスのパスを記述します。
このパスは、先の記事 の main.cf の home_mailbox オプションで指定したパスと同じ個所を指す必要があります。
home_mailbox オプションでは、ユーザのホームディレクトリからの相対パスを指定したのに対し、mail_location では絶対パスを指定する必要があることに注意して下さい。

/etc/dovecot/conf.d/10-ssl.conf

ssl = yes
ssl_cert = </etc/pki/tls/certs/server.crt
ssl_key = </etc/pki/tls/certs/server.key

10-ssl.conf ではSSLに関する設定を定義します。
ssl = yes で SSL/TLSサポートを有効にします。
ssl_cert , ssl_key にはSSL接続時に参照するサーバ秘密鍵、サーバ証明書を指定します。
先の記事 の main.cf の smtpd_tls_cert_file , smtpd_tls_key_file オプションで指定したファイルと同じものでOKです。
なお、< の記号を忘れずに記述して下さい。 /etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = no
auth_mechanisms = plain login
!include auth-passwdfile.conf.ext
!include auth-system.conf.ext

10-ssl.conf では認証に関する設定を定義します。
disable_plaintext_auth を yes にすると、SSL通信でのみ接続を受け入れます。
この場合、メールクライアントソフト側では「このサーバは暗号化された接続(SSL)が必要」(Outlook2013)などのようにSSL通信を行うよう設定が必要です。
no にすると、非暗号化通信でも接続を受け入れます。

auth_mechanisms では認証メカニズムを指定します。
plain と login は認証時に平文でパスワードをメールサーバに対して送信します。
平文ですが、imap4s(IMAP over SSL)、pop3s(POP OVER SSL)といったSSL/TLS使用時には、その接続自体が暗号化されるので問題はありません。
その他にも認証メカニズムを指定でき、指定可能なリストは下記で参照できます。但し、メールクライアントソフトが対応していることが必要です。
Authentication/Mechanisms – Dovecot Wiki

postfix,dovecot起動設定

下記サービスが起動するように設定します

chkconfig dovecot on
chkconfig postfix on

以上でメールサーバの設定は完了です。

参考

FrontPage – Dovecot Wiki
Dovecot 翻訳プロジェクト 注:Dovecot1.0系のドキュメントの日本語訳です
はじめての自宅サーバ構築 – Fedora/CentOS – メールサーバ(POP/IMAP)の構築(Dovecot)
CentOS 6 – MAILサーバー – Dovecot インストール/設定 : Server World

コメント