PostfixでTLS対応を行うと、通常リクエストとは別に、465番ポートでリクエストを待ち受けます。
サーバ証明書の作成とPostfixの設定をするだけで、簡単にTLS対応にさせることができます。
1. SSL用証明書の作成
別途、「SSL用証明書の作成」の項目を参考にして、サーバ用秘密鍵(server.key)およびサーバ用証明書(server.crt)を作成してください。
2. Postfixの設定
/usr/share/doc/postfix-2.0.11/samples/sample-tls.cf ファイルの内容を、/etc/postfix/main.cf に追加コピーして編集します。(以下の内容だけ追加コピーすれば、とりあえずTLS対応します。)
▼/etc/postfix/main.cf
…
# サーバ証明書/鍵関係の設定を変更(RSAのみ対応させる場合)
smtpd_tls_cert_file = /usr/local/certs/server.crt
smtpd_tls_key_file = /usr/local/certs/server.key
#
# Its DSA counterparts:
#smtpd_tls_dcert_file = /etc/postfix/server-dsa.pem
#smtpd_tls_dkey_file = $smtpd_tls_dcert_file
…
# ログレベルの変更(最低レベル)
smtpd_tls_loglevel = 1
…
# TLS使用(そのまま)
smtpd_use_tls = yes
…
# Outlook/Outlook Express用のモード設定 (OE5.0の場合は、コメントアウトして値をyesに変更)
# smtpd_tls_wrappermode = no
…
# 認証はTLS使用のみ(TLSのみの場合はコメントアウトを外しyesに変更)
# smtpd_tls_auth_only = no
…
# セッションキャッシュの設定(そのまま)
smtpd_tls_session_cache_database = sdbm:/etc/postfix/smtpd_scache
…
# 証明書は前述の方法で作成
#smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem
#smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem
…
# TLS用乱数デバイスの指定
tls_random_source = dev:/dev/urandom
# tls_random_source = egd:/var/run/egd-pool
# tls_random_bytes = 32
# tls_random_reseed_period = 3600s
…
# サーバ証明書/鍵関係の設定を変更(RSAのみ対応させる場合)
smtpd_tls_cert_file = /usr/local/certs/server.crt
smtpd_tls_key_file = /usr/local/certs/server.key
#
# Its DSA counterparts:
#smtpd_tls_dcert_file = /etc/postfix/server-dsa.pem
#smtpd_tls_dkey_file = $smtpd_tls_dcert_file
…
# ログレベルの変更(最低レベル)
smtpd_tls_loglevel = 1
…
# TLS使用(そのまま)
smtpd_use_tls = yes
…
# Outlook/Outlook Express用のモード設定 (OE5.0の場合は、コメントアウトして値をyesに変更)
# smtpd_tls_wrappermode = no
…
# 認証はTLS使用のみ(TLSのみの場合はコメントアウトを外しyesに変更)
# smtpd_tls_auth_only = no
…
# セッションキャッシュの設定(そのまま)
smtpd_tls_session_cache_database = sdbm:/etc/postfix/smtpd_scache
…
# 証明書は前述の方法で作成
#smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem
#smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem
…
# TLS用乱数デバイスの指定
tls_random_source = dev:/dev/urandom
# tls_random_source = egd:/var/run/egd-pool
# tls_random_bytes = 32
# tls_random_reseed_period = 3600s
…
Outlook/Outlook Express を使用する場合の専用の設定と TLS セッションキャッシュマネージャの設定を master.cf で行います。smtps、submission、tlsmgr のコメントアウトを外します。
▼/etc/postfix/master.cf
1 2 3 4 5 6 7 8 9 10 11 12 |
... #================================================================ # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) #================================================================ ... smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes submission inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes ... tlsmgr fifo - - n 300 1 tlsmgr |
Postfixを再起動します。
# service postfix restart
25番と465番ポートがListen状態になっているか確認します。
1 2 3 4 5 |
# netstat -ln --tcp ... tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN ... |
3. クライアントから接続
クライアントから465番ポートに接続します。
なお、サーバおよびネットワークでファイアウォールを導入している場合は、上記のポートへの接続を許可しておいてください。