DigiCert証明書の正規代理店株式会社アールエムエス
180か国以上・80,000以上の団体が利用
Loading
  1. ホーム
  2. サポート
  3. インストール方法
  4. postfix

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

URLを変更しました。ブックマークの変更をお願いします

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

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トピックス&ニュース