SpamCop
SpamCop (рус. СпамКоп, Коп спама, Спамомент) — былинный, древний как говно мамонта и суровый как челябинский фрезеровщик сервис для репортинга и экстерминатуса спама. Представляет собой ядерную смесь из парсера почтовых заголовков, автоматического генератора жалоб провайдерам (так называемых абуз или ЛАРТов — Luser Attitude Readjustment Tool) и параноидального DNSBL (Domain Name System Blackhole List). В далеком 1998 году сервис был запилен на коленке неким Джулианом Хейтом (Julian Haight) чисто ради лулзов и личного удобства, но внезапно взлетел, оброс жиром, пользователями, 100500 ненавистниками и в 2003 году был куплен конторой IronPort, которую в 2007 году с потрохами сожрала вездесущая Cisco.
С тех пор SpamCop влачит зомби-существование под крылом корпорастов, периодически доставляя тонны драмы, боли и анальных страданий сисадминам по всему глобусу. Особенно доставляет тот факт, что алгоритмы копа блокируют целые подсети за 1 или 2 жалобы, а в черные списки регулярно улетают сервера Microsoft, Google и прочих гигантов, заставляя эникейщиков рвать волосы на заднице от безысходности. Вся суть проекта сводится к тому, чтобы дать рядовому юзеру в руки дубину, которой он может ебнуть по голове провайдера, с чьих айпишников льется нежелательная реклама виагры или предложения получить 1000000 долларов от нигерийского принца.
Как это начиналось[править]
В суровые 90-е годы интернет был теплым, ламповым, а скорости измерялись в 10-х долях килобита. Однако уже тогда ушлые маркетологи смекнули, что можно рассылать рекламный мусор на 1000 адресов совершенно бесплатно. Обычный юзер, скачивая почту через Outlook Express по модему 56k, платил за время соединения, и получение 10 мегабайт спама влетало ему в копеечку. Именно тогда Джулиан Хейт решил, что терпеть это больше нельзя. В 1998 году он написал скрипт на Perl, который брал сырой код письма, выковыривал из него заголовки Received, определял реальный айпишник отправителя (игнорируя поддельные), делал WHOIS запрос и отправлял гневное письмо на адрес abuse провайдера.
Проект оказался настолько винрарным, что к нему быстро подключились 1000 других нердов. Сервер начал пухнуть от потока данных, и Хейт прикрутил к нему автоматический черный список (SCBL — SpamCop Blocking List). Идея была гениальна в своей простоте: если с 1 IP-адреса приходит слишком много жалоб от пользователей, этот IP автоматически попадает в зону отчуждения. Любой почтовый сервер в мире мог настроить у себя проверку по DNS, и если IP отправителя числился в SCBL, письмо безжалостно дропалось с ошибкой 554.
Алгоритм, однако, не отличался особой интеллектуальностью. Если какой-нибудь Вася Пупкин настраивал на своем сервере кривой автоответчик, который слал сообщения об отпуске в ответ на поддельный спам, SpamCop тут же банил сервер Васи. Это породило первые волны ненависти со стороны админов, которые внезапно обнаруживали, что их корпоративная почта не ходит, потому что какой-то левый хер на другом конце планеты нажал кнопку Report Spam.
Как это работает[править]
С технической точки зрения SpamCop — это шедевр костылестроения и регулярных выражений. Чтобы понять всю глубину глубин, анонимус должен вникнуть в то, как вообще работает электронная почта. Когда ты жмешь кнопку Отправить, письмо не летит напрямую получателю. Оно проходит через 2, 3, а то и 10 промежуточных серверов (MTA). Каждый такой сервер оставляет в заголовке письма свой след — строку Received.
Спамеры — народ хитрый. Они часто подделывают эти заголовки, добавляя 5 или 6 фальшивых строк, чтобы запутать следы. Письмо может выглядеть так, будто оно отправлено из Пентагона, затем прошло через сервер Ватикана и только потом попало к тебе. Парсер SpamCop берет эти строки и начинает раскручивать цепочку с конца (от твоего сервера) к началу. Он проверяет соответствие IP-адресов доменным именам, ищет несостыковки и, как только находит 1-й же обрыв логики, объявляет предыдущий узел источником спама.
Return-Path: [email protected] Received: from mx.твое-мыло.com (192.168.1.1) by mail.твое-мыло.com with ESMTP; 5 Mar 2026 12:00:00 -0000 Received: from fake.pentagon.mil (10.0.0.1) by mx.твое-мыло.com with ESMTP; 5 Mar 2026 11:59:59 -0000 Received: from localhost (127.0.0.1) by fake.pentagon.mil with SMTP; 5 Mar 2026 11:58:00 -0000
В этом простом примере парсер SpamCop увидит, что твой сервер принял письмо от IP 10.0.0.1, который представился как fake.pentagon.mil. Парсер сделает DNS-запрос, поймет, что 10.0.0.1 — это нищебродский VPS в Урюпинске, проигнорирует все строчки ниже и радостно сгенерирует абузу провайдеру в Урюпинск, а сам IP 10.0.0.1 занесет в свою расстрельную книгу.
DNSBL и магия 127.0.0.2[править]
Как почтовые сервера узнают, что IP забанен? Через костыль, придуманный еще во времена динозавров — DNS-запросы. Допустим, к твоему Postfix стучится IP 4.3.2.1. Твой сервер переворачивает его задом наперед (1.2.3.4), приписывает к нему адрес блэклиста (bl.spamcop.net) и делает обычный DNS-запрос: 1.2.3.4.bl.spamcop.net.
Если IP чист, DNS вернет ответ NXDOMAIN (типа, знать такого не знаю). Если же IP засветился в рассылке виагры, DNS-сервер SpamCop вернет магический IP-адрес 127.0.0.2. Это сигнал для твоего сервера: Ахтунг! Спамер на горизонте! Глуши его! И твой сервер выдает в сессию SMTP заветное: 554 5.7.1 Service unavailable; Client host 4.3.2.1 blocked using bl.spamcop.net
Эпик фейл 2021 года[править]
31 января 2021 года произошло событие, вошедшее в анналы сисадминских форумов как день, когда Cisco забыла заплатить за интернет. Суть такова: любое доменное имя нужно продлевать. Обычно корпорации платят за свои домены на 10 лет вперед, но в Cisco, видимо, посадили следить за доменом spamcop.net индуса, который ушел в отпуск. В результате домен истек.
Но это еще полбеды. Регистратор домена (Enom) по дефолту перенаправил все запросы к истекшему домену на парковочную страницу конторы Sedo, которая показывает рекламу. А парковочные DNS-сервера Sedo настроены так, чтобы отвечать успешным IP-адресом на ЛЮБОЙ запрос к поддомену (wildcard DNS).
Что произошло дальше? Правильно. Миллионы почтовых серверов по всему миру, которые были настроены на проверку через bl.spamcop.net, начали спрашивать: А забанен ли IP 8.8.8.8 (Google)?. Запрос улетал на парковочный сервер Sedo, который радостно отвечал: Да, братан, вот тебе IP парковки 23.63.246.147!. Почтовый сервер получал положительный ответ (неважно какой, главное не NXDOMAIN) и думал: Ага, Гугл в блэклисте! Блокируем!.
В течение нескольких часов половина интернета перестала принимать почту вообще. Вся легитимная переписка, финансовые отчеты, признания в любви и порно рассылки — всё летело в черную дыру с пометкой blocked using bl.spamcop.net. На Reddit в сабреддите r/sysadmin начался сущий ад. Админы бегали по потолку, судорожно выпиливая SpamCop из конфигураций своих серверов.
All my domains are being blacklisted now by multiple mail services, also by Google... 550 Email blocked by bl.spamcop.net. How it it possible that they query a domain which does not exist anymore, is there no check if the received data is valid or not?!
Самое смешное, что на форум пришел сам основатель Джулиан Хейт, который уже давно не работал в Cisco, и охренел вместе со всеми:
As the founder of spamcop (but no longer maintaining it myself), I find this distressing... Shrug. Good luck with that, Cisco. Nice work. I was always amazed at how long the site was kept alive, seemingly with few changes. Maybe this is how it ends.
Через сутки индусы в Cisco проснулись, занесли пару баксов регистратору, и домен ожил. Но осадочек остался. Многие сисадмины навсегда вычеркнули SpamCop из своих конфигов, перейдя на более вменяемые списки типа Spamhaus.
Нескончаемая война с Microsoft[править]
Еще один вечный источник лулзов — это взаимоотношения SpamCop и мегакорпорации добра Microsoft. Дело в том, что Microsoft 365 (бывший Office 365) использует гигантские пулы общих IP-адресов для отправки почты своих клиентов. То есть, с 1 и того же IP-адреса летит почта как респектабельного банка, так и какого-нибудь школьника, зарегистрировавшего триальный аккаунт для рассылки троянов.
Поскольку SpamCop работает исключительно на математической статистике (количество спам-репортов против общего объема почты с IP), сервера Microsoft регулярно пробивают дно и улетают в блэклист. Ситуация выглядит так:
- Какой-то индус регистрирует 100500 фейковых аккаунтов onmicrosoft.com.
- Индус начинает слать фишинг.
- Пользователи SpamCop массово жмут кнопку Report.
- Рейтинг IP-адреса падает ниже плинтуса.
- IP улетает в бан.
- Честный бизнесмен из Техаса пытается отправить контракт на 1000000 долларов.
- Его письмо отправляется через тот же IP, что и спам индуса.
- Письмо отбивается с ошибкой 554 blocked by bl.spamcop.net.
- Бизнесмен звонит своему сисадмину и обещает уволить его без выходного пособия.
Сисадмины массово пишут в саппорт Microsoft. Саппорт Microsoft отвечает: Проблема не на нашей стороне, это сторонний сервис нас заблокировал, идите к ним. Сисадмины идут в саппорт SpamCop. Саппорт SpamCop отвечает: Мы не можем отключить автоматику. Пусть Microsoft перестанет слать спам, и через 24 часа блокировка снимется автоматически. Мы не делаем вайтлистов. Круг замыкается, все жрут говно.
На Reddit такие треды появляются с завидной регулярностью, примерно раз в 2 недели:
Spamcop still blocking Microsoft e-mail servers like: 40.107.20.123. Last year most Microsoft e-mail servers were on the blacklist of spamcop. They resolved the issue then but last couple of months, some e-mail servers are back on the spamcop list. Tickets logged to Microsoft are automatticly closed. They say the issue is not know by them.
И так продолжается годами. Единственное решение, которое находят админы — это полностью выпилить проверку по SpamCop, тем самым пропуская на свои сервера тонны реального спама, либо ставить костыли, которые игнорируют блэклист, если письмо пришло из подсетей Microsoft. В итоге спамеры, знающие эту фишку, специально используют триалки Microsoft 365, чтобы их спам гарантированно доходил до адресатов, которые добавили подсети Microsoft в белые списки. Бесконечный цикл идиотизма.
Анатомия репорта[править]
Для того чтобы отправить репорт, пользователь должен скопировать полный исходный код письма (с заголовками и телом) и вставить его в уродливую текстовую форму на сайте spamcop.net, дизайн которого не менялся с 1998 года. После нажатия кнопки Process Spam, система выдает простыню текста, в которой описывает, как она разбирала заголовки.
Если все прошло успешно, система предлагает поставить галочки напротив адресов abuse, которым будет отправлена жалоба. В 99 процентах случаев жалоба улетит в пустоту, потому что:
- Адрес abuse давно не читается.
- Адрес abuse принадлежит самому спамеру (абузоустойчивый хостинг в Белизе или Панаме).
- Провайдеру тупо насрать.
Однако, если спамер оказался дебилом и разослал свой мусор через нормального провайдера (например, через взломанный аккаунт на Amazon AWS или DigitalOcean), то после репорта аккаунт спамера будет заблокирован со скоростью звука, так как крупные облачные провайдеры очень не любят, когда их IP-адреса попадают в черные списки, ведь от этого страдает их бизнес.
У SpamCop есть платная версия (Premium), которая дает пользователям невероятные преимущества: отключение рекламы на сайте и возможность посмотреть историю своих репортов. Оплата производится топливом (Fuel) — 1 доллар за 1 мегабайт обработанного спама. Да, вы не ослышались. В 2026 году сервис берет деньги за мегабайты текста.
Mole Reporting (Режим Крота)[править]
Для особо параноидальных спамоборцев в настройках профиля есть галочка Mole. Суть в следующем: многие умные спамеры используют репорты SpamCop как механизм очистки своих баз. Когда спамер получает от SpamCop абузу, в ней часто содержится само письмо, по которому спамер может вычислить уникальный идентификатор юзера и удалить его из базы. Юзер перестает получать спам, радуется и думает, что SpamCop работает. На самом деле спамер просто исключил проблемного юзера, чтобы продолжить гадить остальным 1000000 людей без риска нарваться на новые репорты.
Режим Крота отключает отправку реальных писем-абуз провайдерам. Вместо этого система просто молча поглощает данные, пополняет свою статистику и тихо банит IP-адреса в SCBL. Спамер не получает фидбека, не знает, кто на него стучит, и продолжает слать спам, пока его IP не оказывается полностью заблокирован по всему миру. Это путь истинных джедаев, которым не важен личный покой, а важна тотальная аннигиляция врага.
Слезы админов и FAQ[править]
FAQ (Часто Задаваемые Вопросы) на сайте SpamCop — это отдельный вид литературного искусства. Он написан сухим, канцелярским, но при этом невероятно издевательским тоном. Администрация прямо говорит: мы ничего не гарантируем, наша система может заблокировать легитимную почту, если вы ею пользуетесь — вы сами себе злобные буратины.
Вот типичные вопросы и ответы из мира SpamCop:
Вопрос: Я был ложно и/или злонамеренно обвинен в рассылке спама, что мне делать? Ответ: Ложные репорты не терпятся. Пользователи, которые это делают, будут забанены. Но чтобы мы приняли меры, докажите нам свою невиновность. Если ваш IP в блоклисте — ждите 24 часа, он сам удалится, если спам прекратится. И не пишите нам с угрозами судом, иначе мы передадим ваше письмо в наш юридический отдел, и это займет месяцы.
Вопрос: Но мой сервер защищен от релея! Ответ: Ага, конечно. Ваш сервер защищен, но у вас есть аккаунт test/test, через который спамеры шлют миллионы писем по SMTP AUTH. Идите учите матчасть и смотрите логи.
Вопрос: Почему вы заблокировали мой сервер автоответчика? Ответ: Потому что автоответчики — это зло. Они отвечают на поддельные адреса отправителей в спаме, тем самым сами становясь источниками спама (так называемые misdirected bounces). Выключите свой тупой автоответчик или настройте SPF проверки.
В разделе для админов регулярно появляются гневные посты от владельцев FFA-сайтов (Free For All — старинная хрень для обмена ссылками), которые жалуются, что их рассылки блокируют. SpamCop непреклонен: любая рассылка, на которую человек не дал явного двойного согласия (Double Opt-in), считается спамом. Даже если в письме есть кнопка Отписаться. Ибо Отписка подтверждает спамеру, что адрес живой, и он продает его еще 100 спамерам.
Как настроить свой сервер на использование SCBL[править]
Если анонимус — начинающий сисадмин и хочет приобщиться к миру блокировок, ему нужно прописать 1 строчку в конфигурации своего MTA.
Для православного Postfix это делается в файле /etc/postfix/main.cf:
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_rbl_client bl.spamcop.net,
permit
Но если анонимус сделает именно так, его ждут бессонные ночи и звонки от разяренного начальства, потому что, как мы уже выяснили, SpamCop банит подсети целыми пачками. Правильные пацаны не используют SpamCop для жесткого реджекта (отклонения) писем. Они используют его в системах скоринга (начисления баллов), таких как SpamAssassin или Rspamd.
В SpamAssassin попадание IP-адреса в список SpamCop дает письму, скажем, 1.5 балла (из необходимых 5 для признания спамом). Таким образом, если письмо пришло с серверов Microsoft, которые забанил SpamCop, но при этом письмо содержит правильный DKIM, SPF и нормальный текст без ссылок на казино, оно не будет помечено как спам. Но если письмо пришло с забаненного IP и внутри предлагает увеличить член на 20 сантиметров за 1 день — баллы суммируются, и письмо отправляется в /dev/null.
Виды спама, которые ловятся копом[править]
Чтобы понять, с чем борется система, нужно классифицировать потоки говна, льющегося в почтовые ящики.
- Нигерийские письма (Scam 419). Классика жанра. Вдова покойного диктатора Зимбабве просит помочь вывести 50000000 долларов из страны, обещая 30 процентов от суммы. Спам рассылается с ботнетов или взломанных аккаунтов. SpamCop легко вычисляет источник и банит IP зараженного компьютера.
- Фарма (Виагра, Сиалис). Канадские аптеки, предлагающие таблетки по 1 доллару за ведро. Часто используют запутанные цепочки редиректов и обфусцированные URL. Парсер SpamCop умеет извлекать URL из тела письма и отправлять абузы регистраторам доменов, требуя разделегировать домен спамера.
- Фишинг (Phishing). Письма от имени Вашего банка, PayPal или Apple, требующие срочно перейти по ссылке и ввести пароль. Самый опасный вид спама. Именно из-за фишинга Microsoft постоянно попадает в блэклисты, так как злоумышленники используют легитимные сервисы SharePoint или OneDrive для размещения фишинговых страниц, а почту шлют через Exchange Online.
- Рассылки от легитимного бизнеса. Какая-нибудь фирма Рога и Копыта покупает базу из 10000 email-адресов у хакеров и начинает слать предложения купить у них бетон оптом. Когда такие деятели получают абузу от SpamCop, они начинают громко визжать, что они честные коммерсанты, а их база абсолютно легальная. SpamCop таких не прощает и банит с особой жестокостью.
- Joe Job. Подстава. Спамер шлет миллионы писем, подставляя в поле От кого адрес невинного человека, которому хочет отомстить. В результате почтовый ящик жертвы разрывает от десятков тысяч гневных автоответов и сообщений о недоставке (bounces). SpamCop призывает банить такие автоответчики, так как они усугубляют проблему.
Смерть Usenet и эволюция спама[править]
В ранние годы SpamCop активно боролся со спамом в группах новостей (Usenet). В факе до сих пор висят покрытые слоем пыли инструкции о том, как правильно репортить сообщения из ньюсгрупп. Но к 2026 году Usenet практически вымер, оставшись уделом гиков, обменивающихся бинарниками фильмов в зашифрованных RAR-архивах.
Спам эволюционировал. Сегодня злоумышленники не просто шлют текст. Они используют HTML, закодированный в Base64, прячут текст в картинки (Image Spam), используют невидимые пиксели для трекинга открытий. Парсер SpamCop с годами становился все более параноидальным. Если юзер пришлет спам, в котором длинная строка заголовка была неправильно перенесена (word wrap) его кривым почтовым клиентом типа Outlook, парсер выдаст фатальную ошибку и откажется обрабатывать письмо. Юзер должен сам руками восстанавливать структуру MIME-кодировки, иначе система скажет No reports filed. Это породило прослойку элитных спамоборцев, которые часами сидят в блокноте, декодируя Base64 и восстанавливая RFC-совместимость заголовков, только ради того, чтобы нажать кнопку Наказать.
Ритуалы и обряды обжалования[править]
Если ваш IP попал в SCBL, вы не можете просто нажать кнопку Я больше не буду. Система полностью автоматизирована. Она живет своей жизнью, подобно Скайнету. Ваш IP удалится из базы только через 24 часа после того, как SpamCop перестанет получать жалобы или письма в свои спам-ловушки (spamtraps).
Спам-ловушки — это отдельная гордость системы. Это миллионы несуществующих email-адресов, раскиданных по интернету на скрытых страницах. Нормальный человек никогда их не найдет и не напишет на них письмо. Но боты спамеров, сканирующие веб-страницы в поисках символа @, с радостью их собирают. Любое письмо, пришедшее на такой адрес, автоматически считается стопроцентным спамом со 100-процентной достоверностью, без участия человека. И если ваш сервер из-за кривых настроек форвардинга перешлет спам на такой адрес — ваш рейтинг рухнет в бездну мгновенно. Вес отчета из спам-ловушки в несколько раз превышает вес ручного репорта от юзера.
If a server sends bounces to an SCBL spamtrap in sufficient quantity to meet the listing criteria, the SCBL will list that server. Viruses and spam often use addresses from the list of recipients to populate the From: field. Sometimes, these addresses are spamtraps.
Это значит, что если вы настроили Catch-all переадресацию (принимать всю почту на несуществующие адреса в вашем домене и пересылать куда-то еще), и спамер пришлет вам письмо, подделав адрес отправителя на адрес спам-ловушки, ваш сервер попытается отправить сообщение об ошибке (bounce) на эту ловушку. И БАМ! Вы в черном списке. Добро пожаловать в ад.
Интеграция с корпоративной бюрократией Cisco[править]
После покупки SpamCop компанией IronPort (а затем Cisco), сервис был интегрирован в энтерпрайз-продукты, такие как Cisco Email Security Appliance (ESA). Корпоративные клиенты платят десятки тысяч долларов за железяки, которые, помимо прочего, используют базы SpamCop для фильтрации трафика.
Но сам бесплатный сайт spamcop.net остался брошенным на произвол судьбы. Верстка таблицами, отсутствие мобильной адаптации, устаревшие CGI-скрипты. Форум технической поддержки работает на доисторическом движке. Периодически сайт падает под DDoS-атаками от обиженных спамеров или из-за банальной нехватки ресурсов. Саппорт на форуме состоит из пары пенсионеров-волонтеров (так называемых Deputies — Помощников шерифа), которые разжевывают новичкам, почему их репорты не проходят.
Один из показательных моментов: раздел Отправить баг-репорт ссылается на форму обратной связи, которая часто выдает ошибку сервера. Это идеальная метафора работы современных IT-гигантов: купить хороший независимый проект, забрать его базы данных для своих коммерческих продуктов, а оболочку для комьюнити оставить гнить, не выделяя ни цента на поддержку.
Альтернативы[править]
В мире борьбы со спамом SpamCop не одинок. У него есть могучие конкуренты, которые во многом обошли старика:
- Spamhaus (Проект Спамхаус) — швейцарская мафия антиспама. Самый авторитетный и страшный блоклист в мире (SBL, XBL, PBL). Если вы попали в Spamhaus, вы не отправите письмо даже собственной бабушке. Они работают с провайдерами напрямую, у них есть свои следователи, которые деанонимизируют спамеров и подают на них в суд. В отличие от автоматизированного SpamCop, у Spamhaus есть ручная модерация и сложный процесс апелляции.
- SURBL / URIBL — списки, которые блокируют не IP-адрес отправителя (потому что IP можно менять каждую секунду через ботнеты), а доменное имя сайта, которое рекламируется ВНУТРИ тела письма. Это гораздо эффективнее, так как спамеру приходится постоянно покупать новые домены, что стоит денег. SpamCop частично делится своими данными с SURBL.
- Barracuda Reputation Block List (BRBL) — проприетарный список от создателей спам-фильтров Barracuda. Работает по своим мутным алгоритмам.
- SORBS — еще один древний список, славящийся невероятным количеством ложных срабатываний. Если ваш IP попал в SORBS, проще сменить провайдера, чем доказать им, что вы не верблюд. Недавно наконец-то сдох и закрылся, вызвав вздох облегчения у всего комьюнити.
Философия[править]
Зачем люди до сих пор пользуются SpamCop? Почему они тратят свое личное время на то, чтобы парсить заголовки, декодировать скрипты и отправлять абузы, зная, что 90 процентов этих репортов уйдут в корзину на стороне провайдера?
Это сродни медитации. Или уборке мусора в лесу. Ты понимаешь, что завтра кто-то снова бросит бутылку, но сегодня ты сделал мир на 1 бит чище. Это форма пассивной агрессии, легальный способ выразить свою ненависть к системе потребления, рекламы и мошенничества. Нажимая кнопку Process Spam, анонимус чувствует себя карающим мечом правосудия. Он смотрит на логи парсера и видит, как где-то в Китае или Бразилии сервер провайдера получает автоматическую жалобу. Возможно, админ этого провайдера лениво закроет порт 25 для зараженного клиента. И тогда 1 маленький спам-бот заткнется навсегда.
Кроме того, это отличный способ изучить сетевые технологии. Ничто так не развивает понимание DNS, TCP/IP, SMTP и криптографии, как попытка распутать хитросплетения фальшивых заголовков, созданных профессиональным русским хакером для обхода фильтров Google Workspace.
Словарь терминов для начинающего копа[править]
- Munge (Манджинг) — процесс искажения или замены личных данных (например, твоего email-адреса) в тексте спама перед отправкой абузы, чтобы спамер не узнал, кто на него стучит. SpamCop делает это автоматически, меняя твой адрес на [email protected], но умные спамеры вшивают скрытые ID в ссылки (например, http://spam.com/click?id=123456).
- LART — уже упоминалось. Термин из эпохи BOFH (Bastard Operator From Hell). Инструмент для вправления мозгов тупым пользователям. В контексте антиспама — письмо-жалоба провайдеру с требованием отключить клиента.
- Open Relay (Открытый релей) — почтовый сервер, настроенный криворуким админом так, что он принимает почту от кого угодно и пересылает кому угодно без авторизации. Мечта спамера. Во времена зарождения SpamCop 90 процентов спама шло через открытые релеи. Сейчас они почти вымерли, им на смену пришли открытые прокси (Open Proxies) и ботнеты.
- Joe Job — подделка адреса отправителя. Названо в честь Джо Долла, первого чувака, которого таким образом жестко подставили в 1997 году.
- Snowshoe Spam (Снегоступный спам) — тактика, при которой спамер распределяет рассылку тонким слоем по огромному количеству IP-адресов (например, покупает подсеть /16) и шлет с каждого IP по 1 письму в час. Статистические фильтры типа SpamCop сходят с ума, потому что объем с каждого отдельного IP не превышает пороговых значений.
Как завалить соседа через SpamCop[править]
Предположим, твой сосед — хакер, и он держит у себя дома сервер. Ты хочешь, чтобы его IP попал в SCBL. Что делать? (Внимание: данный раздел предоставлен исключительно в образовательных целях, администрация ответственности не несет).
- Нельзя просто взять и написать письмо от его имени. SpamCop проверяет реальный IP, с которого было установлено TCP-соединение.
- Тебе нужно заставить сервер соседа отправить спам. Если у него открытый прокси или релей — задача тривиальна. Подключаешься к его порту 25 через telnet и отправляешь письмо на свой адрес.
- Копируешь полученное письмо с полными заголовками, скармливаешь в SpamCop.
- Профит! Сервер соседа в блэклисте на 24 часа. Повторять до наступления полного просветления.
Однако, если сосед не дурак и закрыл все порты, этот фокус не пройдет. Парсер SpamCop невозможно обмануть простой подделкой текста заголовка, так как он сверяет IP с DNS-записями и проверяет цепочку связей. Если ты добавишь фальшивый Received с его IP, парсер скажет: Ага, ты говоришь, что письмо пришло от соседа к твоему провайдеру, но IP твоего провайдера не совпадает с тем, что заявлен. Цепочка разорвана, репорт недействителен.
Влияние на мировую экономику[править]
Оценивать экономический эффект от работы таких сервисов, как SpamCop, сложно, но цифры впечатляют. Ежедневно в мире отправляются миллиарды писем, из которых около 50-70 процентов составляет спам. Если бы вся эта масса падала в инбоксы пользователей, почтовые сервера пришлось бы масштабировать в сотни раз, а люди тратили бы по 2 часа в день только на очистку папки Входящие.
SpamCop, отсекая мусор на этапе SMTP-сессии (на уровне пакетов, до передачи самого тела письма), экономит гигабайты трафика и петабайты дискового пространства корпорациям. Именно за это Cisco и купила технологию. Но это обоюдоострый меч. Из-за ложных срабатываний теряются миллионы долларов упущенной выгоды. Представьте, что письмо с подтверждением бронирования отеля на 5000 баксов не доходит клиенту, потому что сервер бронирования оказался в 1 пуле с сервером спамера на хостинге GoDaddy. Клиент уходит к конкурентам, отель теряет деньги.
Админы отелей звонят в GoDaddy, орут матом. GoDaddy судорожно пытается найти спамера в своей сети из 100000 серверов. Ищет логи, блокирует аккаунт. Через 24 часа SpamCop снимает бан. Система очищается. До следующего индуса с триальным аккаунтом.
Примеры из дикой природы (Код, логи и мат)[править]
Чтобы полностью прочувствовать всю эстетику, погрузимся в примеры отлупов (Bounces), которые получают админы каждый день.
host mx.yandex.ru [77.88.21.89] said: 554 5.7.1 Service unavailable; Client host[192.168.0.100] blocked using bl.spamcop.net; Blocked - see http://www.spamcop.net/bl.shtml?192.168.0.100 (in reply to RCPT TO command)
Что делает админ, видя это? Он идет по ссылке. И видит там красную надпись: System 192.168.0.100 has been listed for 12 hours. It was reported 42 times by SpamCop users. The most recent spam was sent 2 hours ago.
Админ понимает, что в его локалке завелась крыса. Кто-то из офисного планктона, скачивая кряк для фотошопа, подцепил трояна, который теперь использует его комп как спам-бота, рассылая мусор через NAT офисного роутера. Админ отключает интернет всему этажу, бежит с флешкой антивируса и начинает методично сканировать каждую машину, параллельно слушая вопли бухгалтерии о том, что у нас горят проводки!.
А вот пример того, как выглядит кусок конфигурации SpamAssassin, который интегрирует SpamCop в более мягком режиме:
header RCVD_IN_BL_SPAMCOP_NET eval:check_rbl('spamcop-lastexternal', 'bl.spamcop.net.', '127.0.0.2') describe RCVD_IN_BL_SPAMCOP_NET Received via a relay in bl.spamcop.net tflags RCVD_IN_BL_SPAMCOP_NET net score RCVD_IN_BL_SPAMCOP_NET 1.5
Здесь видно, что разработчики SpamAssassin специально присвоили списку SpamCop весьма скромный балл — 1.5. Для сравнения, попадание в список Spamhaus ZEN может давать сразу 3 или 4 балла. Это официальное признание всем сообществом опенсорса того факта, что SpamCop — истеричка, которой нельзя доверять принятие окончательных решений.
Как не попасть под каток[править]
Если ты, мой юный друг, решил поднять свой почтовик для рассылки корпоративного дайджеста, вот тебе 10 заповедей, написанных кровью предшественников, чтобы не быть распятым на серверах Cisco:
- Не покупай базы. Никогда. Ни у кого. Любая купленная база содержит спам-ловушки SpamCop. Отправишь 1 письмо — сдохнешь.
- Настрой Double Opt-In. Юзер должен ввести email, получить ссылку-подтверждение и кликнуть по ней. И даже это не спасет, если юзер — кретин, который завтра забудет, что подписался, и нажмет кнопку Спам в интерфейсе своего почтовика.
- Используй выделенный IP. Не шли почту с шаред-хостинга. Там до тебя сидели 100 дорвейщиков, и этот IP будет отмываться годами.
- Настрой Reverse DNS (PTR). IP-адрес твоего сервера должен резолвиться в имя твоего почтовика, а имя почтовика — резолвиться обратно в этот IP. Без этого SpamCop будет смотреть на тебя как на говно.
- DKIM, SPF, DMARC. Святая троица. SpamCop на них похуй, он парсит голые айпишники, но для всех остальных фильтров это жизненно необходимо.
- Обрабатывай Bounces и FBL (Feedback Loops). Если письмо вернулось с ошибкой не существует, немедленно удаляй адрес из базы. Иначе завтра этот адрес превратится в спам-ловушку.
- Следи за объемами. Не шли 100000 писем в 1-й день. Прогревай IP постепенно.
- Отдели мух от котлет. Транзакционные письма (сброс пароля, чеки) шли с 1 IP-адреса, а маркетинговый булшит — с другого. Если маркетинг забанят в SpamCop, твои пользователи хотя бы смогут восстановить пароль.
- Не шли вложения. Никаких PDF или DOCX в массовых рассылках. Это сразу триггерит 100 фильтров на малварь.
- Молись. Потому что даже если ты выполнишь все 9 пунктов, Microsoft может случайно забанить тебя просто так, а SpamCop добавит за компанию.
Кто виноват и что делать?[править]
Проблема спама не техническая, а социально-экономическая. Пока конверсия от рассылки 10000000 писем приносит хотя бы 100 долларов прибыли, превышающей затраты на аренду ботнета (которые стремятся к нулю), спам будет существовать. Фильтры типа SpamCop борются не с причиной, а с симптомами. Они затыкают дыры в ржавом корыте, которое продолжает плыть по волнам интернета.
Технологии вроде блокчейна, доказательства работы (Proof of Work), микротранзакций за отправку писем — все это обсуждалось в кулуарах IETF десятилетиями. Но внедрить это в масштабах планеты невозможно, потому что протокол SMTP децентрализован, свободен и не имеет единого хозяина. Любая попытка ввести плату за email убьет саму суть электронной почты как бесплатного средства коммуникации. Поэтому мы обречены вечно играть в кошки-мышки со спамерами, используя дубинки вроде SpamCop.