Postfix3.3 ソース版 マルチドメイン 自己証明書TLS(SSL)対応版

前回の「Postfix3.3 ソース版 マルチドメイン対応 SMTP認証設定」では、TLS対応ではなく、平文でしたので、今回は、暗号化バージョンの設定を。
自己証明書バージョンです。

自己証明書ファイルの作成と組み込み

# cd /etc/pki/tls/certs/
# make mail.pem
umask 77 ; \
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
/usr/bin/openssl req -utf8 -newkey rsa:2048 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2  ; \
cat $PEM1 >  mail.pem ; \
echo ""    >> mail.pem ; \
cat $PEM2 >> mail.pem ; \
rm -f $PEM1 $PEM2
Generating a 2048 bit RSA private key
...............+++
................................................................................................................................................................+++
writing new private key to '/tmp/openssl.2v8dF8'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:tokyo
Locality Name (eg, city) [Default City]:shibuya
Organization Name (eg, company) [Default Company Ltd]:ITkk
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:(ホストのFQDN)
Email Address []:

↑自己証明ファイルを作成します。
# vi /etc/postfix/main.cf

smtpd_use_tls = yes

smtpd_tls_cert_file = /etc/pki/tls/certs/mail.pem
smtpd_tls_key_file = /etc/pki/tls/certs/mail.pem
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache

↑自己証明ファイルをpostfixで指定します。

postfix のSMTPs 部分を有効に

# vi /etc/postfix/master.cf

-------------------------------------------------------------------------
#smtps     inet  n       -       n       -       -       smtpd
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
-------------------------------------------------------------------------
↓
-------------------------------------------------------------------------
smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
-------------------------------------------------------------------------

↑postfix smtps部分を有効にします。

dovecot 証明書の指定

# vi /etc/dovecot/conf.d/10-ssl.conf
-------------------------------------------------------------------------
#ssl_cert = </etc/ssl/certs/dovecot.pem
#ssl_key = </etc/ssl/private/dovecot.pem
ssl_cert = </etc/pki/tls/certs/mailcert.pem
ssl_key = </etc/pki/tls/private/mailkey.pem
-------------------------------------------------------------------------
↓
-------------------------------------------------------------------------
#ssl_cert = </etc/ssl/certs/dovecot.pem
#ssl_key = </etc/ssl/private/dovecot.pem
#ssl_cert = </etc/pki/tls/certs/mailcert.pem
#ssl_key = </etc/pki/tls/private/mailkey.pem
ssl_cert = </etc/pki/tls/certs/mail.pem
ssl_key = </etc/pki/tls/certs/mail.pem
-------------------------------------------------------------------------

↑dovecotで、証明書を指定します。

dovecot 受信ポートの設定

# vi /etc/dovecot/conf.d/10-master.conf
-------------------------------------------------------------------------
service pop3-login {
  inet_listener pop3 {
    #port = 110
  }
  inet_listener pop3s {
    #port = 995
    #ssl = yes
  }
}
-------------------------------------------------------------------------
↓
-------------------------------------------------------------------------
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
-------------------------------------------------------------------------

↑POP3sのポート、995を有効にします。

postfix,dovecotのサービス再起動

# /etc/rc.d/init.d/dovecot start
# /usr/sbin/postfix stop
# /usr/sbin/postfix start

POP3s、995ポートでの受信

自己証明書を有効にする。
beckyというメールソフトでは、「SSL/TLS関係」の「証明書を検証しない」というところにチェックを入れます。

>>> Connecting to "XXX.XXX.XXX.XXX" (SSL/TLS) [2018/XX/XX XX:XX:XX] <<<
+OK Dovecot ready.
USER (メールアドレス)
+OK
PASS ********
+OK Logged in.
STAT
+OK 4 3264
LIST
+OK 4 messages:
1 647
2 702
3 702
4 1213
.
UIDL
+OK
1 000000015ba10240
2 000000025ba10240
3 000000035ba10240
4 000000045ba10240
.
QUIT
+OK Logging out.

↑POP3sでの受信がOKとなりました。

SMTPs、465ポートでの送信

次に送信側、STMPs 465ポートでの接続を試みますが、エラーとなる!(汗)

/var/log/maillog
を見てみる。

Oct XX XX:XX:XX postfix/smtpd[xxxx]: warning: TLS has been selected, but TLS support is not compiled in

と「TLSでの要求が来たが、コンパイル時に指定してない・・・」(汗)

ということで、

「-DUSE_TLS」
という指定を入れて、ソース版postfix 3.3.1から、再コンパイル。

# make makefiles CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DHAS_MYSQL -DDEF_SERVER_SASL_TYPE=\"dovecot\" -I/usr/local/include -I/usr/include/mysql/' AUXLIBS="-lssl -lcrypto -L/usr/local/lib" 'AUXLIBS_MYSQL=-L/usr/lib64/mysql -lmysqlclient -lz -lm'

# make
# make install

再度、送信。
>>> Connecting to "XXX.XXX.XXX.XXX" (SSL/TLS) [2018/XX/XX XX:XX:XX] <<<
220 (ホスト名) ESMTP Postfix
EHLO [127.0.0.1]
250-(ホスト名)
250-PIPELINING
250-SIZE 20480000
250-VRFY
250-ETRN
250-AUTH PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
235 2.7.0 Authentication successful
RSET
250 2.0.0 Ok
MAIL FROM:<(差出人メールアドレス)>
250 2.1.0 Ok
RCPT TO:<(宛先メールアドレス)>
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
.
250 2.0.0 Ok: queued as F391C2F13A4
QUIT
221 2.0.0 Bye

↑SMTPs 465ポートでの送信成功!

 

タイトルとURLをコピーしました