Откуда спам берётся на самом деле
Есть четыре способа, которыми адрес попадает в список, и они оставляют разные следы. Какой именно это был способ, имеет большее значение, чем может показаться, потому что средство в каждом случае своё, — а три из четырёх нельзя отменить постфактум, и в этом состоит весь смысл второй половины этого руководства.
| Как он утёк | Как это выглядит во входящих | Как это подтвердить | Что на самом деле это останавливает |
|---|---|---|---|
| Сервис, в котором вы зарегистрированы, взломали | Всплеск не связанного между собой спама, начавшийся в течение нескольких недель после новости об утечке, адресованный ровно на тот вариант написания адреса, который вы использовали именно в этом сервисе | Найдите адрес в индексе утечек, например на Have I Been Pwned, который каталогизирует опубликованные дампы | Ничего — постфактум. Дамп копируют в тот же день, когда он появляется. Ограничить, как далеко разойдётся следующая утечка, может только отдельный адрес на каждый сервис |
| Сервис продал его, или «поделился с партнёрами» | Предложения из отрасли, соседней с той, где вы зарегистрировались, приходящие на один из ваших адресов и ни на один из остальных | Только если этому сервису достался адрес, которого нет ни у кого другого, — плюс-тег, если он не был вырезан, или отдельный адрес, если был | Отрезать именно этот адрес. Всё прочее — жалоба, для которой у вас нет доказательств |
| Он был опубликован где-то в открытом доступе | Письма на адрес, на который вы никогда не подписывались: тот, что указан на вашем сайте, в регистрационных данных вашего домена, или в коммите, который вы запушили | Поищите сам этот адрес. Если его может найти браузер, значит, его может найти и краулер, у которого целый день нет других дел | Удаление помогает медленно; уже сделанные копии никогда не истекают. Замените его адресом, который вы готовы в какой-то момент списать |
| Никто его не слил — его подобрали | Письма на имена, которые вы никогда не использовали на собственном домене: info@, sales@, john@ | Прочитайте часть перед @. Атака по словарю перебирает набор распространённых имён на домене и оставляет себе всё, что не вернулось с ошибкой | Не использовать легко угадываемый адрес как публичный, и никогда не считать catch-all-ящик приватным |
Три из этих четырёх строк заканчиваются одним и тем же признанием: если адрес попал в список, он в нём и остаётся. Нет инстанции, к которой можно обратиться с апелляцией, нет центрального opt-out, который спамер стал бы уважать, и нигде нет кнопки, которая отозвала бы адрес обратно. Что вы всё ещё можете изменить — это то, что вы отдаёте следующему сервису, и именно поэтому это руководство заканчивается там, где заканчивается, а не более длинным списком фильтров.
Ссылка «отписаться»: когда она работает, а когда подтверждает, что вы существуете
Отписка от компании, в которой вы действительно зарегистрированы, работает, и работает быстро — потому что с 2024 года крупные почтовые провайдеры сделали это условием доставки, а не жестом доброй воли. Отправитель массовой почты в Gmail, Yahoo Mail или Outlook.com обязан предложить отписку одним нажатием, обработать её в течение двух дней, аутентифицировать свою почту и удерживать долю жалоб ниже примерно трети процента. Отправитель, который это игнорирует, просто перестаёт доходить вовсе. С вашей стороны провода соблюдение этих правил выглядит так:
From: "Example Shop" <news@example.com>
List-Unsubscribe: <https://example.com/u/8f21c4>,
<mailto:unsubscribe@example.com?subject=unsub-8f21c4>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
Authentication-Results: mx.example.org;
spf=pass smtp.mailfrom=mail.example.com;
dkim=pass header.d=example.com;
dmarc=pass header.from=example.comМеханизм — это две из этих строк. List-Unsubscribe объявляет, где отписаться, — в заголовке, а не в тексте письма; List-Unsubscribe-Post говорит, что отправитель примет единственный POST-запрос как весь разговор целиком, без загрузки страницы и без заполнения формы. Именно эту пару читает ваше почтовое приложение, чтобы нарисовать ссылку Отписаться рядом с именем отправителя, — и это другой запрос, отличный от того, что находится в тексте письма.
Из-за этого решение, которое кажется рискованным, превращается в решение с тремя исходами:
- Рядом с именем отправителя есть кнопка отписки
- Используйте её. Запрос делает ваш провайдер, отправитель узнаёт только то, что один адрес отписался, а Gmail и Outlook.com оба фиксируют этот клик как сигнал об этом отправителе.
- Кнопки нет, но вы точно знаете, что у вас там есть аккаунт
- Откройте письмо с отключённой загрузкой внешних изображений, проверьте в заголовке, что
dmarc=passназывает собственный домен бренда, и только потом переходите по ссылке. Работу здесь выполняет именно эта уверенность, а не сама ссылка. - Вы никогда не регистрировались, либо заголовок не подтверждается
- Не нажимайте в нём ничего. Пометьте как спам и закройте письмо. Ссылка — это трекинговый URL, уникальный именно для вас, и перейти по ней — ровно то, как список, подобравший ваш адрес, подтверждает свою догадку.
Форма mailto: в том же заголовке существует для той же цели и безопасна в тех же случаях — она отправляет простое письмо и не тянет за собой браузер. Это также форма, которую никто толком не реализовал за двадцать лет, так что относитесь к ней как к запасному варианту, а не как к плану.
«Спам», блокировка или удаление: что из этого узнаёт ваш провайдер
В любом почтовом приложении четыре элемента управления расположены в сантиметре друг от друга, и делают они четыре никак не связанных между собой вещи. И только один из них делает следующий месяц тише.
- Пометить как спам / Пожаловаться на спам
- Единственная кнопка, которая хоть чему-то обучает. Ваш собственный фильтр учится на ней сразу, а жалоба объединяется со всеми остальными: отправитель, чья доля жалоб переходит примерно за треть процента, начинает попадать в папку «Спам» даже у тех, кто никогда не жаловался. Это самая эффективная кнопка на этой странице.
- Заблокировать отправителя
- Правило только внутри вашего аккаунта, сверяемое с адресом или доменом, который выбрал отправитель и может поменять за секунду. Полезно против одного назойливого человека, бесполезно против кампании, — именно поэтому то же самое предложение возвращается с
news-2@уже на следующей неделе. - Удалить
- Не учит вообще ничему. Письмо исчезает, а фильтр остаётся ровно настолько же неправ, каким был мгновение назад, так что следующее письмо снова попадёт во «Входящие». Это самая частая ошибка, о которой говорит эта статья.
- Переместить в папку или отфильтровать
- Одним движением прячет проблему и от вас, и от фильтра. Имеет смысл для почты, которую вы сами запросили, но не хотите видеть; и откровенно вредно как способ разобраться с почтой, которую вы никогда не запрашивали.
- Пожаловаться на фишинг
- И у Google, и у Microsoft это отдельный от спама канал, в конце которого стоят люди и запросы на блокировку. Используйте его, когда письмо выдаёт себя за кого-то — банк, коллегу, службу доставки, — а не просто что-то продаёт.
Есть и пятый элемент управления, и он значит не меньше первого: переместить письмо из папки «Спам» — тоже обучение. Спасённая рассылка учит фильтр, что этого отправителя ждут, — и в вашем аккаунте, и в общей массе. Именно поэтому фильтр, которым вы честно пользовались год, лучше того, к которому вы вообще не притрагивались.
Десять секунд в заголовке, прежде чем вы что-то решите
Всё сказанное выше сводится к одному вопросу — тот ли это отправитель, за кого себя выдаёт, — и ответ на него дают три строки текста, которые способно показать любое почтовое приложение. Вот тот же магазин, что и раньше, только на самом деле не он:
From: "Example Shop" <news@examp1e-shop.net>
Return-Path: <b7f2@mailer-4471.example.net>
Authentication-Results: mx.example.org;
spf=pass smtp.mailfrom=mailer-4471.example.net;
dkim=none;
dmarc=noneЗдесь нет подделки в техническом смысле слова. spf=pass — чистая правда: отправитель действительно управляет доменом mailer-4471.example.net и действительно авторизовал себя отправлять с него письма. Чего не хватает — так это хоть какого-то утверждения про example.com, чьё имя стоит в строке отображаемого имени и чей бренд носит на себе это письмо. Вот четыре вещи, на которые нужно посмотреть, именно в этом порядке:
- Адрес, а не имя.
Example Shop— это произвольный текст, который печатает отправитель. Утверждение — это часть в угловых скобках, а здесь там написаноexamp1e-shop.net, где цифра стоит вместо буквы. dmarc=, и чей домен там назван.dmarc=pass header.from=example.comозначает, что за это письмо поручился собственный домен бренда.dmarc=noneозначает, что не поручился никто. Успешная проверка на домене, отличном от того, что вFrom:, доказывает только то, что каким-то доменом владеет некий посторонний.Return-Path:в сравнении сFrom:. Настоящие массовые отправители маршрутизируют отказы через собственную отправляющую инфраструктуру, так что эти два адреса редко совпадают дословно. Совпадать должна организация:mail.example.comподexample.com— это нормально,mailer-4471.example.netпод ним — нет.- Есть ли вообще
List-Unsubscribe. Его отсутствие у того, что называет себя маркетинговым письмом, само по себе уже ответ, — настоящий массовый отправитель больше не может позволить себе его пропустить.
Что выдаёт само открытие письма, ещё до того, как вы что-то тронете
Письмо, которое вы никогда не просили, — это вопрос о вас, и ответить на него отправителю ничего не стоит, а вам — кое-что да стоит. В момент, когда вы открываете такое письмо с включёнными изображениями, наружу уходят четыре вещи:
- То, что адрес живой и его читает человек. Самый ценный факт о любом адресе в списке — именно он решает, продадут ли этот адрес дальше.
- Когда вы его читаете и как часто. Пиксель запрашивается при каждом отображении письма, а не один раз.
- Примерно где вы находитесь и с чего читаете. Запрос несёт в себе IP-адрес и user agent, как и любой другой запрос.
- Какое именно из их писем вы открыли. URL уникален для каждого получателя, так что ответ известен по каждому адресу отдельно, а не только в общей массе.
Сегодня каждый крупный провайдер проксирует внешние изображения, что притупляет геолокационную половину этой истории, но не половину с подтверждением: запрос всё равно происходит, и он всё равно сообщает, что письмо открыл именно этот адрес. Блокировать изображения, пока вы сами их не запросите, — настройка, которая есть в любом почтовом приложении, и лучшее значение по умолчанию на этой странице. «Трекинговые пиксели в письмах» разбирает сам механизм и то, что блокировка даёт, а что нет. Здесь их блокирует политика, под которой отдаётся письмо, а не правка самого письма, так что включать тут нечего.
Единственное решение, которое масштабируется: свой адрес на каждый сервис
Каждый элемент управления выше — это способ реагировать на почту, которая уже пришла на адрес, которым отправитель уже располагает. Единственный подход, который сокращает объём, а не просто его сортирует, — сделать сам адрес расходным, чтобы утечка сама называла сервис, который её допустил, и её можно было отрезать, не трогая ничего больше. Есть четыре способа так сделать, и у них есть различия, которые стоит знать, прежде чем выбирать:
| Что вы отдаёте | Скрывает ваш настоящий адрес? | Переживает перепродажу? | Можно ли отрезать именно этот адрес? | Во что вам это обходится |
|---|---|---|---|---|
| Плюс-тег на вашем собственном адресе | Нет — ваш адрес внутри него, у всех на виду | Нет. Удалить всё между + и @ — одна строка кода, и запустить её вероятнее всего именно тот, кто продаёт список | Только фильтрацией, при которой письмо всё равно доставляется | Ничего, и около десяти секунд |
| Алиас-релей, который пересылает вам почту | Да, пока он существует | Да — покупателю достаётся алиас, а не вы | Да, и мгновенно | Подписка, и третья сторона на пути вашей почты |
| Адрес на домене, которым вы владеете | Да, и форме регистрации он не кажется одноразовым | Да | Да, по одному адресу за раз | Домен, одна MX-запись, и DNS-записи, которые не дают подделать этот домен |
| Одноразовый адрес, к которому вы больше никогда не вернётесь | Да, полностью | Да — за ним нет ничего, что можно было бы продать | Он отрезается сам: почта удаляется через 5 дней | Вы не сможете потом восстановить аккаунт, а некоторые формы отказывают этому домену |
Выбор между ними делается не раз и навсегда — он делается на каждую регистрацию отдельно, и решает его тот же вопрос, что и в «Burner, алиас или временная почта»: жалко ли вам будет потерять этот аккаунт? Для магазина, в котором вы купите один раз, одноразовый адрес — и правильный ответ, и самый дешёвый. Для вашего банка это катастрофа. А для двухсот регистраций между этими крайностями продолжает работать именно адрес на домене, которым вы владеете.
Плюс-тег попал в этот список потому, что к нему тянутся в первую очередь, а не потому, что он лучше остальных. Он прекрасно сортирует почту и не скрывает вообще ничего.
Адрес, который уже в открытом доступе
Адрес, который попал в списки, остаётся в них навсегда, а начать заново с чистого адреса стоит меньше, чем кажется: новый адрес соберёт те же самые списки примерно за то же время, если заодно не изменится и то, что вы отдаёте. Так что полезный шаг — не начало с нуля, а сортировка по важности, именно в этом порядке:
- Перестаньте усугублять. Не публикуйте его открытым текстом на странице, не используйте как публичный контакт для домена и дайте следующей форме что-то другое.
- Перенесите то, что нельзя позволить себе потерять. Банк, госуслуги, регистратор вашего домена, и прежде всего — адрес восстановления на ваших остальных аккаунтах. Список короткий, и именно ради него всё это вообще стоит делать.
- Сначала смените адрес восстановления, потом — адрес для входа. Именно в этом порядке, каждый раз. Сделав наоборот, люди сами блокируют себе доступ к тому аккаунту, который пытались защитить.
- Остальное не трогайте. Двести аккаунтов интернет-магазинов не нужно никуда переносить. Пусть они и дальше используют старый адрес, а сам старый адрес пусть станет тем, который вы бегло просматриваете, а не тем, в котором живёте.
- А потом дайте фильтру работать. Жалуйтесь вместо того, чтобы удалять, спасайте всё, что попало по ошибке, и дайте этому месяц. Честно обученный фильтр обыграет любое правило, которое вы напишете вручную.
Смысл сортировки по важности в том, что она заканчивается. Не бывает версии, в которой старый адрес снова становится чистым; бывает версия, в которой он просто перестаёт быть важным, а на это уйдёт один вечер.
Коротко
- Предпочитайте кнопку Отписаться, которую почтовое приложение ставит рядом с именем отправителя, ссылке внутри письма.
- Отписывайтесь только от отправителей, которых можете доказать:
dmarc=passна домене, который стоит вFrom:. - Не нажимайте вообще ничего в письме, на которое вы никогда не подписывались. Ссылка — это измерение.
- Жалуйтесь как на спам, а не удаляйте. Удаление не учит ваш фильтр ничему.
- Спасайте и письма, попавшие в спам по ошибке, — это тоже обучение, только в обратную сторону.
- Отключите загрузку внешних изображений по умолчанию — в каждом почтовом приложении, которым пользуетесь.
- Дайте следующей регистрации адрес, который существует только ради неё: тег, если больше нечем, адрес на собственном домене, если можете, одноразовый — если больше никогда не хотите о них слышать.
Первые шесть делают тише этот месяц. Седьмой — единственный, что делает тише следующий год.
Вопросы
Отписка от спама делает ситуацию хуже?
От настоящего спама — да: ссылка идентифицирует именно вас, а адрес, который отписался, — это адрес, чья «живость» подтверждена. От компании, в которой вы действительно зарегистрированы, — нет: крупные провайдеры теперь требуют отписку в один клик, обработанную в течение двух дней, а отправителя, который это игнорирует, просто перестают доставлять. Весь навык — в том, чтобы отличить одно от другого, а dmarc=pass на собственном домене бренда делает это примерно за десять секунд.
Что лучше: пометить как спам или заблокировать отправителя?
Почти всегда — пометить как спам. Блокировка записывает в ваш аккаунт правило против адреса, который отправитель бесплатно меняет; а жалоба обучает фильтр, которым вы делитесь с миллионами людей, и подталкивает долю жалоб этого отправителя к порогу, после которого его почта перестаёт доходить вообще ни до кого. Блокировка — для одного назойливого человека, а не для кампании.
Откуда у них мой адрес, если я никому его не давал?
Обычно его не слили, а подобрали. Атака по словарю рассылает набор распространённых имён на домене и оставляет себе всё, что не вернулось с ошибкой, — именно поэтому info@ и john@ получают почту, на которую никто никогда не подписывался. Два других пути — это чей-то чужой взломанный список контактов и домен, который принимает любое имя, включая те, что вы никогда не выпускали.
Обучает ли удаление спама мой спам-фильтр?
Нет. Удаление убирает письмо и не учит фильтр ничему, поэтому следующее письмо снова попадёт во «Входящие». Обучает именно жалоба на спам, — а перемещение письма, пойманного по ошибке, обратно из папки «Спам» обучает его точно так же, только в обратную сторону, и это ничуть не менее полезно.
Можно ли узнать, кто продал мой email-адрес?
Только если вы позаботились об этом заранее. Если каждый сервис получил адрес, которого нет ни у кого другого, ответ лежит прямо в строке To: этого спама. Если все они получили один и тот же адрес, сравнивать нечего и приписать утечку некому, — и именно в этом главный довод в пользу catch-all-домена.
Останавливают ли одноразовые адреса спам?
Они не дают ему добраться до вас, а это не то же самое, что остановить его вообще. Почта, отправленная на одноразовый адрес, приходит, удаляется через 5 дней и никогда не касается ящика, который вы читаете. Это делает его правильным инструментом для регистрации, которую не нужно сохранять, и неправильным — для всего, что вам, возможно, придётся восстанавливать.
Мой адрес обнаружился в утечке данных — стоит ли его менять?
Меняйте то, что от него зависит, а не сам адрес. Смените адрес восстановления на важных аккаунтах, поменяйте любой пароль, который использовали ещё где-то, и включите двухфакторную аутентификацию там, где она предлагается. С этого дня адрес публичен и снова приватным уже не станет, так что полезная работа — ограничить то, что он всё ещё способен открыть.

