Мы используем систему 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 электронной почтой аутентифицированного пользователя. Многие почтовые системы применяют это ограничение.
Итак, заставьте взломанных пользователей сменить пароль.