03-6758-0529

(10:00〜18:00 土日祝日を除く)

SSL・EV SSL サーバー証明書 サポート

postfixでのサーバー証明書のインストール方法

本ページに記載されているインストール方法は、基本的な構成を元にしています。
システム環境等の設定状況により、手順や画面表示が異なることがあります。
アプリケーションやツールなどの仕様や設定手順等でご不明な点がある場合は、それらのマニュアルをご確認いただくか、開発元にご連絡ください。

※この手順によって生じた影響や結果について、弊社では一切の責任は負いかねます。

postfixでのサーバー証明書インストール手順

SSLサーバ証明書を準備する

  1. pemサーバー証明書ファイルを用意

    必要なファイルはpem書式の秘密鍵、サーバ証明書、中間証明書です。
    一般にUnix系アプリケーションの証明書関係ファイルはデフォルトでpem書式になっています。
    秘密鍵はCSRを作成したときにできています。
    CSR作成時にパスフレーズを設定している場合は秘密鍵のパスフレーズを解除するを参照し、パスフレーズ解除済みの秘密鍵を用意してください。
    pemファイル一般については.PEM書式のSSLサーバ証明書を作るにも記載があります。

  2. pemサーバー証明書ファイルを保存するディレクトリを決める

    一般ユーザーの書き込み権限のないディレクトリとします。ここでは /etc/postfixとしていますが、それ以外のディレクトリとすることもできます。

  3. 上記で決めたディレクトリにpem書式の秘密鍵、サーバ証明書、中間証明書を保存する

    ここでは秘密鍵のファイル名を【mailkey.pem】、サーバ証明書のファイル名を【mail_signed_cert.pem】、中間証明書のファイル名を【cacert.pem】としていますが、拡張子も含めわかりやすい任意の名前を指定できます。

    /etc/postfix/mailkey.pem
    /etc/postfix/mail_signed_cert.pem
    /etc/postfix/cacert.pem
    ※秘密鍵ファイルはrootユーザー以外は閲覧できないようにしてください。

SSLサーバ証明書をpostfixにインストールする

  1. /etc/postfix/main.cf の設定

    以下の設定を行ってください。

    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
    • 【smtp_tls_security_level = may】を指定することによって、送信先サーバーがTLSに対応している場合は、TLSによる通信が行われます。
    • 【smtpd_tls_security_level = may】を指定することによって、送信元サーバーあるいはメールクライアントがTLSに対応している場合は、TLSによる通信が行われます。
    • 通常の利用では、client証明書は指定しない方が良いと「postfix TLS_README」に記載されています。

      外部サイト:postfix TLS_README
  2. /etc/postfix/master.cf の設定

    本ページ検証のためのテスト環境の【/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を利用してメールを送信できます。

  • ポート番号 25,587 を指定した場合は通信は暗号化されずに開始されますが、STARTTLSによって認証ID、パスワードを含むすべての通信が暗号化されます。
  • ポート番号 465 を指定した場合は開始時から通信は暗号化されます。
同一サーバー上で複数のホスト名のメールサービスを行っている場合

SMTPサーバー名に証明書のホスト名を指定すれば、すべてのホスト名でTLS/SSLを利用したメール送信ができます。
WildCard Plus、マルチドメイン証明書、EVマルチドメイン証明書の場合は、SMTPサーバー名にメールで使っているホスト名を指定することも可能です。

関連情報

Copyright © Sophia Research Institute,Ltd. All rights reserved.