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

Почему пустой адрес MAIL FROM может быть отправлен по электронной почте?

Мы используем систему Smarter Mail. Недавно мы обнаружили, что хакер взломал некоторые учетные записи пользователей и разослал много спама. У нас есть брандмауэр, чтобы ограничить отправителя, но для следующего письма брандмауэр не смог этого сделать из-за пустого адреса FROM. Почему пустой адрес FROM считается нормальным? Собственно, в нашем MTA (Surgemail) мы можем видеть отправителя в заголовке письма. Любая идея?

11:17:06 [xx.xx.xx.xx][15459629] rsp: 220 mail30.server.com
11:17:06 [xx.xx.xx.xx][15459629] connected at 6/16/2010 11:17:06 AM
11:17:06 [xx.xx.xx.xx][15459629] cmd: EHLO ulix.geo.auth.gr
11:17:06 [xx.xx.xx.xx][15459629] rsp: 250-mail30.server.com Hello [xx.xx.xx.xx] 250-SIZE 31457280 250-AUTH LOGIN CRAM-MD5 250 OK
11:17:06 [xx.xx.xx.xx][15459629] cmd: AUTH LOGIN
11:17:06 [xx.xx.xx.xx][15459629] rsp: 334 VXNlcm5hbWU6
11:17:07 [xx.xx.xx.xx][15459629] rsp: 334 UGFzc3dvcmQ6
11:17:07 [xx.xx.xx.xx][15459629] rsp: 235 Authentication successful
11:17:07 [xx.xx.xx.xx][15459629] Authenticated as hackedaccount@domain1.com
11:17:07 [xx.xx.xx.xx][15459629] cmd: MAIL FROM:
11:17:07 [xx.xx.xx.xx][15459629] rsp: 250 OK <> Sender ok
11:17:07 [xx.xx.xx.xx][15459629] cmd: RCPT TO:recipient@domain2.com
11:17:07 [xx.xx.xx.xx][15459629] rsp: 250 OK <recipient@domain2.com> Recipient ok
11:17:08 [xx.xx.xx.xx][15459629] cmd: DATA

Пустой MAIL FROM используется для уведомлений о статусе доставки. Для его поддержки необходимы почтовые серверы (RFC 1123 раздел 5.2.9).

Он используется в основном для сообщений о недоставке, чтобы предотвратить бесконечный цикл. когда MAIL FROM используется с пустым адресом (представленным как <>) принимающий сервер знает не для создания сообщения о недоставке, если сообщение отправляется несуществующему пользователю.

Без этого кто-то может сделать DoS-атаки, просто подделав сообщение несуществующему пользователю в другом домене с обратным адресом несуществующего пользователя в вашем собственном домене, что приведет к бесконечному циклу отказываться от сообщений.

Что будет, если вы заблокируете сообщения с пустым MAIL FROM:?

  • Ваши пользователи не будут получать сообщения о недоставке из других доменов: они никогда не узнают, допустили ли они опечатку при отправке почты пользователю в другом домене.

Пустой MAIL FROM: сообщения, которые вы видите, вероятно, не исходит от спамера.

Вместо этого спамер подделал адрес в вашем домене и использовал его в качестве обратного адреса для сообщения в другой домен. Допустим, вы yourdomain.com и мой домен mydomain.net. Спамер отправляет сообщение на johnq@mydomain.net, подделав обратный адрес как johnq@yourdomain.com. Поскольку пользователя нет johnq в моем домене мой почтовый сервер отправляет сообщение о недоставке (MAIL FROM:<>) очевидному отправителю, johnq@yourdomain.com. Это то, что вы, вероятно, видите.

Блокировка пуста MAIL FROM На мой взгляд, сообщения принесут больше вреда, чем пользы. Спамеры, по моему опыту, редко используют пустой MAIL FROM: поскольку они могут легко подделать реальный адрес. Если сообщение действительно является спамом, существуют гораздо лучшие способы его обнаружения и блокировки, включая RBL, байесовские фильтры и SpamAssassin.

И, наконец, вы можете предотвратить хотя бы часть подделок, используя yourdomain.com путем создания надлежащих SPF записи для вашего домена.

Обновить: Присмотревшись к вашему журналу, кто-то смог AUTH используя действительное имя пользователя и пароль для вашего сервера. Это ставит его в совершенно другую категорию проблем. Однако все, что я сказал о MAIL FROM: все еще стоит. В 99% случаев это будет результатом сообщений о недоставке.

Вы можете найти вариант для своего почтового сервера, чтобы ограничить MAIL FROM электронной почтой аутентифицированного пользователя. Многие почтовые системы применяют это ограничение.

Итак, заставьте взломанных пользователей сменить пароль.