Отключить TLS сервера Postfix для определенных клиентов

Отключить TLS сервера Postfix для определенных клиентов

У меня возникли проблемы с каким-то плохим сервером, пытавшимся отправить мне несколько писем, которые мне крайне необходимы.

Отправитель всегда запрашивает STARTTLS, но впоследствии не может установить соединение TLS (v1.2+, как поддерживается моим сервером). Предположительно, он будет доставлять почту незашифрованной на почтовые серверы, не объявляя об этой возможности.

Я могу отключить TLS глобально с помощью smtpd_tls_security_level, но это действительно плохо, поэтому я хотел бы найти настройку, чтобы отключить его только для определенного списка удаленных серверов, которые пытаются связаться со мной.

Возможно ли это вообще?

EDIT: Вот лог из 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), второй шанс, когда он не сможет повторить свою ошибку, поскольку второй сервер не объявляет о STARTTLSвозможности.

Как это сделать?Theопубликовать через отдельную запись 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


Но это, скорее всего, не самый простой и не самый правильный выбор.Почти все, кто отправляет почту, отправляют почту, котораядолженперевозиться безопасно. Если вы работаете в специальных условиях для нарушения передовой практики, вы становитесь соучастником этого.Вместо этого попросите их это исправить.

Если они находятся в ЕС, они даже опубликуют предпочтительный способ связи для вакансии под названиемСотрудник по защите данныхтак что это не будет вашей задачей объяснять им приоритет исправления их настроек. Все, что вам нужно сделать, это уведомить их о необслуживаемом сервере, обрабатывающем персональные данные.

решение2

Это должно быть установлено только на may. Opportunistic TLS — лучшее, что мы получим для электронной почты в течение долгого времени.

Связанный контент