?

Log in

No account? Create an account
 
 
30 July 2015 @ 11:34 pm
Победа спамеров над мейллистами  
СЯУ, что очередная интернет-технология становится историей из-за несовместимости с новыми стандартами, на этот раз это списки рассылки.

Введение в курс дела.
Письмо (email) состоит из заголовка и тела письма. В заголовке написаны отправитель, получатель, тема письма и ещё всякая информация о письме. В теле, соответственно, текст. При пересылке письма оно вместе с заголовком оборачивается в конверт (envelope), и между почтовыми системами передаются "mail from" (отправитель), "rcpt to" (получатель) и "data" (текст письма вместе с заголовком). Тут важно, что адреса отправителя и получателя на конверте могут не соответствовать адресам в заголовке. Такое часто встречается при переадресации (если письма для user@domain пересылаются на другой адрес, login@host, то в заголовке остаётся "To: user@domain", а на конверте получается уже "To: login@host"), а также в списках рассылки (в заголовке "To: maillist", envelope to "user@domain").

Борьба со спамом и фишингом.
Технология почты позволяет любому человеку отправлять почту куда угодно, и, мало того, от какого угодно адреса. Этим стали активно пользоваться спамеры, подставляя случайный адрес отправителя. Для защиты от этого придумали SPF. Владелец домена может в DNS указать список хостов, от которых может быть отправлена почта с этим доменом в поле "From", а если почта принята откуда-то не оттуда, значит, это спам. Механизм простой и эффективный. Однако не защищающий от подделки header from. Есть ещё callout check (встречный коннект на отправителя, проверяющий, принимает ли он почту), но он проверяет лишь существование адреса отправителя, а не его валидность, и имеет ряд других недостатков.

DMARC.
Поскольку спамеры продолжают активно рассылать почту с поддельным header from, а envelope from пользователю фактически недоступен, возникла необходимость защиты header from от подделки. Для этого разработали DMARC. Владелец домена может включить защиту DMARC, и сервера, поддерживающие эту технологию, не будут принимать почту с header from, отправленную другими сайтами. Но как отличить, это спамер отправил почту от чужого адреса, или это честный пользователь написал в maillist? К сожалению, никак. И вот списками рассылки ради борьбы со спамом решили пожертвовать. И что же они предлагают делать администраторам списков рассылки? А вот что:
1. Никак не модифицируйте письма, т.е. не ставьте хеш списка рассылки в тему письма, не дописывайте футер с информацией о рассылке и т.п. К сожалению, в таком случае получателю будет трудно отличить письма из списка рассылки от личных писем.
2. Добавляйте OAR header. К сожалению, это не поможет, потому что его никто не поддерживает, и нужен механизм доверия между сервером рассылки и почтовой системой получателя. То есть, например, если отправитель в @yahoo.com, а получатель в @gmail.com, то для использования этого способа необходимо, чтобы gmail.com доверял мне (как администратору списка рассылки). Выглядит не очень реальным. К тому же, реализованных механизмов для добавления и обработки этого OAR, как я понял, ещё нет, это просто концепция.
3. Заменяйте header from на какой-то адрес в своём домене. А чтобы получатель мог ответить отправителю, пересылайте почту на этот адрес оригинальному отправителю.
А что, если на этот адрес (светящийся в поле From списка рассылки) будет приходить спам, и он будет пересылаться оригинальному отправителю, какой сервер попадёт в blacklists? Тот, от которого приходит спам получателю, т.е. мой, а не тот, который использовали спамеры. Жизнь спамеров таким образом облегчается!

Обнаружил из-за жалобы, что письма пользователей @yahoo.com в спелеорассылке не попадают примерно половине подписчиков - пользователей почтовых систем, проверяющих DMARC.
Что в такой ситуации делать, не знаю. Нахожусь в некоторой растерянности.

UPD: Некоторые ссылки.
Yahoo breaks every mailing list in the world including the IETF's
dmarc and forwarding
DMARC overview