Назад | Перейти на главную страницу

Почему Postfix принимает ПОЧТУ ОТ от электронной почты, за которую не несет ответственности

Тестирую установку postfix. Я заметил, что если я попытаюсь отправить почту с фиктивной учетной записи в другом домене, который мне не принадлежит (unknown@NotMyDomain.com) одному из моих локальных пользователей (user@MyDomain.com), письмо по-прежнему доставляется моему пользователю.

MAIL FROM:<unknown@notmydomain.com>

RCPT TO:<user@mydomain.com>

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

P.S. Я все еще нахожусь на ранних этапах изучения постфикса, поэтому не уверен, имеет ли мой вопрос смысл.


Согласно комментарию @ DerfK, я тестировал открытое реле (где оба MAIL FROM и RCPT TO не размещены на этом сервере), и вот что я получаю. По какой-то причине он принимает RCPT TO, затем прощается ПОСЛЕ Набираю тему. Так это хорошо или плохо?

HELO test.mydomain.com
250 mail
MAIL FROM:<user@notmydomain1.com>
250 2.1.0 Ok
RCPT TO:<user@notmydomain2.com>
250 2.1.5 Ok
Subject: testing for open relay
221 2.7.0 Error: I can break rules, too. Goodbye.
Connection closed by foreign host.

Вы забыли данные! У меня была именно такая проблема. У вас должны быть командные данные, затем тема. Так что это решает ваши проблемы. Выглядят так:

HELO test.mydomain.com

250 mail

MAIL FROM:<user@notmydomain1.com>

250 2.1.0 Ok

RCPT TO:<user@notmydomain2.com>

250 2.1.5 Ok

Data

354 End data with <CR><LF>.<CR><LF>

subject: hello

i love you, oh my god! Why do i forget data

.

250 2.0.0 Ok: queued as E10601E09B1

quit

Это нормальное поведение. Другие SMTP-серверы подключаются к вашему как SMTP-клиенты для доставки почты в ваш домен.

Чтобы обойти эту проблему спуфинга, существуют SPF и DKIM. Ты должен их проверить.

Что касается вашей первой ситуации: для SMTP-сервера нормально принимать почту для учетных записей, за которые он отвечает, и в основном именно так это будет работать, просто установите программное обеспечение для проверки спама, такое как SpamAssassin (наиболее широко используемое бесплатное решение, поддерживает проверку SPF / DKIM).

Поскольку ваш вопрос, вероятно, появился на ранней стадии настройки почтового сервера, вот несколько советов, касающихся работы с фиктивной почтой.

Обычные пользователи в большинстве случаев не будут пытаться подделать свою электронную почту. Чаще всего это поведение спамера, поэтому вы можете фильтровать такую ​​почту по ее содержанию. Более сложная настройка может включать:

  1. RBL / DNSBL / RHSBL проверка (может дать много ложных отказов, потому что многие даже действительные отправители почты нарушают некоторые RFC).
  2. Проверка адреса отправителя (см. Readme для подтверждения адреса для Postfix). Это также может отклонить часть действительной почты (в основном снова из-за неправильной конфигурации, например, запретить почту с пустым MAIL FROM: <>).
  3. Серые списки. По моему личному опыту, это помогает бороться с 90% спамерских писем из-за нетерпения спамеров. Но это немного замедляет доставку действительной почты, однако в большинстве случаев это не проблема.
  4. Проверка SPF / DKIM (хотя и не обязательна для ее поддержки).
  5. Различные пользовательские проверки контента (включая уже упомянутые спамчеки).

Если говорить о postfix, то он дает довольно гибкие возможности по ограничению приемлемой почты.

Что касается вашего обновления: постфикс сообщения об ошибке просто указывает, что вы нарушаете спецификации SMTP (нет Subject: Команда SMTP, см. SMTP RFC но Subject заголовок, который вы, вероятно, имели в виду, является частью тела сообщения, которое должно быть указано после DATA Команда SMTP). Из предоставленной вами стенограммы я не могу достоверно сказать, работает ли ваш постфикс как открытый ретранслятор, поскольку нет информации о клиенте, у которого был этот сеанс SMTP.

Насколько я помню, при базовой настройке postfix позволяет ретранслировать почту (то есть вы можете указать любой адрес электронной почты, а не только в домене, за который отвечает postfix) из:

  • localhost
  • доверенные сети (настроены через mynetworks)

Так что, если вы подключили postfix с сервера, на котором он работает, это может быть нормально. Если откуда-то в Интернете, то дела обстоят плохо.

Также вы можете внимательно прочитать SMTPD Relay и контроль доступа для углубления знаний именно по теме доступа postfix relay.

Надеюсь это поможет.

Postfix должен принимать почту от доменов, за которые он не несет ответственности. В противном случае у вас была бы только местная электронная почта.

Открытый ретранслятор принимает почту от доменов, за которые он не несет ответственности, на адреса, за которые он не отвечает. В следующей таблице: Local представляет домены, за которые отвечает сервер; Удаленный представляет домены, за которые сервер не отвечает; и None представляет пустого отправителя:

Source   Destination   Accepted
======   ===========   ========
Local    Local         Yes
Local    Remote        Yes
Remote   Local         Yes
Remote   Remote        NO
None     Local         Yes
None     Remote        NO

Есть много способов проверить удаленный домен, в том числе: выноски, SPF, DMARC, белые и черные списки. Все это зависит от DNS. Серые списки - это метод, обеспечивающий отправку почты реальным почтовым сервером, а не спам-ботом. Спамфильтры, такие как Spamassassin, используют комбинацию методов для проверки почты, которая обычно включает оценку вышеуказанных тестов, а также содержимого и заголовков.