メールサーバ構築(①postfix編)


■環境
CentOS 7
postfix 2.10.1

メールアカウントはpasswdに登録されているアカウントを利用します。
メール専用のアカウントは以下コマンドで作成してください。(SSHログイン不可)

useradd -s /sbin/nologin demouser1

必要な物をインストール

yum -y install postfix cyrus-sasl cyrus-sasl-plain cyrus-sasl-md5

メイン設定ファイルの修正(vi /etc/postfix/main.cf)
以下、設定変更部分

myhostname = mail.sample.com  
mydomain = sample.com  
myorigin = $mydomain  
inet_interfaces = all  
mynetworks = 192.168.0.0/23, 127.0.0.0/8  
relay_domains = $mydestination  
home_mailbox = Maildir/  
smtpd_banner = $myhostname ESMTP unknown

以下、設定追加部分
※SSL証明書の秘密鍵はパスワード無しとします

smtpd_sasl_auth_enable = yes  
smtpd_sasl_security_options = noanonymous  
smtpd_recipient_restrictions =   
    permit_mynetworks,  
    permit_sasl_authenticated,  
    reject_unauth_destination  
smtpd_tls_cert_file = /etc/pki/sample/sample.crt  
smtpd_tls_key_file = /etc/pki/sample/sample.key  
smtpd_tls_CAfile = /etc/pki/sample/sampleCA.crt  
smtpd_tls_loglevel = 1  
smtpd_use_tls = yes

マスター設定ファイルの修正(vi /etc/postfix/master.cf)
以下、設定変更部分

submission inet n       -       n       -       -       smtpd  
  -o syslog_name=postfix/submission  
  -o smtpd_sasl_auth_enable=yes  
  -o smtpd_client_restrictions=$mua_client_restrictions  
  -o milter_macro_daemon_name=ORIGINATING  
smtps     inet  n       -       n       -       -       smtpd  
  -o smtpd_tls_wrappermode=yes

SASL認証設定ファイルの修正(vi /etc/sasl2/smtpd.conf)
以下、設定変更部分

mech_list: plain login cram-md5 digest-md5

SASL認証ファイルへのアカウント追加
以下コマンド実行時に設定するパスワードを聞かれるので入力する

saslpasswd2 -c -u sample.com demouser1

##################### 参考 #####################
SASL認証ファイルに登録したユーザの確認は以下コマンド

sasldblistusers2

SASL認証ファイルに登録したユーザの削除は以下コマンド

saslpasswd2 -d -u sample.com demouser1

SASL認証ファイルの権限グループをpostfixに変更

chgrp postfix /etc/sasldb2

サービス起動

systemctl start postfix.service  
systemctl start saslauthd.service

サービスの自動起動設定

systemctl enable postfix.service  
systemctl enable saslauthd.service

これでpostfixの設定は完了です。