メールサーバ構築メモ【CentOS6.5+Postfix+Dovecot TLS/SSL】

2014年10月17日  カテゴリー:Linux  タグ: , ,
Pocket
LINEで送る

メールサーバ構築メモです。送信メールサーバは定番の Postfix(ポストフィックス)受信メールサーバは Dovecot (ダブコット)バージョン2を採用、Dovecotの設定方法がバージョン1から大幅に変ったため少し苦労しました。

また、送信受信メールサーバともに TLS/SSLを使うように設定することで、ユーザ名、パスワードの送出段階から以降すべての通信が暗号化されるため、安全性の高いメール通信ができます。

◎メールサーバ設定概要
 サーバアドレス:mail.apar.jp
 サーバOS:CentOS6.5
 送信サーバ:Postfix(SMTP-Auth over SSL)
 受信サーバ:Dovecot(IMAPS,POP3S)

サーバOSが CentOS7系の方は「SSLメールサーバ構築メモ(CentOS7.2)」をご参照ください。細かい部分で設定が変わっています。

MXレコードをDNSサーバに登録

メールアドレスに使用するドメイン名を、DNSサーバのMXレコードに登録しておきます。今回は「apar.jp」ドメイン名での設定になりますので、ご自分の環境に読替えてください。

Postfix と Dovecot のインストール

※バージョンは 2014年10月17日のものです。

・Postfix(2.6.6-6)

CentOS6.5には標準でPostfixがインストールされていますので、「Package 2:postfix-2.6.6-6.el6_5.x86_64 already installed and latest version」のような表示がされればOKです。

・Dovecot(2.0.9-7)

サーバー用秘密鍵・自己証明書の作成(TLS/SSL用)

Postfix Dovecot 共通で使うサーバ証明書を作成します。今回は自己証明書を使って設定しますが、正規の認証局から取得するのが望ましいです。

・作成用ディレクトリに移動します
cd /etc/pki/tls/certs/

・オリジナルのMakeファイルをバックアップします
cp -ip Makefile Makefile.org

・サーバー用証明書有効期限を1年から10年に変更します
sed -i 's/365/3650/g' Makefile

・サーバー用秘密鍵・自己証明書の作成
make mail.apar.jp.crt

・サーバー用秘密鍵からパスワード削除
openssl rsa -in mail.apar.jp.key -out mail.apar.jp.key

・サーバー用秘密鍵の場所を変更
mv /etc/pki/tls/certs/mail.apar.jp.key /etc/pki/tls/private/

postconf コマンド

Postfixを設定するにあたって、postconf コマンドでパラメータを確認しながら進めていくのがよいでしょう。

Postfixの設定パラメータは main.cf に記述されている以外にも多数あります。全ての設定パラメータを確認するには postconf コマンドを実行します。

postconf <パラメータ名> とすれば特定の設定のみを表示できます。

また、postconfに「-d」オプションをつけるデフォルト値が表示され、「-n」オプションをつけるとデフォルト値と異なるパラメータだけが表示されます。

Postfix の設定

Postfixで SMTP-Authを設定するには、SASLライブラリが必要になります。デフォルトでインストールされている Cyrus-SASL を使うことが多いのですが、今回は Dovecot SASLライブラリを使います。この Dovecot SASLライブラリを使うことで、受信アカウントのパスワードとSMTP-Authのパスワードが一元管理できます。

・念のため、元の設定ファイルをキープしておきます.
cp -ip /etc/postfix/main.cf /etc/postfix/main.cf.org

・Postfixの設定ファイルを編集(なかなか沢山あります)
vi /etc/postfix/main.cf

・smtps(SMTP-Auth over SSL)を有効化
vi /etc/postfix/master.cf

・ルックアップテーブルの作成
postmap /etc/postfix/access

・設定に誤りがないかチェック(なにも表示されなければOKです)
postfix check

・Postfixを再起動
service postfix restart

・自動起動の設定
chkconfig postfix on

Dovecot(Version2)の設定

バージョン1では設定ファイは1つでしたが、Dovecotバージョン2では /etc/dovecot/conf.d/ 以下に設定ファイルが分かれているのが特徴です。これには賛否がありそうですね(^^;)

・受信プロトコルの設定
vi /etc/dovecot/dovecot.conf

バージョン1では protocols に「imaps」や「pop3s」と書けましたが、TLS/SSLを使うか否かは次の「10-master.conf」で設定します。

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

暗号化をしない imap と pop3 を使えないようにするため「port = 0」と設定するのがミソです。なかなかのセンスですね。

・Dovecot SASL ライブラリの認証ソケットファイルを指定
vi /etc/dovecot/conf.d/10-master.conf (場所が分かりづらいかも87行目あたりです)

この設定がなかなか分からず難儀しました。こんなときは公式サイトです。
▽ Postfix and Dovecot SASL
http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL

・認証方式の設定 
vi /etc/dovecot/conf.d/10-auth.conf

※平文パスワードを許可していますが、TLS/SSLで暗号化されますので問題ありません。

・TLS/SSLの有効化とサーバ証明書と秘密鍵を指定
vi /etc/dovecot/conf.d/10-ssl.conf

・メールボックスの場所を指定
vi /etc/dovecot/conf.d/10-mail.conf

・ログの出力先を変更
vi /etc/dovecot/conf.d/10-logging.conf

・ログの出力先作成しておきます
mkdir /var/log/dovecot

・Dovecotを起動
service dovecot start

・自動起動の設定
chkconfig dovecot on

・認証ソケットファイルが作成されているのを確認します
ls -F /var/spool/postfix/private/auth

ログのローテーション設定

ログの設定は必須ではありませんが、メールサーバの運用ではログを参照することが多かと思いますので、運用しやすいように設定しておくのをお勧めします。

下の設定では1日ごとにログファイルを分けて、ファイル名に日付が付くように設定しています。ログファイルの保存期間は60日としていますが、運用ルールに合わせて設定してください。

Postfixログの設定

・出力先ディレクトリ作成
mkdir /var/log/mail

・出力先の変更
vi /etc/rsyslog.conf

・syslog再起動
service rsyslog restart

・不要なログを削除
rm -f /var/log/maillog*

・ログローテーション設定
vi /etc/logrotate.d/syslog

vi /etc/logrotate.d/maillog

・確認します
logrotate -dv /etc/logrotate.d/maillog
 ↓下記のような表示であればOKです

 

Dovecotログの設定

vi /etc/logrotate.d/dovecot

・確認します
logrotate -dv /etc/logrotate.d/dovecot
 ↓下記のような表示であればOKです

メールアカウントの作成

メールアカウントの作成は普通に UNIXユーザを作成するだけでOK、Cyrus SASL本当に便利です。

下記はメールアカウント「sample@apar.jp」を作成しています。シェルは「/sbin/nologin」としておくのがよいでしょう。

メールクライアント(Thunderbird)設定

手動設定でメールサーバを設定し「完了」ボタンをクリックします。※「再テスト」をクリックしても自己証明書を使っているためエラーとなります。
tb01

 

自己証明書をつかっているため、下のような警告が表示されます。「セキュリティ例外を承認」をクリックします。また、はじめてメールを送信するときにも同じような警告が表示されます。
tb02

第三者中継チェック

メールサーバが誰にでも送信に使われてしまうと、迷惑メールやフィッシングメールの温床になります。メール送信サーバ(Postfix)の設定が終わったら必ず第三者中継チェックを行いましょう。

▽ 第三者中継チェック RBL.JP
http://www.rbl.jp/svcheck.php

ホスト名に「mail.apar.jp」を入力 →「第三者中継テストの結果:no relays accepted.」であればOKです。

送信ドメイン認証の設定(SPF/DKIM)

今や必須になりつつある送信ドメイン認証の SPF と DKIM の設定もあわせて行うことをおすすめします。

▽ SPFレコードを Amazon Route 53 に登録する
https://blog.apar.jp/linux/737/

▽ Postfix SPF 認証 設定メモ(postfix-policyd-spf-python)
https://blog.apar.jp/linux/766/

▽ Postfix DKIM 認証 設定メモ(CentOS6.5+OpenDKIM)
https://blog.apar.jp/linux/856/

スポンサーリンク
Pocket
LINEで送る

メールサーバ構築メモ【CentOS6.5+Postfix+Dovecot TLS/SSL】」への1件のフィードバック

  1. ピンバック: ConoHaでメールサーバを構築する | テトシスの備忘録

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です