В ежедневной битве со спамом у меня было несколько раз, когда я испытывал соблазн жестко обеспечить соблюдение требований DNS от клиентов, подключающихся из безумного Интернета.
В деталях я бы добавил reject_unknown_reverse_client_hostname установка в моем smtpd_client_restrictions раздел, например:
smtpd_client_restrictions =
permit_sasl_authenticated
check_client_access hash:/etc/postfix/access
check_policy_service inet:127.0.0.1:4466
reject_unknown_reverse_client_hostname
reject_unauth_pipelining
В любом случае, я заметил, что при срабатывании такого ограничения поведение Postfix довольно «мягкое», поскольку значение по умолчанию для unknown_client_reject_code
равно 450. Следовательно, клиенту предлагается повторить попытку.
Исследуя ответ 550, я встретил следующее заявление: в официальной документации Postfix:
Я абсолютно не эксперт в целом RFC 5321, но как кто-то достаточно взрослый, чтобы знать RFC 821, Я действительно не понимаю, почему ответ 550 вместо 450 может повлиять на мой экземпляр Postfix на максимальном уровне SMTP (нарушая соответствие RFC), особенно учитывая, что в случае временных ошибок Postfix будет придерживаться 450 независимо от явная установка.
Итак, может ли кто-нибудь помочь мне понять, в чем проблема с такой заменой?
P.S .: А пока закончил "смягченным" ограничением:
smtpd_client_restrictions =
permit_sasl_authenticated
check_client_access hash:/etc/postfix/access
check_policy_service inet:127.0.0.1:4466
warn_if_reject reject_unknown_reverse_client_hostname
reject_non_fqdn_helo_hostname
reject_unauth_pipelining
reject_invalid_helo_hostname
Первый и наиболее очевидный ответ заключается в том, что в случае временной ошибки DNS временный возврат позволит почтовому серверу отправителя повторить попытку, пока ошибка DNS не будет исправлена. В этом случае постоянный возврат заблокирует доступ к вам настоящей любительской почте.
Второй ответ заключается в том, что большое количество спама рассылается через ящики ботнета, которые не имеют никаких реальных функциональных программ для отправки почты. Они будут распылять свой мусор только один раз и не будут пытаться повторно отправить какие-либо сообщения, независимо от того, содержит ли это сообщение временную или постоянную ошибку. Таким образом, используя временную ошибку, вы навсегда блокируете большой процент спама, но вы все равно позволяете радиолюбителю попробовать еще раз. (Это, кстати, почему серые списки все еще работают и все еще ловят много спама.)
RFC говорит в разделе 4.2.1. который:
Эмпирическое правило для определения того, подходит ли ответ к категории 4yz или 5yz (см. Ниже), заключается в том, что ответы имеют размер 4yz, если они могут быть успешными при повторении без каких-либо изменений в форме команды или в свойствах отправителя или получателя (т. Е. , команда повторяется идентично, и получатель не предлагает новую реализацию).
В случае неудачной попытки обратного просмотра сообщение может быть приемлемым без каких-либо изменений в самом сообщении, при условии только исправления ошибки DNS. Следовательно, это должна быть временная ошибка.
В случае, если сообщение не спам, системный администратор почтового сервера-отправителя может заметить сообщение об ошибке и решить проблему с DNS, чтобы сообщение могло быть доставлено без вмешательства пользователя и повторной отправки сообщения. И если пользователь, отправляющий электронное письмо, также не отвечает за почтовый сервер и / или его записи DNS, даже если они получают постоянный отказ напрямую, они не смогут ничего с ним сделать - в отличие, например, в случае неправильного написания адреса.
Конечно, вы всегда имеете право отклонить любое электронное письмо по любой причине.