Тестирую установку 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).
Поскольку ваш вопрос, вероятно, появился на ранней стадии настройки почтового сервера, вот несколько советов, касающихся работы с фиктивной почтой.
Обычные пользователи в большинстве случаев не будут пытаться подделать свою электронную почту. Чаще всего это поведение спамера, поэтому вы можете фильтровать такую почту по ее содержанию. Более сложная настройка может включать:
MAIL FROM: <>
).Если говорить о postfix, то он дает довольно гибкие возможности по ограничению приемлемой почты.
Что касается вашего обновления: постфикс сообщения об ошибке просто указывает, что вы нарушаете спецификации SMTP (нет Subject:
Команда SMTP, см. SMTP RFC но Subject
заголовок, который вы, вероятно, имели в виду, является частью тела сообщения, которое должно быть указано после DATA
Команда SMTP). Из предоставленной вами стенограммы я не могу достоверно сказать, работает ли ваш постфикс как открытый ретранслятор, поскольку нет информации о клиенте, у которого был этот сеанс SMTP.
Насколько я помню, при базовой настройке postfix позволяет ретранслировать почту (то есть вы можете указать любой адрес электронной почты, а не только в домене, за который отвечает postfix) из:
Так что, если вы подключили 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, используют комбинацию методов для проверки почты, которая обычно включает оценку вышеуказанных тестов, а также содержимого и заголовков.