※この手順によって生じた影響や結果について、弊社では一切の責任は負いかねます。
必要なファイルはpem書式の秘密鍵、サーバ証明書、中間証明書です。
一般にUnix系アプリケーションの証明書関係ファイルはデフォルトでpem書式になっています。
秘密鍵はCSRを作成したときにできています。
CSR作成時にパスフレーズを設定している場合は秘密鍵のパスフレーズを解除するを参照し、パスフレーズ解除済みの秘密鍵を用意してください。
pemファイル一般については.PEM書式のSSLサーバ証明書を作るにも記載があります。
一般ユーザーの書き込み権限のないディレクトリとします。ここでは /etc/postfixとしていますが、それ以外のディレクトリとすることもできます。
ここでは秘密鍵のファイル名を【mailkey.pem】、サーバ証明書のファイル名を【mail_signed_cert.pem】、中間証明書のファイル名を【cacert.pem】としていますが、拡張子も含めわかりやすい任意の名前を指定できます。
以下の設定を行ってください。
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_tls_security_level = may
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_cert_file = /etc/postfix/mail_signed_cert.pem
smtpd_tls_key_file = /etc/postfix/mailkey.pem
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_tls_session_cache
tls_random_source = dev:/dev/urandom
smtpd_tls_security_level = may
本ページ検証のためのテスト環境の【/etc/postfix/master.cf】の設定は以下です。
master.cf の設定は様々な要素により異なりますので、以下を参考に利用環境に合わせ設定ください。
以下の例ではコメント行、空白行は省略して記載しています。
0.0.0.0:smtp inet n – n – – smtpd
0.0.0.0:submission inet n – n – – smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
0.0.0.0:smtps net n – n – – smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
pickup fifo n – n 60 1 pickup
cleanup unix n – n – 0 cleanup
qmgr fifo n – n 300 1 qmgr
tlsmgr unix – – n 1000? 1 tlsmgr
rewrite unix – – n – – trivial-rewrite
bounce unix – – n – 0 bounce
defer unix – – n – 0 bounce
trace unix – – n – 0 bounce
verify unix – – n – 1 verify
flush unix n – n 1000? 0 flush
proxymap unix – – n – – proxymap
proxywrite unix – – n – 1 proxymap
smtp unix – – n – – smtp
relay unix – – n – – smtp
-o smtp_fallback_relay=
showq unix n – n – – showq
error unix – – n – – error
retry unix – – n – – error
discard unix – – n – – discard
local unix – n n – – local
virtual unix – n n – – virtual
lmtp unix – – n – – lmtp
anvil unix – – n – 1 anvil
scache unix – – n – 1 scache
メールクライアントの指定で「このサーバーはセキュリティで保護された接続(SSL)が必要(Windows Live 例)」のように指定すると、ポート番号 25,587,465のどれを指定してもTLS/SSLを利用してメールを送信できます。
SMTPサーバー名に証明書のホスト名を指定すれば、すべてのホスト名でTLS/SSLを利用したメール送信ができます。
WildCard Plus、マルチドメイン証明書、EVマルチドメイン証明書の場合は、SMTPサーバー名にメールで使っているホスト名を指定することも可能です。