送信メールを暗号化するようPostfixに指示する方法を誰かが知っていますか?
受信時に暗号化を使用するように設定しましたが、送信メールでは暗号化できません。これは私の main.cf
ファイル:
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
transport_maps = hash:/etc/postfix/transport
# tls config
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtp_tls_security_level = encrypt または smtp_enforce_tls = yes
特定の宛先には、 smtp_tls_policy_maps を使用できます
smtp_use_tls = yes および smtp_enforce_tls = yes は非推奨です。 Postfix 2.3以降では、代わりに smtp_tls_security_level を使用してください。
注意:TLS暗号化を適用すると、TLSが構成されていないSMTPホストでメール配信の問題が発生する可能性があります。サーバーを使用して、TLSが設定された内部サーバーのみにメールを配信する場合、その場合は問題ありません。ただし、サーバーを使用してメールをパブリックサーバーに配信する場合、すべてのサーバーがTLSをサポートしているとは限りません。その場合は smtp_tls_security_level = may を使用してください
アイデアは、ユーザーに暗号化された送信SMTPサーバーでメールクライアントを設定することを強制することです。現在の設定では、Thunderbirdはプレーンテキストでsmtpサーバーと通信するオプションを残しています...
ソースコードを再コンパイルせずにThunderbirdのオプションを無効にすることはできませんが、(クライアントからメールを受信する)postfix stmpdデーモンを構成して暗号化を適用できます。これを行うには、 smtpd_tls_security_level = encrypt を使用します。これは、廃止されたオプション smtpd_use_tls = yes および smtp_enforce_tls = yes と同等です。 smtpd_tls_security_level = encrypt および smtp_enforce_tls = yes は smtpd_tls_auth_only = yes を意味します
smtpd_tls_security_level = encrypt に関するPostfixドキュメントから
必須のTLS暗号化:STARTTLSサポートをSMTPクライアントに通知し、クライアントがTLS暗号化を使用することを要求します。 RFC 2487 によると、これは公的に参照されているSMTPサーバーの場合には適用してはなりません。代わりに、このオプションは専用サーバーでのみ使用してください。
公開サーバーを使用する場合、ポート25/tcpで電子メールの暗号化を強制することはできません。より良い解決策は、クライアントからのpostfix smtpdデーモンポート25/tcpによるメール配信を無効にし、postfix送信デーモンを有効にすることです(これは、 RFC 4409)で説明されているローカルクライアントからのメール受信にのみ使用される特別なpostfix smtpdデーモンです ポート587/tcpで実行)。これを行うには、 smtpd_tls_security_level = may を設定し、_ smtpd_recipient_restrictions からpermit_sasl_authenticated
を削除します。 master.cf
で、送信デーモンに関するコメントを外します。
submission inet n - n - - submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_recipient_resrictions=permit_sasl_authenticated,reject
気になるのは、TLSを使用していないことをどのように伝えているのでしょうか。 smtp_tls_loglevelのデフォルト値(smtpd_tls_loglevelとは異なります)は0であるため、デフォルトでは、Postfixのログに送信メールのTLSネゴシエーションについて何も表示されません。
Smtp_tls_loglevel = 1以上を設定すると、メッセージが送信されたときにログに次のような行が表示されます。
3月7日22:28:10ラックpostfix/smtp [27400]:クライアント側TLSエンジンの初期化
私は怠惰であることを認めますが、それ(および上記のmsのメモ)を除けば、構成は一見すると問題ありません。