web-dev-qa-db-ja.com

Postfixメールサーバーと連携するようにTLSを設定する方法

私は国際的なオフィスのPostfix電子メールリレーサーバーにTLSを実装する任務を負っています。

TLSを設定するには、「/ etc/postfix /main.cf」を変更する必要があることを認識しています。米国には、TLSでセットアップされ、次のTLS構成を持つ別の電子メールリレーサーバーがあります。

# TLS parameters 'mail.company-name.com'
smtpd_tls_cert_file=/etc/ssl/certs/company-name.com.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.com.key
smtpd_use_tls=yes
smtp_tls_loglevel=5
smtpd_tls_security_level=may
smtp_tls_note_starttls_offer=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

この設定は国際オフィスのPostfixサーバーに実装できるので、あとは次の行で参照されている証明書のような「mail.company-name.in」の証明書を生成するだけでよいのではないかと思っています。

smtpd_tls_cert_file=/etc/ssl/certs/company-name.com.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.com.key

新しい構成は次のようになります。

# TLS parameters 'mail.company-name.in'
smtpd_tls_cert_file=/etc/ssl/certs/company-name.in.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.in.key
smtpd_use_tls=yes
smtp_tls_loglevel=5
smtpd_tls_security_level=may
smtp_tls_note_starttls_offer=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

あなたが気づいたかもしれない他の何かが欠けていますか?アドバイスをいただければ幸いです。

ご不明な点がございましたら、お気軽にお問い合わせください。

ご協力ありがとうございました!

1
MotoDave452

ここでは、ドメインの署名付き証明書をまだ持っていないことを前提としています。そうでない場合、質問は無意味になります。

CAによって署名された証明書が必要な場合は、CAにアクセスしてCSRを提供する必要があります。その後、証明書を取得します。クライアントのデバイスがそれを信頼している限り、どのCAを選択したかは関係ありません。

CSRを生成するには、opensslを使用できます。

openssl req -new -newkey rsa:4096 -nodes -out company-name.com.csr -keyout company-name.com.key

いくつかの質問に答える必要がありますが、一般名を除いて、それらはすべて無関係です。

たとえば、 SSL証明書をどのように購入しますか? および他の多くの質問もここで参照してください。


編集:

smtpd_tls_cert_file=/etc/ssl/certs/company-name.com.pem
smtpd_tls_key_file=/etc/ssl/private/company-name.com.key

これらの行は、TLSセッションに使用する証明書とキーファイルを定義します。クライアントが有効性を検証できるようにする場合は、証明書チェーンに smtpd_tls_CAfile を指定する必要があります。

smtpd_use_tls=yes
smtp_tls_note_starttls_offer=yes

これにより、日和見暗号化が可能になります。つまりSMTPクライアントが接続してサーバーにメールを配信するか、別のSMTPサーバーにメールを配信すると、STARTTLSが使用可能であることが通知されます。

smtp_tls_loglevel=5

デバッグに役立ちます。 docs は、2より高いものは推奨せず、5はまったく定義されていないことに注意してください。 1は合理的です。

smtpd_tls_security_level=may

日和見暗号化を有効にしますが、必須ではありません。送信するには、encryptに設定することをお勧めします。

smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

セッションチケットに必要で、お勧めです。

BetterCrypto.orgのガイド Applied Crypto Hardening をご覧になりたい場合は、Postfixの完全な例が含まれています。

3
sebix