テックブログ

postfix の SNI 設定

こんにちは ネットアシスト技術部です。
今回は postfix の sni 機能について紹介したいと思います

以下 postfix のサイトにもありますように postfix が sni を正式対応するようになっています。
http://www.postfix.org/TLS_README.html

The above client pre-requisites do not apply to the Postfix SMTP server. It will support DANE provided it supports TLSv1 and its TLSA records are published in a DNSSEC signed zone. To receive DANE secured mail for multiple domains, use the same hostname to add the server to each domain’s MX records. The Postfix SMTP server supports SNI (Postfix 3.4 and later), configured with tls_server_sni_maps.

バージョンが 3.4 以上である必要があります。
さっそくですが設定していきたいと思います。

sni 設定として必要な部分のみ記載しますので、その他の設定については環境に応じて設定してください。

main.cf

smtpd_tls_chain_files = /path/to/privkey.pem,
                        /path/to/fullchain.pem

smtpd_tls_security_level = may
tls_server_sni_maps = hash:/etc/postfix/sni_maps

  • smtpd_tls_chain_files
    デフォルトドメインの証明書設定です。
  • smtpd_tls_security_level = may
    利用を必須にするか、使える場合使うといった設定です。
  • tls_server_sni_maps = hash:/etc/postfix/sni_maps
    /etc/postfix/sni_maps のファイル名については任意で大丈夫です。

sni.map

domain /path/to/domain_praivate.key /path/to/domain_fullchain.pem
domain2 /path/to/domain2_praivate.key /path/to/domain2_fullchain.pem

設定する対象ドメインとの鍵と証明書のパスを列挙していきます。

設定が完了したら 以下のコマンドでDB化します。

 postmap -F hash:/etc/postfix/sni_maps

その後 postfix を再起動してください。

再起動後、SSL証明書が正しく取得できるか確認しましょう。

openssl s_client -connect [IP]:25 -servername domain --starttls smtp
openssl s_client -connect [IP]:25 -servername domain2 --starttls smtp

問題がなければ完了です。
様子がおかしければ ログを調査してください。

今までは haproxy を利用しなければいけず、starttls が設定がうまくできなかったので、いろいろ楽になりました。

今回は以上になります。ありがとうございました。

この記事をシェアする

  • facebook
  • twitter
  • hatena
  • line
URLとタイトルをコピーする

実績数30,000件!
サーバーやネットワークなど
ITインフラのことならネットアシストへ、
お気軽にご相談ください