DigiCert証明書の正規代理店株式会社アールエムエス
DigiCert サーバー証明書利用団体
  1. ホーム
  2. サポート
  3. インストール方法
  4. postfix

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 に記載されています。
  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、UC サーバ証明書、EVマルチドメイン証明書の場合は、SMTPサーバー名にメールで使っているホスト名を指定することも可能です。

関連情報

SSL サーバ証明書とは?
30日間テスト証明書
30日間返金保証制度あり!
コードサイニング証明書
ドキュメントサイニング証明書
デジタル証明書ニュース
digicert.comトピックス&ニュース