NO IMAGE

CentOS7 Postfix SMTP over SSL の設定

■SMTP-AUTHを設定

SMTP-AUTH は、SMTP Authentication の略。
SMTP-AUTH の実現には、SASL(Simple Authentication and Security Layer)という認証システムを提供するライブラリが必要になります。
現状のPostfixが対応しているSASLライブラリは、postconf コマンドで表示可能。

# postconf -a
cyrus
dovecot

Cyrus-SASL ライブラリと Dovecot-SASL ライブラリが使えるようです。
今回は、Postfix と Dovecot に親和性が高い Dovecot-SASL ライブラリを使用します。
(下記、smtpd_sasl_type = で指定します。)

 

●Postfix の設定ファイル main.cf を編集します。

# nano -K /etc/postfix/main.cf

最後部に以下の記述を追加。

# TLS Setting
smtpd_use_tls = yes
smtpd_tls_loglevel = 1
smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s

# SASL Setting
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

 

●Dovecot の設定ファイル 10-master.conf を編集。

# nano -K /etc/dovecot/conf.d/10-master.conf

service auth { の部分を修正・追加します。

service auth {
  # auth_socket_path points to this userdb socket by default. It's typically
  # used by dovecot-lda, doveadm, possibly imap process, etc. Its default
  # permissions make it readable only by root, but you may need to relax these
  # permissions. Users that have access to this socket are able to get a list
  # of all usernames and get results of everyone's userdb lookups.
  #unix_listener auth-userdb {
    #mode = 0600
    #user =
    #group =
  #}

  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }

  # Auth process is run as this user.
  #user = $default_internal_user
}

Dovecot を再起動。

# systemctl restart dovecot.service

■SMTP over SSLを設定

メールサーバ「Postfix」へのSMTP接続時、ユーザ名とパスワードを保護する為、「SMTP over SSL」を設定します。

# nano -K /etc/postfix/master.cf

#smtpsの行があるので、先頭の#を外して有効にします。また、その下の3行もコメントアウトします。

smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

master.cfを保存したら、設定ファイルを再読み込み。

# systemctl reload postfix.service

SMTP over SSL は、TCPの465番ポートを使用しますので、ss -nat コマンドで、465番ポートが開いていることを確認します。

# ss -nat
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 *:110 *:*
LISTEN 0 100 *:143 *:*
LISTEN 0 100 *:465 *:*
LISTEN 0 10 192.168.1.24:53 *:*
LISTEN 0 10 127.0.0.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 *:25 *:*
LISTEN 0 128 127.0.0.1:953 *:*
LISTEN 0 100 *:993 *:*
LISTEN 0 100 *:995 *:*
TIME-WAIT 0 0 192.168.1.24:993 192.168.1.3:32848
ESTAB 0 400 192.168.1.24:22 192.168.1.5:49778
LISTEN 0 80 :::3306 :::*
LISTEN 0 100 :::110 :::*
LISTEN 0 100 :::143 :::*
LISTEN 0 128 :::80 :::*
LISTEN 0 100 :::465 :::*
LISTEN 0 32 :::21 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 :::25 :::*
LISTEN 0 128 ::1:953 :::*
LISTEN 0 100 :::993 :::*
LISTEN 0 100 :::995 :::*
FIN-WAIT-2 0 0 ::ffff:192.168.1.24:80 ::ffff:192.168.1.5:55850
TIME-WAIT 0 0 ::ffff:192.168.1.24:80 ::ffff:192.168.1.5:55848
TIME-WAIT 0 0 ::ffff:192.168.1.24:80 ::ffff:188.143.232.43:60048

■旧自宅サーバのDovecotとPostfixを停止し、無効にします。

# service dovecot stop
Dovecot Imap を停止中: [ OK ] # chkconfig dovecot off
# chkconfig –list dovecot
dovecot 0:off 1:off 2:off 3:off 4:off 5:off 6:off
#
# service postfix stop
postfix を停止中: [ OK ] # chkconfig postfix off
# chkconfig –list postfix
postfix 0:off 1:off 2:off 3:off 4:off 5:off 6:off

■ThunderBirdでの動作確認
メールクライアント(サンダーバード)で、ローカルユーザ同士でのメール送受信が正常に動作することを確認します。

・・・次は、外部MTAとのメールのやり取り(SMTP)、リモートUAからの接続(IMAP4)を設定・確認する予定です。