はじめに
Ubuntu 14.04 LTSにPostfixとDovecotを使ったメールサーバを構築しましたのでその手順をメモします。 SMTPの認証にはCyrus SASLを使います。 認証にはpamで行うこととします。
環境
OS、利用するソフトウェアは以下の通りです。
OS | Ubuntu 14.04.3 LTS(3.13.0-66-generic) |
---|
SMTPソフトウェア | Postfix Version 2.11.0 |
---|---|
POP/IMAPソフト | dovecot (dovecot-imapd,dovecot-pop3d) Version 2.2.9 |
認証用ソフトウェア | sasl2(sasl2-bin) Version 2.1.25 |
構築手順
必要パッケージのインストール
必要なパッケージをインストールします。
# apt install postfix dovecot-imap dovecot-pop3 sasl2-bin
Postfixの設定
Postfixの設定を行います。
まず、 /etc/postfix/main.cf
を編集します。
### myhostnameメールサーバのホスト名を指定 ### メールサーバを外部公開している場合はインターネット上で名前解決できるホスト名 myhostname = メールサーバのホスト名 ### mydomainにメール送信時に使う@より右のドメイン名を指定 mydomain = メールドメイン名 myorigin = $mydomain ### inet_interfacesにメールを受信するネットワークインタフェースを指定(allで0.0.0.0:25がLISTEN状態になる) inet_interfaces = all ### 自ホストが最終目的地であるドメイン名の指定。 ### メールアドレスの「@」の右側が mydestination の指定に一致すると、そのメールは他のサーバには配送せず、自ホスト内で処理しようとする。 mydestination = $myhostname, $mydomain, localhost ### メールのリレーを許可するサーバのアドレス、またはネットワークを環境に合わせて指定 (以下は例) mynetworks = 127.0.0.0/8, 168.100.XXX.0/24 ### メールボックスをユーザのホームディレクトリに変更 home_mailbox = Maildir/ ### TLSを使う場合の証明書と鍵ファイルの指定 smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ### SMTP認証に使うSASLの設定 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname broken_sasl_auth_clients = yes
続いて /etc/postfix/master.conf
を編集します。
### Submission ポート (ポート番号 587) でも SMTP を受けるようにする ### sasl認証を有効にする submission inet n - - - - smtpd -o smtpd_sasl_auth_enable=yes ### smtpsを有効にする ### TLSのラッパーモードを有効にする smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes
dovecotの設定
dovecotの設定を行います。
/etc/dovecot/dovecot.conf
を編集します。
### 利用するプロトコルを記載 ### dovecot-imapdとdovecot-pop3dをインストールしたので imap pop3 を記載 protocols = imap pop3 ### LISTENするアドレスを指定 listen = *
/etc/dovecot/conf.d/10-mail.conf
を編集します。
### Postfixの設定に合わせてMaildir形式を指定 mail_location = maildir:~/Maildir ### dovecotプロセスが chroot することができるディレクトリの指定 valid_chroot_dirs = /home ### UIDLのフォーマットを指定 pop3_uidl_format = %08Xu%08Xv
/etc/dovecot/conf.d/10-auth.conf
を編集します。
### SSL/TLS接続のみ有効にする場合はyes disable_plaintext_auth = yes ### 認証時のパスフレーズ送信方式の指定 ### 通信が暗号化されているので以下 auth_mechanisms = plain login
/etc/dovecot/conf.d/10-master.conf
を編集します。
### imapでの接続ポートの指定 ### SSL/TLSのみ使う場合はimapsのみで良い service imap-login { inet_listener imap { #port = 143 port = 0 } inet_listener imaps { port = 993 ssl = yes } } ### imapでの接続ポートの指定 ### SSL/TLSのみ使う場合はimapsのみで良い service pop3-login { inet_listener pop3 { #port = 110 port = 0 } inet_listener pop3s { port = 995 ssl = yes } } ### 認証用ソケットファイルへのアクセス権設定 unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }
/etc/dovecot/conf.d/10-ssl.conf
を編集します。
### SSL/TLSを有効化 ssl = yes ### SSL/TLSで利用する証明書の設定 ### (別途作成の必要あり) ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key
sasl2の設定
/etc/default/saslauthd
を編集します。
### 自動起動の設定 START=yes ### 認証メカニズムの設定 MECHANISMS="pam"
おわりに
以上、メールサーバの構築メモです。