Думаю лишним будет много говорить о том, каким великим Злом является спам и как люто он бесит в последнее время. Фильтровать спам в Claws Mail можно с помощью SpamAssassin и Bogofilter.
Речь здесь пойдёт про борьбу со спамом в почтовом клиенте Claws Mail для ОС Debian Linux, но сама конфигурация Claws Mail в ОС Debian Linux практически ничем не отличается от конфигурации для ОС Windows, а на .exe инсталлятор нажимать, думаю, слишком много ума не нужно.
Значит первым делом нам нужно установить сервер spamassassin, настроить конфиги и запустить демон/сервис spamd. С установкой в Windows, у неопытных пользователей, могут возникнуть некоторые сложности - например (https://wiki.apache.org/spamassassin/InstallingOnWindows), сборка для Windows есть, но она кажись (http://www.jam-software.com/spamassassin/) триальная/демо.
Spam Assassin под Windows можно собрать в Cygwin среде, но это отдельная песня. Поэтому, некоторым Windows-юзерам, возможно, стоит обратить внимание в сторону почтового клиента ThunderBird, где для фильтрации спама spamassassin сервер не требуется.
Начнёмс...
Установка и конфигурация Spam Assassin
Устанавливаем spamassassin, включаем его в конфиге (ENABLED=1), а также указываем запуск от имени debian-spamd (ака "... --username=debian-spamd --groupname=debian-spamd
"):
$ apt-get install spamassassin $ vi /etc/default/spamassassin # Change to one to enable spamd ENABLED=1 # Options # See man spamd for possible options. The -d option is automatically added. # SpamAssassin uses a preforking model, so be careful! You need to # make sure --max-children is not set to anything higher than 5, # unless you know what you're doing. OPTIONS="--create-prefs --max-children 5 --helper-home-dir \ --username=debian-spamd --groupname=debian-spamd"
В некоторых случаях пользователь debian-spamd может именоваться просто spamd, проверить просто:
$ less /etc/passwd|grep spam && less /etc/group|grep spam debian-spamd:x:118:128::/var/lib/spamassassin:/bin/false debian-spamd:x:128:
Правим основной конфиг демона spamd (local.cf):
$ vi /etc/mail/spamassassin/local.cf # Add *****SPAM***** to the Subject header of spam e-mails # rewrite_header Subject *****SPAM***** ... # Set the threshold at which a message is considered spam (default: 5.0) # required_score 1.0 ... # Set headers which may provide inappropriate cues to the Bayesian # classifier # bayes_ignore_header X-Bogosity bayes_ignore_header X-Spam-Flag bayes_ignore_header X-Spam-Status bayes_ignore_header X-Yandex-Spam bayes_ignore_header X-Spam $ service spamassassin restart
required_score = 1 если сервер spamassassin работает в однопользовательской среде (домашний ПК), а не на публичном сервере с множеством юзеров. bayes_ignore_header - игнорируем оценки в заголовках письма устанавливаемые почтовым провайдером.
Запускаем spamassassin и проверяем есть ли spamd в процессах:
$ /etc/init.d/spamassassin start Starting SpamAssassin Mail Filter Daemon: spamd. $ ps aux | grep spam root 18721 1.0 3.5 43472 35972 ? Ss 04:48 0:04 \ /usr/sbin/spamd --create-prefs --max-children 5 --helper-home-dir \ --username=debian-spamd --groupname=debian-spamd -d \ --pidfile=/var/run/spamd.pid 118 18723 0.0 3.3 43472 34628 ? S 04:48 0:00 spamd child 118 18724 0.0 3.3 43472 34640 ? S 04:48 0:00 spamd child
Проверяем включен ли spamassassin в автозагрузку, и если нет, то включаем:
$ service --status-all $ update-rc.d spamassassin enable
Если меняем /etc/mail/spamassassin/local.cf, то делаем service spamassassin <stop|start|restart>
. Полный список переменных конфигурации смотрим здесь https://spamassassin.apache.org/full/3.4.x/doc/Mail_SpamAssassin_Conf.html
SpamAssassin работает на стандартном порту 783:
$ netstat -lnp | grep 783 tcp 0 0 127.0.0.1:783 0.0.0.0:* LISTEN \ 18721/spamd.pid
Проверить работает ли spamassassin можно файлом https://spamassassin.apache.org/gtube/gtube.txt (Test spam mail (GTUBE)), загрузив его на рабочий стол и выполнив команду:
$ spamassassin -D < ~/"Рабочий стол"/gtube.txt ... Received: from localhost by local.localhost with SpamAssassin (version 3.3.2); Wed, 11 Mar 2015 12:23:28 +0200 From: Sender <sender@example.net> To: Recipient <recipient@example.net> Subject: *****SPAM***** Test spam mail (GTUBE) Date: Wed, 23 Jul 2003 23:30:00 +0200 Message-Id: <GTUBE1.1010101@example.net> X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on local.localhost X-Spam-Flag: YES X-Spam-Level: ************************************************** X-Spam-Status: Yes, score=1000.0 required=5.0 tests=GTUBE,NO_RECEIVED, NO_RELAYS autolearn=no version=3.3.2 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------=_550017A0.E3535748" This is a multi-part message in MIME format. ------------=_550017A0.E3535748 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit Spam detection software, running on the system "local.localhost", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isnt spam) or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: This is the GTUBE, the Generic Test for Unsolicited Bulk Email If your spam filter supports it, the GTUBE provides a test by which you can verify that the filter is installed correctly and is detecting incoming spam. You can send yourself a test mail containing the following string of characters (in upper case and with no white spaces and line breaks): [...] Content analysis details: (1000.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 NO_RELAYS Informational: message was not relayed via SMTP 1000 GTUBE BODY: Generic Test for Unsolicited Bulk Email -0.0 NO_RECEIVED Informational: message has no Received headers ------------=_550017A0.E3535748 Content-Type: message/rfc822; x-spam-type=original Content-Description: original message before SpamAssassin Content-Disposition: inline Content-Transfer-Encoding: 8bit Subject: Test spam mail (GTUBE) Message-ID: <GTUBE1.1010101@example.net> Date: Wed, 23 Jul 2003 23:30:00 +0200 From: Sender <sender@example.net> To: Recipient <recipient@example.net> Precedence: junk MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit This is the GTUBE, the Generic Test for Unsolicited Bulk Email If your spam filter supports it, the GTUBE provides a test by which you can verify that the filter is installed correctly and is detecting incoming spam. You can send yourself a test mail containing the following string of characters (in upper case and with no white spaces and line breaks): XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X You should send this test mail from an account outside of your network. ------------=_550017A0.E3535748-- Мар 11 12:23:28.560 [4326] dbg: plugin: Mail::SpamAssassin::Plugin::MIMEHeader=HASH(0xa6d2a24) implements \ 'finish_tests', priority 0 Мар 11 12:23:28.561 [4326] dbg: plugin: Mail::SpamAssassin::Plugin::Check=HASH(0xa75a11c) implements 'finish_tests', \ priority 0 $
Теперь самое время перейти к установке плагинов фильтрации спама для Claws Mail...
SpamAssassin и Bogofilter
Поставить всё разом можно командой:
$ apt-get install claws-mail claws-mail-plugins claws-mail-extra-plugins
Расширения spamassassin.so и bogofilter.so, как и многие другие, расположены в каталоге /usr/lib/claws-mail/plugins
spamassassin.so
Данный плагин позволяет выделять спам из сообщений, полученных с IMAP, LOCAL или POP учетной записи, используя сервер SpamAssassin. Для нормальной работы требуется доступный сервер SpamAssassin (spamd).
Плагин добавляет возможность помечать сообщения как спам и не спам.
Если сообщение идентифицированные как спам, оно может быть удалено или сохранено в специальной папке.
Настройки найдете в /Настройки/Параметры/Модули/Убийца спама
Версия: 3.8.1
----------------------
bogofilter.so
Данный модуль позволяет выделять спам из сообщений, получения с учётных записей типа IMAP, LOCAL или POP, используя сервер SpamAssassin. Для нормальной работы требуется доступный сервер SpamAssassin (spamd).
Модуль добавляет возможность помечать сообщения как спам и не спам.
Если сообщение идентифицировано как спам, оно может быть удалено или сохранено в специальной папке.
Настройки находятся в /Настройки/Параметры/Модули/Bogofilter
Версия: 3.8.1
spamassassin.so активно подглюкивал в самом начале, выдавая время от времени мессагу:
Модуль SpamAssassin не смог отфильтровать сообщение. Вероятная причина этого - недоступный демон spamd. Пожалуйста, убедитесь, что spamd запущен и доступен.
---
The Spamassassin plugin couldn't filter a message. The probable cause of the error is an unreachable spamd daemon. Please make sure spamd is running and accessible.
Расписывать настройки модулей, наверное, нет особого смысла - вкл/выкл и т.д..
Некоторые глюки, вероятно, могут быть связаны с устаревшей версией 3.8.1 (последняя 3.11.х), которую в репозиториях Debian не особо торопятся обновлять, как всегда.
SpamReport (spamreport.so)
Ещё одно очень важное вспомогательное средство борьбы со спамом - плагин SpamReport. ...Для "стукачей" и "кляузников" :)
Этот модуль позволяет отправлять отчёты о спаме. Поддерживаются следующие сайты и методы: * spam-signal.fr * spamcop.net * lists.debian.org Версия: 0.3.16
spamcop.net довольно авторитетный сервис, который поддерживается компанией "Cisco Systems" и используется на многих маршрутизаторах большинства крупных почтовых провайдеров, но заодно также можно включить Debian Lists и spam-signal.fr.
Для того, чтобы использовать возможность "стучать" на спамеров в spamcop.net нам сначала нужно завести учётную запись по адресу https://www.spamcop.net/anonsignup.shtml и после авторизации получить адрес своего уникального почтового ящика на который будут направляться наши "кляузы" - адрес ящика выглядит примерно так: [email protected]
Открываем "Настройки/Параметры/Модули/SpamReport" и делаем:
- Spam-Signal.fr
- Включен: Да
- Имя пользователя: хххххх
- Пароль: хххххх
- spamcop.net
- Включен: Да
- Перенаправлять на: [email protected]
- Debian Lists
- Включен: Да
https://wiki.debian.org/Teams/ListMaster/ListArchiveSpam
- Включен: Да
С регистрацией на Spam-Signal.fr, при незнании французского, могут возникнуть некоторые сложности ибо из английской версии у них там только контактная форма, но предварительно страницу регистрации можно пропустить через https://translate.google.ru/, а страница регистрации вот она: https://www.signal-spam.fr/espace-membre/inscription
Теперь когда придёт чиргавая очередная мессага от какого-то спамера, то на ней кликаем правой кнопкой крысы мыши и в самом конце контекстного меню выбираем пункт "Report spam online..." - письмо спамера будет переслано для анализа в spamcop.net.
В ответ должно будет прийти ответное сообщение с уникальной ссылкой для подтверждения отчёта о спаме:
Subject: [SpamCop] has accepted 1 email for processing SpamCop is now ready to process your spam. Use links to finish spam reporting (members use cookie-login please!): http://www.spamcop.net/sc?id=хххххххххххххххххххххххххххххххххххххххх The email which triggered this auto-response had the following headers: Return-Path: <ххххх@gmail.com> Received: from vmx.spamcop.net (prod-sc-smtp4.sv4.ironport.com [10.8.129.214]) by prod-sc-app5.sv4.ironport.com (Postfix) with ESMTP id B44F71EE869 for <[email protected]>; ...
Переходим по ссыле и видим детали:
SpamCop v 4.8.2.018 © 2015 Cisco Systems, Inc. All rights reserved. Here is your TRACKING URL - it may be saved for future reference: https://www.spamcop.net/sc?id=хххххххххххххххххххххххххххххххххххххххх Skip to Reports Received: ... host 62.109.4.253 (getting name) = gifts-pandora.ru. Possible spammer: 62.109.4.253 Received line accepted Tracking message source: 62.109.4.253: Routing details for 62.109.4.253 [refresh/show] Cached whois for 62.109.4.253 : [email protected] Using abuse net on [email protected] No abuse net record for abusehost.ru Using best contacts [email protected] Yum, this spam is fresh! Message is 2 hours old 62.109.4.253 not listed in cbl.abuseat.org 62.109.4.253 not listed in dnsbl.sorbs.net 62.109.4.253 not listed in accredit.habeas.com 62.109.4.253 not listed in plus.bondedsender.org 62.109.4.253 not listed in iadb.isipp.com Finding links in message body Recurse multipart: Parsing text part Parsing HTML part Resolving link obfuscation http://www.jukasa.ru http://www.jukasa.ru/ Tracking link: http://www.jukasa.ru/ [report history] Host www.jukasa.ru (checking ip) = 185.72.246.220 Resolves to 185.72.246.220 Display data: "whois [email protected]" (Getting contact from whois.arin.net ) Redirect to ripe Display data: "whois [email protected]" (Getting contact from whois.ripe.net) Lookup [email protected] Display data: "whois [email protected]" (Getting contact from whois.ripe.net) yl781-ripe = whois.ripe.net 185.72.246.220 (nothing found) No reporting addresses found for 185.72.246.220, using devnull for tracking. Please make sure this email IS spam: From: =?windows-1251?B?0e3l5uDt4A==?= <[email protected]> (=?windows-1251?B?x+Tw4OLx8uLz6fLlIQ==?=) This is a multi-part message in MIME format. ------=_NextPart_000_0595_01D05C6A.2372CFC0 View full message Report Spam to: Re: 62.109.4.253 (Administrator of network where email originates) To: [email protected] (Notes) Re: http://www.jukasa.ru/ (Administrator of network hosting website referenced in spam) To: [email protected] (Notes) Additional notes (optional - max 2000 characters): ... ATTENTION: Report only those e-mail addresses and web sites that you think your spammer has used. Avoid checking any boxes left empty unless you know that your spammer has used the addresses or sites thus identified. Each false report that you submit means wasted time for a network administrator, so take care. The last thing SpamCop wants are network administrators so accustomed to false claims that they no longer take these spam reports seriously.
"Сантехники рассказали, как почти НЕ ПЛАТИТЬ за воду!", "Возбуждающая жвачка, моментальный эффект" (www.jukasa.ru, sexgum.org) - и так с.ки плодятся как кроли, спамеры проклятые, так им ещё жвачки возбуждающей не хватало?!:)
Кстати... "ATTENTION" нам глаголет, что мол "Отправляйте кляузы только на те почтовые адреса и сайты, которые вы считаете используются для рассылки спама. Избегайте выбора тех, которые могут быть использованы для идентификации ложно. Каждый ложный отчёт отнимает время администратора и может повлиять на его отношение к дальнейшим жалобам.", - а как нам знать, кто там из них "паршивая овца"? Ведь для того, чтобы они там разобрались, мы и отправляем отчёт?! Поэтому не парьтесь и шлите всем привет ;)
Подтверждаем нашу кляузу, "Send spam report now":
Spam report id 6276938618 sent to: [email protected] /dev/null'ing report for ххх@devnull.spamcop.net
В примере выше гневная мессага дополнительно пошла на внутренний адрес ххх@devnull.spamcop.net - это происходит, когда почтовый адрес ответственного по сетевой зоне не принимает/отвергает почту. Внутренний почтовый ящик spamcop.net может отличаться раз за разом.
- SpamCop.net - SpamCop FAQ: Reports sent to SpamCop addresses - https://www.spamcop.net/fom-serve/cache/253.html
После этого, у спамера появится шанс (он не получка, не аванс) попасть в списки DNSBL (DNS blocklist или DNS blacklist - https://ru.wikipedia.org/wiki/DNSBL). Спамеры сейчас модерновые и для рассылки спама часто юзают выделенные сервера (11p.canadatrast.com (cadedic.ru), 11.vdsmartns2.com (p3.ru) и т.д. и т.п.), а попав в списки DNSBL (включая www.senderbase.org), такого спамера, переход на другой поддомен, например hub435.spamhost.com или hub751.spamhost.com, уже не спасёт.
Как ранее упоминалось, для борьбы со спамом, многие компании используют различное оборудование, например Cisco IronPort (https://ru.wikipedia.org/wiki/IronPort), которое активно использует списки DNSBL и сервис SenderBase. Сервис SenderBase, который по всему миру (включая Россию) отслеживает источники распространения спама, также опирается на списки DNSBL, а значит кляузы на spamcop.net должны быть довольно эффективными в борьбе со спамерами.
Если спамер исправится, или если легальному пользователю достался "грязный" ИП-адрес после спамера, то ИП-адрес можно попробовать отмыть путём переговоров с тех. поддержкой SenderBase (https://www.senderbase.org/support/)
Не факт, что спамера сразу же внесут в DNSBL, ведь как и у SpamAssassin у них там видимо тоже есть свой required_score, но так или иначе с каждой новой кляузой шансы попадания спамера в DNSBL возрастают, и чем больше пользователей будут сыпать "кляузами", тем больше шансов перекрыть спамеру кислород.
Кроме того, система обработки отчётов на www.spamcop.net подглюкивает, и в некоторых случаях завершить отправку отчёта не удаётся из-за ошибки "Can't parse date of spam for age detection":
... Tracking message source: 188.68.7.71: Routing details for 188.68.7.71 [refresh/show] Cached whois for 188.68.7.71 : [email protected] Using abuse net on [email protected] abuse net p3.ru = [email protected], [email protected] Using best contacts [email protected] [email protected] Can't parse date of spam for age detection: 1392121321:775:1) Thu, 12 Mar 2015 05:33:08
Но думаю всё же статистика по отправленным "кляузам", даже когда жалоба не завершена (т.е. не разослана всем ответственным) по ошибке, принимается к сведению.
Report Spam for IceDove (aka Mozilla Thunderbird)
Ну, и раз мы уж так затронули тему фильтрации спама, то вскользь перечислим несколько полезных плагинов для отправки отчётов о спаме для почтового клиента Thunderbird (ака IceDove в Linux):
- abusix Spam reporter
- MailSentry IronPort Spam Reporter
- Signal Spam (https://www.signal-spam.fr/)
- Report Spam
- Бонус: FireTray
Для фильтрации спама IceDove (aka Mozilla Thunderbird) не требует локального сервера Spam Assassin (aka spamd).
Итог
Борьба со спамерами может показаться сложным делом, но здесь главное не опускать руки. Лучше использовать свою, локальную, систему фильтрации спама, где свои собственные правила можно выстроить под свои нужны.
Кроме обучения системы фильтрации, действенным дополнительным инструментом является отправка провайдеру "кляуз" о факте выявления спама имхо большинство провайдеров обычно сами ненавидят спамеров и при вычислении такового делают ему кирдык.
Спам - это Великое Зло. Он, спам, жутко достал по зомбоящику, в транспорте, печатной прессе, в реальном почтовом ящике, и, в Интернете тоже не без него. Поэтому задачей всего человечества является не только борьба глобальным потеплением, но и со спамом - это всё борьба с последствиями, хотя нужно бороться с причиной, а тобишь с перенаселением планеты. Победив перенаселение мы автоматически в большей части побеждаем глобальное потепление, спамеров и пр. его последствия.
Так или иначе, борьбу с перенаселением можно начинать с борьбы со спамерами, в которой конечным результатом должен быть кирдык спамеру!