特定のクライアントに対してPostfixサーバーのTLSを無効にする

特定のクライアントに対してPostfixサーバーのTLSを無効にする

どうしても必要なメールを私に送信しようとしたときに、サーバーの不具合で問題が発生しました。

送信者は常に STARTTLS を要求しますが、その後 TLS (私のサーバーでサポートされているバージョン 1.2+) 接続を確立できません。おそらく、この機能をアナウンスしていないメール サーバーには、暗号化されていないメールが配信されることになります。

を使用して TLS をグローバルに無効にできますsmtpd_tls_security_levelが、これは非常に不便なので、私に連絡しようとするリモート サーバーの特定のリストに対してのみ TLS を無効にする設定を見つけたいと思います。

それは可能なのでしょうか?

編集: 以下は Postfix からのログですsmtpd_tls_loglevel = 2:

belette64 postfix/smtpd[145475]: connect from smtp.misconfigured.fr[XX.XX.XX.XX]
belette64 postfix/smtpd[145475]: setting up TLS connection from smtp.misconfigured.fr[XX.XX.XX.XX]
belette64 postfix/smtpd[145475]: smtp.misconfigured.fr[XX.XX.XX.XX]: TLS cipher list "aNULL:-aNULL:HIGH:MEDIUM:+RC4:@STRENGTH"
belette64 postfix/smtpd[145475]: SSL_accept:before SSL initialization
belette64 postfix/smtpd[145475]: SSL_accept:before SSL initialization
belette64 postfix/smtpd[145475]: SSL3 alert write:fatal:handshake failure
belette64 postfix/smtpd[145475]: SSL_accept:error in error
belette64 postfix/smtpd[145475]: SSL_accept error from smtp.misconfigured.fr[XX.XX.XX.XX]: -1
belette64 postfix/smtpd[145475]: warning: TLS library problem: error:1417A0C1:SSL routines:tls_post_process_client_hello:no shared cipher:../ssl/statem/statem_srvr.c:2282:
belette64 postfix/smtpd[145475]: lost connection after STARTTLS from smtp.misconfigured.fr[XX.XX.XX.XX]

答え1

本当に彼らの怠慢を回避したいのであれば、TLSを無視する別のサーバー。 それを持っている悪質なクライアントのリストとのみ話す(ehlo またはアドレスによって識別される)、他のクライアントのセキュリティを低下させないように、より高い優先度値の MX レコードまたはファイアウォール経由でのみアクセスできるようにします。

これはただの とどう違うのでしょうかsmtp_tls_security_level=may?これにより、(メイン MX で要求した後) 安全なチャネルを確立できなかったクライアントに 2 度目のチャンスが与えられ、2 番目のサーバーがSTARTTLS機能を通知しないため、クライアントは間違いを繰り返すことができなくなります。

どうやってするの?別のMXレコード経由で公開するルートはより安全です多かれ少なかれ特殊なケースの設定が必然的に古くなった場合は一般的なケースに戻りますが、自分の側でポートをリダイレクトするだけで、セットアップに必要な手順が少なくなります。

  1. 異なるポートと追加オプションを使用して、の smtpd 行を複製しますmaster.cf(ログ行にタグを付け、将来の管理者がなぜこれが行われたのかを理解できるようにコメントを追加します)。
smtp       inet  n       -       y       -       -       smtpd
10025      inet  n       -       y       -       -       smtpd
 -o syslog_name=postfix/smtpd/badstarttls
 -o smtpd_tls_security_level=none
 -o smtpd_helo_required=yes
 -o smtpd_helo_restrictions=pcre:/etc/postfix/helo_badstarttls_allow.pcre,reject
  1. 別のポートへのリダイレクトは-A PREROUTING .. -j REDIRECT --to-port ..、iptables または nftables で機能します。
tcp dport 25 ip protocol tcp ip saddr { XX.XX.XX.XX } redirect to :10025


しかし、それはおそらく最も簡単な選択でも正しい選択でもない。メールを送信している人のほとんどは、すべき安全に輸送される必要があります。ベストプラクティスに違反する特別な宿泊施設に取り組めば、あなたもそれに加担することになります。代わりに彼らに修正してもらいましょう。

EUに拠点を置く企業であれば、次のような役割の優先連絡方法を公開しているでしょう。データ保護責任者したがって、設定を修正する優先順位を説明するのはあなたの仕事ではありません。あなたがしなければならないのは、個人データを処理するサーバーがメンテナンスされていないことを通知することだけです。

答え2

これは にのみ設定する必要がありますmay。Opportunistic TLS は、今後長い間、電子メールに利用できる最高のものです。

関連情報