CentOS 7でPostfix+Dovecotによるメールサーバを構築する
Pocket

CentOS 7にて、Postfix+Dovecotでのメールサーバ構築を行う。
あくまでも基本的な内容のみなので、SSL非対応・PAM認証方式とする。

1.Postfix+Dovecotのインストール

まず、以下のコマンドでPostfixおよびDovecotのインストールを行う。

yum install -y postfix dovecot cyrus-sasl cyrus-sasl-*

 

これでパッケージのインストールは完了。

 

2.Postfixの設定

Postfixの設定を行う。
設定ファイル「/etc/postfix/main.cf」にて、以下の項目について記述を変更・追記する。

●/etc/postfix/main.cf

# ホスト名(fqdn)を指定
myhostname = mx.example.com

# メールで使用するドメイン名を指定
mydomain = example.com

myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# 自身の所属するローカルネットワークを追記
mynetworks = 127.0.0.0/8,192.168.0.0/24

# Maildir形式を指定
home_mailbox = Maildir/

# メールサーバのソフト名・バージョンを非表示にする
smtpd_banner = $myhostname ESMTP

# SMTP-Authの設定追記
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

 

認証用のデーモンである「saslauthd」を起動する。

systemctl start saslauthd
systemctl enable saslauthd
Sponsored Links

3.Dovecotの設定

次に、Dovecotの設定を行う。
Dovecotの場合はいくつか設定ファイルがあるので、それぞれ設定を変更する。

●/etc/dovecot/dovecot.conf

# コメントアウト解除
protocols = imap pop3 lmtp
listen = *, ::

 

●/etc/dovecot/conf.d/10-auth.conf

# プレーンテキスト認証を許可
disable_plaintext_auth = no

# 追記(プレーンテキスト認証を許可)
auth_mechanisms = plain login

 

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

# コメントアウト解除してMaildir形式に変更
mail_location = maildir:~/Maildir

 

 

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

# コメントアウト解除してユーザ・グループを追記
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix 
    group = postfix 
}

 

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

# SSLを要求しないように変更する
ssl = no

 

4.サービス起動やファイアウォール・ユーザなどその他の設定

4-1.サービス起動

PostfixおよびDovecotの設定が変更できたら、サービスの再起動と自動起動設定を行う。

systemctl restart postfix dovecot
systemctl enable postfix dovecot

 

4-2.Firewalldの設定

次に、以下のコマンドでFirewalldの設定を変更し、ポートの開放を行う。

firewall-cmd --zone=public --add-service=smtp --permanent
firewall-cmd --add-port={110/tcp,143/tcp} --permanent
firewall-cmd --reload

 

4-3.ユーザ設定

今回の設定では、pam認証となっているためLinuxユーザのホームディレクトリ(/home/ユーザ名)配下に存在するメール用のディレクトリにデータが保持される。
で、ユーザ作成時に自動的にメール用ディレクトリが作成されるようにする。

mkdir -m700 /etc/skel/Maildir{,/cur,/new,/tmp}

 

メール専用ユーザを作成する場合は、ログインシェルは/sbin/nologinにしておこう。

useradd test -s /sbin/nologin

 

4-4.DNSへMXレコードの設定

最後に、対象のドメインで使用しているDNSサーバにMXレコードの追加をしてやる。

 

これで、とりあえずメールサーバの構築は完了。
ただ、今時SSL対応もしないで存在しているメールサーバとか危険極まりないので、何かしらの対応をした方がいいだろう。

少なくとも、検証ならまだしもどう考えてもこの設定のまま本運用には載せないほうがいい。

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。