Перейти к содержимому

Pyzor org что это

  • автор:

Отправляем отчёты о спаме во внешние сервисы через Spamassassin

Не секрет, что борьба со спамом является довольно нетривиальной задачей требующей комплексного подхода. Это обусловливает использование широкого набора средств анализа, контроля и оценки на всех уровнях приёма нового сообщения передаваемого по каналам электронной почты.

Одним из наиболее популярных и мощных инструментов реализующих данный комплексный подход является пакет Spamassassin. Однако, Spamassassin обладает не только возможностями по борьбе со спамом внутри системы, но и реализует некоторые возможности по отправке отчётов о вновь обнаруженном спаме на обслуживаемой им системе во внешние антиспам-службы на базе техник учёта контрольных сумм (checksum-based filtering) и чёрных листов хостов (DNSBL). Это позволяет иметь более точные данные по распространению того или иного вида спам-сообщений и более адекватно представлять данные по ним всем подписчикам по всему миру.

Рассмотрим настройку работы данного механизма в рамках имеющейся системы на базе FreeBSD.

root@beta:~ # uname -v FreeBSD 10.3-RELEASE-p4 #0: Sat May 28 12:23:44 UTC 2016 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC root@beta:~ # spamassassin -V SpamAssassin version 3.4.1 running on Perl version 5.20.3

1. Подключение checksum-based служб

К числу служб на базе учёта контрольных сумм поддерживаемых Spamassassin относятся три наиболее известных — Rhyolite DCC, Vipul’s Razor и Pyzor.

Не рассматривая отдельно настройку и установку Spamassassin, которые достаточно подробно освещены в его документации и множестве статей в интернет, обратим лишь внимание на необходимость наличия включённых в него соответствующих модулей при компиляции.

root@beta:~ # cd /usr/ports/mail/spamassassin/ root@beta:/usr/ports/mail/spamassassin # make showconfig ===> The following configuration options are available for spamassassin-3.4.1_6: AS_ROOT=on: Run spamd as root (recommended) SSL=on: Build spamd/spamc with SSL support UPDATE_AND_COMPILE=on: Download and compile rulesets (recommended) ====> Optional user-config/bayes database backends MYSQL=on: MySQL database support PGSQL=off: PostgreSQL database support ====> Optional SpamAssassin plugins DCC=on: DCC digest list support (mail/dcc-dccd) DKIM=on: Verify DKIM records (mail/p5-Mail-DKIM) PYZOR=on: Pyzor digest list support (mail/pyzor) RAZOR=on: Vipul's Razor digest list support (mail/razor-agents) RELAY_COUNTRY=off: Location-based scoring (net/p5-Geo-IP) SPF_QUERY=on: Verify SPF records (mail/p5-Mail-SPF) ====> GnuPG (for sa-update, optional): you have to select exactly one of them GNUPG_NONE=off: Do not use GnuPG GNUPG=off: GnuPG 1 (security/gnupg1) GNUPG2=on: GnuPG 2 (security/gnupg) ===> Use 'make config' to modify these settings

Благодаря этому необходимые пакеты служб checksum-based filtering будут автоматически установлены в систему.

root@beta:/usr/ports/mail/spamassassin # pkg info | egrep "(pyzor|dcc|razor)" dcc-dccd-1.3.158_1 Distributed Checksum Clearinghouse bulk email detector py27-pyzor-1.0.0 Collaborative, networked system to detect and block spam razor-agents-2.84_1 Distributed, collaborative, spam detection and filtering network

Также следует проконтролировать, чтобы для этих служб были открыты порты для обмена с серверами:

  • для DCC — UDP 6277;
  • для Razor — TCP 2307;
  • для Pyzor — UDP 24441.

Кроме того, демону Spamassassin необходимо разрешить отправку отчётов во внешние системы ключом -l или —allow-tell.

root@beta:~ # cat /etc/rc.conf | grep spamd spamd_enable="YES" spamd_flags="-x -q -l -u mailnull"

1.1. Настройка DCC

Ввиду того, что в данной системе данные из службы DCC используются также и SMTP сервером Exim, был выбран вариант его использования в демонизированном виде через модуль интерфейса dccifd.

Его настройка сводится к указанию по запуску службы в файле rc.conf.

root@beta:~ # cat /etc/rc.conf | grep dcc dccifd_enable="YES"

Используя в качестве файла настройки стандартный конфигурационный файл из пакета DCC для базы, изменим буквально лишь пару его параметров.

root@beta:~ # cd /usr/local/dcc/ root@beta:/usr/local/dcc # cp dcc_conf.sample dcc_conf . root@beta:/usr/local/dcc # diff -u dcc_conf.sample dcc_conf | grep -v "#" --- dcc_conf.sample 2016-02-26 23:47:26.386821000 +0200 +++ dcc_conf 2014-11-25 21:19:26.000000000 +0200 @@ -7,7 +7,7 @@ DCC_CONF_VERSION=4 @@ -89,14 +89,14 @@ DCCM_LOG_AT=5 -DCCM_REJECT_AT= +DCCM_REJECT_AT=MANY DCCM_CKSUMS= DCCM_XTRA_CKSUMS= -DCCIFD_ENABLE=off +DCCIFD_ENABLE=on

Параметр DCCIFD_ENABLE сигнализирует о использовании службы в режиме демона, а DCCM_REJECT_AT устанавливает уровень, при котором демон DCC будет выдавать позитивную оценку на спам.

И запустим его и проверим корректность функционирования.

root@beta:/usr/local/dcc # service dccifd start Starting dccifd. root@beta:/usr/local/dcc # cdcc info # 06/05/16 16:48:39 EET /usr/local/dcc/map # Re-resolve names after 17:36:17 Check RTTs after 16:52:30 # 1334.06 ms threshold, 1289.40 ms average 12 total, 9 working servers IPv6 off version=3 dcc1.dcc-servers.net,- RTT+1000 ms anon # 209.169.14.27,- x.dcc-servers ID 104 # 100% of 32 requests ok 292.13+1000 ms RTT 100 ms queue wait # 209.169.14.29,- x.dcc-servers ID 104 # 100% of 32 requests ok 289.19+1000 ms RTT 100 ms queue wait # 209.169.14.30,- x.dcc-servers ID 104 # 100% of 32 requests ok 269.15+1000 ms RTT 100 ms queue wait dcc2.dcc-servers.net,- RTT+1000 ms anon # 67.66.138.141,- # not answering # 69.12.208.70,- sonic.net ID 1156 # 100% of 32 requests ok 300.66+1000 ms RTT 100 ms queue wait # *192.84.137.21,- INFN-TO ID 1233 # 100% of 32 requests ok 147.94+1000 ms RTT 100 ms queue wait dcc3.dcc-servers.net,- RTT+1000 ms anon # 38.124.232.176,- ID 1102 # 100% of 32 requests ok 234.06+1000 ms RTT 100 ms queue wait # 74.92.232.243,- Etherboy ID 1002 # 100% of 32 requests ok 247.10+1000 ms RTT 100 ms queue wait dcc4.dcc-servers.net,- RTT+1000 ms anon # 69.12.221.230,- sonic.net ID 1117 # 100% of 32 requests ok 296.51+1000 ms RTT 100 ms queue wait dcc5.dcc-servers.net,- RTT+1000 ms anon # 209.169.14.26,- # not answering # 216.240.102.30,- dmv.com ID 1181 # 100% of 32 requests ok 247.40+1000 ms RTT 100 ms queue wait @,- RTT-1000 ms 32768 secret13192363914y2710 # 127.0.0.1,- # not answering ################ # 06/05/16 16:48:39 EET greylist /usr/local/dcc/map # Re-resolve names after 18:43:05 # 1 total, 0 working servers # continue not asking greylist server 256 seconds after 4 failures @,- Greylist 32768 secret13192363914y2710 # *127.0.0.1,6276 # not answering 

Кроме того, ввиду того, что DCC ведёт локальный лог в специфическом формате (см. каталог /usr/local/dcc/log), следует позаботиться о её своевременной очистке используя специальный скрипт через службу CRON.

root@beta:/usr/local/dcc # cat /etc/crontab | grep dcc 15 0 * * * dcc /usr/local/dcc/libexec/cron-dccd

1.2. Настройка Vipul’s Razor

Служба Vipul’s Razor использует индивидуальные для каждого системного пользователя настройки. В этой связи принимая во внимание, что Spamassassin, как все остальные почтовые сервисы в этой системе, работает от имени пользователя mailnull.

Рабочий каталог этой учётной записи расположен по пути /var/spool/mqueue.

root@beta:/usr/local/dcc # cat /etc/passwd | grep mailnull mailnull:*:26:26:Sendmail Default User:/var/spool/mqueue:/usr/sbin/nologin

Произведём стартовую настройку посредством утилиты razor-admin и проверим результат.

root@beta:/usr/local/dcc # chown mailnull /var/spool/mqueue root@beta:/usr/local/dcc # cd /var/spool/mqueue root@beta:/var/spool/mqueue # sudo -u mailnull razor-admin -discover root@beta:/var/spool/mqueue # sudo -u mailnull razor-admin -create root@beta:/var/spool/mqueue # sudo -u mailnull razor-admin -register Register successful. Identity stored in /var/spool/mqueue/.razor/identity-rusaQdc5__ root@beta:/var/spool/mqueue # ll .razor/ total 16 lrwxr-xr-x 1 mailnull daemon 19 5 июн 18:13 identity@ -> identity-rusaQdc5__ -rw------- 1 mailnull daemon 90 5 июн 18:13 identity-rusaQdc5__ -rw-r--r-- 1 mailnull daemon 706 5 июн 18:13 razor-agent.conf -rw-r--r-- 1 mailnull daemon 1095 5 июн 18:15 razor-agent.log -rw-r--r-- 1 mailnull daemon 995 5 июн 18:15 server.c303.cloudmark.com.conf -rw-r--r-- 1 mailnull daemon 839 5 июн 18:13 server.n002.cloudmark.com.conf -rw-r--r-- 1 mailnull daemon 57 5 июн 18:15 servers.catalogue.lst -rw-r--r-- 1 mailnull daemon 30 5 июн 18:13 servers.discovery.lst -rw-r--r-- 1 mailnull daemon 76 5 июн 18:15 servers.nomination.lst

Проверить, что всё функционирует должным образом можно следующей командой используя, например, образец спама из комплекта поставки Spamassassin.

root@beta:/var/spool/mqueue # locate sample-spam.txt /root/.cpan/build/Mail-SpamAssassin-3.4.1-4hz5PT/sample-spam.txt root@beta:/var/spool/mqueue # sudo -u mailnull razor-check -d /root/.cpan/build/Mail-SpamAssassin-3.4.1-4hz5PT/sample-spam.txt Razor-Log: Computed razorhome from env: /var/spool/mqueue/.razor Razor-Log: Found razorhome: /var/spool/mqueue/.razor Razor-Log: read_file: 15 items read from /var/spool/mqueue/.razor/razor-agent.conf июн 05 17:31:40.426582 check[4873]: [ 2] [bootup] Logging initiated LogDebugLevel=9 to stdout июн 05 17:31:40.427894 check[4873]: [ 5] computed razorhome=/var/spool/mqueue/.razor, conf=/var/spool/mqueue/.razor/razor-agent.conf, ident=/var/spool/mqueue/.razor/identity-rusaQdc5__ июн 05 17:31:40.428105 check[4873]: [ 2] Razor-Agents v2.84 starting razor-check -d /root/.cpan/build/Mail-SpamAssassin-3.4.1-4hz5PT/sample-spam.txt . июн 05 17:31:40.782315 check[4873]: [ 8] razor-check finished successfully.

1.3. Настройка Pyzor

Служба Pyzor не требует постинсталляционных настроек для успешного функционирования. В этом можно удостоверится специальной тестовой командой.

root@beta:/var/spool/mqueue # sudo -u mailnull pyzor ping public.pyzor.org:24441 (200, 'OK')

1.4. Настройка DNSBL

По умолчанию проверка на вхождение в различные DNSBL включена в Spamassassin по умолчанию и не требует никаких дополнительных действий. При этом отправка отчётов об обнаруженном спаме доступна для листа SpamCop.

2. Дополнительная настройка Spamassassin

Теперь следует произвести дополнительную настройку вышеописанных служб в файле конфигурации Spamassassin.

root@beta:/var/spool/mqueue # cd /usr/local/etc/mail/spamassassin/ root@beta:/usr/local/etc/mail/spamassassin # cat local.cf . # DCC dcc_home /usr/local/dcc dcc_dccifd_path /var/db/dcc/dccifd dcc_timeout 10 # Razor use_razor2 1 # Pyzor use_pyzor 1 pyzor_path /usr/local/bin/pyzor pyzor_options --homedir /var/spool/mqueue/ # SpamCop spamcop_from_address noreply@my.server . 

В секции настроек DCC сообщаем о работе через путь к сокет-файлу указанному в dcc_dccifd_path и устанавливаем таймаут ожидания ответа от него, а в секции Pyzor указываем путь к исполняемому модулю и рабочему каталогу для хранения временных данных для проверки в данной службе. Кроме того командами use_razor2 и use_pyzor эти модули включаются в алгоритим проверки Spamassassin. При этом DCC в последних версиях включён по-умолчанию и не требует отдельной активации.

Для DNSBL SpamCop сообщаем от имени какого пользователя будет оправляться отчёт о спаме. В противном случае будут использованы данные ident что в ряде случаев может привести к некорректному формированию адреса отправителя и ошибке отправки отчёта.

Итак, все настройки завершены и можно перезапустить демон Spamassassin.

root@beta:/usr/local/etc/mail/spamassassin # service sa-spamd restart Stopping spamd. Waiting for PIDS: 1486. Starting spamd.

Проверить что всё функционирует должным образом и запросы на проверку к подключенным сервисам идут можно из командной строки отправив на вход системе вышеупомянутое тестовое спам-сообщение либо по записям в заголовках проверенных писем.

root@beta:/usr/local/etc/mail/spamassassin # spamassassin -D < /root/.cpan/build/Mail-SpamAssassin-3.4.1-4hz5PT/sample-spam.txt . 

3. Отправка отчётов о спаме

Отправка отчётов о спаме производится в процессе стандартного обучения Spamassassin. При этом обратите внимание, что по-обыкновению используемая для этих целей локальная утилита sa-learn, во-первых, работает только локально, а, во-вторых, и это главное, затрагивает только Bayes-фильтры данной системы и не имеет функционала отправки отчётов во внешние службы.

Однако искомым функционалом обладает сетевой клиент spamc. При его вызове с ключом -C type или --reporttype=type, где type принимает значения report для спама и revoke для ошибочно принятого за спам сообщения.

Вызов этой утилиты возможно производить из используемых в системе скриптов обучения (например, аналогичных описанным в статье "Отложенное пакетное обучение антиспам-фильтра используя Dovecot" на этом сайте) не забывая при этом указывать в качестве дополнительных параметров имя пользователя, для которого производится это действие для корректного внесения изменений в bayes-сигнатуры и максимальный размер обрабатываемого письма, если установленный по умолчанию размер в 512 килобайтов представляется недостаточным.

Результаты отправки отчётов о спаме будут кратко отображаться в стандартном лог-файле Spamassassin.

root@beta:~ # cat /var/log/maillog . Jun 05 16:00:00 beta spamd[53319]: spamd: connection from localhost [::1]:54015 to port 783, fd 5 Jun 05 16:00:05 beta spamd[53319]: reporter: spam reported to DCC Jun 05 16:00:06 beta spamd[53319]: reporter: spam reported to Pyzor Jun 05 16:00:09 beta spamd[53319]: reporter: spam reported to Razor Jun 05 16:00:11 beta spamd[53319]: reporter: spam reported to SpamCop Jun 05 16:00:11 beta spamd[53319]: spamd: Tell: Setting local,remote for box@my.server:26 in 11.6 seconds, 32981 bytes Jun 05 16:00:11 beta spamd[34712]: prefork: child states: II . 

При отправке же отчётов об ошибочно отнесённой к спаму корреспонденции Spamassassin поддерживает лишь Vipul's Razor.

4. PROFIT!

Статья была полезной? Тогда прошу не стесняться и поддерживать деньгами через PayPal или Яндекс.Деньги.

Отправка писем с сервера, очередной облом PYZOR_CHECK

Только настроил DKIM и SPF, так появилась новая напасть с именем PYZOR_CHECK. Тестирую , не так давно настроил все что 10 баллов было, сейчас 5.6 - 8.1. До конца понять что это такое PYZOR_CHECK не могу, не достаточно опыта. раньше тестовый email отправлял с текстом "test", сейчас такой текст выдаете еще -2.749

-0.001 BODY_SINGLE_WORD Message body is only one word (no spaces) 
-0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid
Этот отрицательный рейтинг станет положительным, если подтвердить подпись. Как это сделать смотрите ниже.
0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
Отлично! Ваша подпись действительна
0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain
Отлично! Ваша подпись действительна, и она принадлежит вашему доменному имени
-0.001 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different
-1.985 PYZOR_CHECK Similar message reported on Pyzor (http://pyzor.org)
Please test a real content, test Newsletters will always be flagged by Pyzor
Adjust your message or request whitelisting (http://public.pyzor.org/whitelist/)
0.001 SPF_HELO_PASS SPF: HELO matches SPF record
0.001 SPF_PASS SPF: sender matches SPF record
Отлично! Ваш SPF действителен
-0.001 TVD_SPACE_RATIO Uncommon space ratio
-2.749 TVD_SPACE_RATIO_MINFP TVD_SPACE_RATIO_MINFP

Поделитесь каким образом у вас письма с ваших серверов (сайтов и форумов доходят). Спасибо

отец сыночка, лапочки дочки и еще одного сыночка

  • eTarget 2011:Панельная дискуссия «Стратегия и планирование рекламной кампании в интернете»
  • eTarget 2011: Круглый стол «Реклама в онлайн-видео»
  • Могут ли «плохие» входящие ссылки привести к ухудшению ранжирования?

Пызор

Это приложение для Linux под названием Pyzor, последний выпуск которого можно загрузить как pyzor-0.7.0.tar.bz2. Его можно запустить онлайн в бесплатном хостинг-провайдере OnWorks для рабочих станций.

Загрузите и запустите онлайн это приложение под названием Pyzor бесплатно с OnWorks.

Следуйте этим инструкциям, чтобы запустить это приложение:

- 1. Загрузил это приложение на свой компьютер.

- 2. Введите в нашем файловом менеджере https://www.onworks.net/myfiles.php?username=XXXXX с желаемым именем пользователя.

- 3. Загрузите это приложение в такой файловый менеджер.

- 4. Запустите онлайн-эмулятор OnWorks Linux или Windows или онлайн-эмулятор MACOS с этого веб-сайта.

- 5. В только что запущенной ОС OnWorks Linux перейдите в наш файловый менеджер https://www.onworks.net/myfiles.php?username=XXXXX с желаемым именем пользователя.

- 6. Скачайте приложение, установите его и запустите.

Популярные opensource-решения против спама

Электронная почта все еще остается основным средством обмена информацией — и по-прежнему заодно приносит пользователям тонны спама и вирусов, которые мешают работе и ставят под удар безопасность системы. Проблема не нова, и на сегодня разработаны сотни решений разной реализации и лицензирования. Open source проекты давно зарекомендовали себя с лучшей стороны и обеспечивают безопасность email тысяч организаций.

Apache SpamAssassin

SpamAssassin — open source система для борьбы со спамом, легко расширяемая за счет плагинов и интегрируемая практически с любым почтовым решением. Все настройки и антиспам-тесты хранятся в обычных файлах, а потому легко могут быть добавлены и изменены под любые требования. Известность SA получил благодаря использованию технологии байесовской фильтрации. Каждое сообщение при прохождении тестов получает определенный балл и при достижении порога помещается в спам. В отличие от DSPAM, в котором используется только байесовский анализатор, в SA доступен и ряд других популярных технологий, обычно подключаемых в виде плагинов: DNSBL, SPF, DKIM, URIBL, SURBL, PSBL, Razor, RelayCountry, автоматическое ведение белого списка (AWL) и другие.

Количество плагинов, реализующих те или иные возможности, просто зашкаливает. Некоторые идут в стандартной поставке, другие реализованы в виде отдельных проектов. Например, плагин RegistryBoundaries позволяет динамически определять домены верхнего уровня и обновлять связанные с ними списки, плагин PhishTag позволяет переписывать ссылки внутри сообщений, а URILocalBL добавляет тесты для URL в тексте, PDFInfo — блокирует спам в PDF. И это только малая часть. Возможна проверка сообщений на вирусы (ClamAV). Расширений очень много. Разработчики приводят список решений, но вряд ли он полный.

Модуль Mail::SpamAssassin в CPAN, написанный на языке Perl, может быть использован в нескольких вариантах — как клиент-сервер (spamd/spamc), как отдельное приложение или интегрироваться в другую программу. Поддерживаются средства автоматического обновления правил фильтрации (при помощи sa-update). Это очень мощная система, но универсальность и ориентированность на всё приводят к недостаточной оптимизации, в частности везде используются регулярные выражения. Хотя алгоритмы постоянно совершенствуются: в версии 3.2.0, например, появилась утилита sa-compile, компилирующая правила в представление, оптимальное для быстрой параллельной обработки. С точки зрения использования ресурсов компьютера SA показывает неплохие результаты, обходя коммерческих конкурентов. SA также поддерживает IPv6 (с 3.4.0 - полностью), Multithreading и UTF-8.

Релиз хорошо обкатывается, а поэтому после анонса готов к промышленной эксплуатации. Для хранения статистических данных могут использоваться СУБД: MySQL, PgSQL, Redis, BDB и другие. Установка в общем несложна, количество зависимостей невелико; хотя, оно меняется от версии к версии, и нужно быть внимательным. Плюс: нужный пакет есть в репозиториях. В Сети можно найти множество руководств по интеграции с любым решением, поэтому сложностей никаких.

В поставке также идет несколько утилит sa-* для различных целей администрирования. Все настройки производятся в конфигурационном файле /etc/spamassassin/local.cf . После установки SpamAssassin практически всегда требует тонкой подстройки параметров и обучения на нормальных и спам-письмах. Задачу упрощает наличие интерфейсов к SpamAssassin. Такие модули есть в Webmin, Usermin, где они входят в стандартную поставку, и в Maia Mailguard. Небольшой список модулей можно найти на этой странице.

В Webmin доступен модуль для конфигурирования SpamAssassin

Другие статьи в выпуске:

Xakep #198. Случайностей не бывает

  • Содержание выпуска
  • Подписка на «Хакер» -60%

Некоторые фронтенды для управления email-серверами и электронной почтой через веб также содержат специфические настройки; а также есть онлайновые генераторы конфигурационного файла, позволяющие сформировать нужные настройки, просто ответив на вопросы.

Генератор настроек SpamAssassin

Rspamd

Rspamd изначально разрабатывался россиянином Всеволодом Стаховым как замена неповоротливому SpamAssassin для фильтрации спама в почте Rambler. Он подходит для систем различного масштаба от небольших почтовых серверов до крупных почтовых систем, умеет интегрироваться в различные MTA (в документации описаны Exim, Postfix, Sendmail и Haraka) или работать в режиме SMTP-прокси.

Система оценки сообщений такая же, как в SpamAssassin, в частности на основании разных факторов: регулярных выражений, блок-листов DNS, белых, серых, черных списков, SPF, DKIM, статистики, хешей (fuzzy hashes) и прочего - только в работе используются другие алгоритмы. Многие операции оптимизированы, наиболее частые и легкие правила используются первыми, что позволяет снизить нагрузку и уменьшить вероятность тяжелой обработки. Для небольших и средних организаций подходят настройки из коробки. Обеспечивается легкое горизонтальное масштабирование, синхронизация статистики между мастер-узлом и подчиненными, мониторинг работы, возможность выдерживать всплески загрузки. Событийно-управляемая модель обработки позволяет без блокировок работать с несколькими сообщениями одновременно. Изначально адаптирован для работы на многопроцессорных системах.

В Rspamd поддерживается расширение при помощи плагинов, которые могут быть написаны на С и Lua, есть простая возможность добавления новых фильтров и алгоритмов обработки писем. В поставке уже есть несколько готовых модулей, которые можно отключить или подключить по мере необходимости. При загрузке стартует master-процесс, производящий считывание конфигурации и базовые проверки и запускающий несколько процессов-обработчиков (workers), каждый из которых может иметь свое назначение (обработка сообщений, SMTP-прокси, хеш и так далее). Все это регулируется в конфигурационном файле.

Для удобной настройки правил, веса и списков, сканирования и просмотра статистики разработчиками предлагается простой, понятный и, главное, встроенный веб-интерфейс на HTML5/JS. Для запуска его нужно просто активировать в настройках. Изначально rspamd разрабатывался с расчетом на управление через веб-интерфейс. Первое время базовые настройки сохранялись в XML-файле, в последних релизах уже используется совместимый с JSON UCL-формат, принятый в nginx, который так же удобно парсить. Именно поэтому базовые параметры (вес и пороги срабатывания, пути к журналам, включение фильтров и прочее) настраиваются через UCL-файлы. Файлов несколько, так как отдельные установки представлены своими файлами (это удобно), все они подключаются в rspamd.conf. Для правил и более тонкой настройки работы rspamd оставлена возможность конфигурирования из Lua (перекрывая XML-конфиги) в rspamd.lua.

В rspamd доступен веб-интерфейс

Rspamd позволяет указать некоторые данные как динамические (dynamic maps), которые проверяются во время выполнения с обновлением данных в случае их изменения. Поддерживаются файловые и HTTP-карты. Для обучения, проверки писем и мониторинга rspamd можно использовать консольный клиент rspamc.

Распространяется по BSD-лицензии. Ориентирован на применение только в *nix-системах. Пакет есть в портах FreeBSD и репозитории CentOS, universe-репозитории некоторых версий Ubuntu и Debian (правда, далеко не последние версии). Остальным придется собирать из исходников.

В настоящее время rspamd еще не достиг релиза, хотя текущий номер (0.9.4) отражает скорее требование разработчиков, чем информацию о законченности продукта.

Razor/Pyzor

Обнаружение и распознавание спама в потоке — задача, забирающая достаточное количество ресурсов, а варианты спам-писем при этом практически неиссякаемы. Как и в случае с вирусами, один из методов решения — использовать распределенную сеть датчиков, обнаруживающих спам на максимальном количестве систем. Далее генерируется сигнатура, упрощающая распознавание спама и не требующая большого количества вычислительных мощностей. Чтобы систему нельзя было запутать незначительными изменениями исходного спам-сообщения, используются алгоритмы получения нечетких сигнатур. Полученный хеш сравнивается с данными в централизованной базе: в случае обнаружения совпадения такое сообщение помечается как спам и может быть отброшено на раннем этапе. В результате такая антиспам-система работает быстро, практически не дает ошибок и незаметна для пользователей. Практика показывает, что такой простой метод даже в самых сложных случаях позволяет легко отсеять более 80% спам-писем.

По такому принципу работает Razor, написанный на Perl. Он используется как самостоятельно, так и в качестве аддона к SpamAssassin. В последнем случае он дает возможность начать отсев спама с ходу без предварительного обучения байесовского анализатора. Единственный минус — проект не развивался с 2007 года.

Pyzor представляет собой версию Razor, написанную на Python. Кроме кода клиента, предлагается и серверная часть, позволяющая развернуть свою базу. Пакет есть в репозиториях дистрибутивов. Рекомендуемый разработчиками способ установки Pyzor — через PIP. Для хранения информации может использоваться GDBM (для небольших нагрузок), MySQL или Redis. Все настройки производятся в нескольких файлах каталога ~/.pyzor . В файле config, в servers прописываются серверы, с которыми работает клиент. По умолчанию публичный сервер проекта - public.pyzor.org:24441 . Файл config при установке из пакетов не создается, но на сайте есть хороший пример.

Для ручной проверки сообщений, получения информации, статистики, управления локальным белым списком используется консольная утилита pyzor. При первом подключении к серверу будет сгенерирован дайджест:

$ pyzor check < message.eml

Входной файл может быть в трех форматах: сообщение по RFC5321, mbox и дайджест Pyzor. Есть коммерческая версия Razor, предлагаемая компанией Cloudmark. По аналогичной технологии — проверка контрольных сумм и сверка с базой — работает и Distributed Checksum Clearinghouse.

ASSP

Спам нужно останавливать до SMTP-сервера, у которого и так большая нагрузка, кроме того, спам-фильтры в этом случае настраивает админ, а не пользователи, которые чаще запутывают ситуацию, чем помогают. Поэтому ASSP, или Anti-Spam SMTP Proxy, — один из самых популярных и любимых проектов среди сисадминов. Он представляет собой платформонезависимый SMTP-прокси-сервер, принимающий сообщения до MTA и анализирующий его на спам. После анализа нормальное сообщение переправляется дальше на SMTP-сервер и попадает в трафик нормальной почты. Иначе письмо блокируется, отправителю посылается сообщение об ошибке, а письмо ложится в коллекцию спама. Есть режим Test Mode, когда сообщение не блокируется, а помечается тегом и доставляется получателю.

Поддерживаются все популярные технологии: белые и серые списки, байесовский фильтр, DNSBL, DNSWL, URIBL, SPF, DKIM, SRS, проверка на вирусы (с ClamAV), блокировка или замена вложений и многое другое. Обнаруживается кодированный MIME-спам и картинки (при помощи Tesseract). Поддерживаются SSL/TLS-соединения, имеется клиент для проверки валидности сертификатов. Ведется автоматический белый список клиентов, список необрабатываемых адресов и доменов, защита от пересылки почты третьими лицами. Для проверки спама может подключаться в качестве модулей Razor и DCC. Возможности расширяются при помощи модулей, все они доступны на сайте проекта. Есть функция архивирования спам-писем на POP3-сервере. Генерируется статистика в SVG-файл.

Практически все настройки производятся через веб-интерфейс, по умолчанию используется http://127.0.0.1:55555/ , данные для входа — root/nospam4me . Но готовься: параметров там очень много, и придется потратить время, чтобы все обойти. Для хранения данных по умолчанию используется BerkeleyDB, можно подключить MySQL, DB2, PgSQL, Firebird. Возможна синхронизация настроек между двумя серверами ASSP и автоматическое обновление движка и модулей через PPM или CPAN.

ASSP настраивается при помощи веб-интерфейса

В настоящее время актуальна вторая версия ASSP, поддерживающая множество новых функций, включая IPv6 и Multithreading, поэтому рекомендуется использовать ее. Разработка V1 прекращена в конце 2014 года, и со временем прекратится выпуск багфиксов, хотя нужно признать, что она несколько «легче» V2.

ASSP можно устанавливать отдельно или на том же сервере, что и SMTP. При развертывании ASSP занимает 25-й порт (опционально 465-й и 587-й), поэтому, если SMTP-сервер расположен на той же машине, рабочий порт необходимо будет перенастроить. Версия 2 может работать в режиме прозрачного прокси.

Документация проекта не всегда внятная, а инструкции в Сети нередко уже устаревшие, но при наличии некоторого опыта разобраться можно. Тем более что после установки все работает из коробки, а дальше помогает веб-интерфейс. Правда, некоторые параметры не представлены в веб-интерфейсе, поэтому для более тонкой подстройки следует заглянуть в конфигурационный файл. В основных репозиториях дистрибутивов пакета ASSP нет. Для установки в *nix и Win проект предлагает архив, все зависимости при этом необходимо установить вручную. По умолчанию настроен Test Mode, после обучения на примерно тысяче писем можно включать режим блокировки.

MailScanner

MailScanner представляет собой all-in-one решение для проверки почты на наличие вирусов и спама, борьбы с фишинговыми письмами. Он анализирует содержание письма, блокируя некоторые атаки, направленные на email-клиентов и HTML-теги, проверяет вложения (запрещенные расширения, двойные расширения, зашифрованные архивы и прочее), контролирует подмену адреса в письме и многое другое. Есть возможность создания белого списка, архивирования почты определенной группы пользователей.

Реализованы и собственные правила, позволяющие администратору управлять почтой по любому критерию, в том числе и реализуя нечто вроде DLP. При помощи правил можно легко конвертировать HTML в некоторых сообщениях в текст. Есть еще одна технология, позволяющая предотвратить утечку информации, — MCP (Message Content Protection), в этом случае производится запуск дополнительной копии SpamAssassin, но без активации антиспам-проверок. Администратор указывает в файле ключевые слова и действия, которые должны произойти при их появлении.

MailScanner легко интегрируется с любым МТА, в поставке есть готовые конфигурационные файлы. Помимо собственных наработок, он может использовать сторонние решения. Например, проверка на вирусы может производиться одним из более чем двадцати движков. Конечно, разработчики рекомендуют ClamAV, но в списке практически все популярные, в том числе и коммерческие решения. Для проверки на спам может использоваться SpamAssassin.

MailScanner написан на Perl (около 50 тысяч строк) и распространяется под лицензией GNU GPL. Разработки стартовали в 2001 году, с тех пор его загрузили более миллиона раз, и он используется для защиты от вирусов и спама в тысячах организаций по всему миру. MailScanner служит основой некоторых систем борьбы со спамом промышленного уровня (например, Mailborder или Baruwa). Весь процесс полностью контролировался одним человеком — Джулианом Филдом (Julian Field), остальные разработчики не имели доступа к ветке Git. С 2014 года его заменил Джерри Бентон (Jerry Benton).

Официально поддерживаются Red Hat / CentOS, Debian, Ubuntu LTS, SuSE и FreeBSD, хотя будет работать и на любом другом *nix. Установку и конфигурирование сложными назвать нельзя. Все параметры прописываются в MailScanner.conf и хорошо комментированы: в большинстве случаев достаточно указать антивирус и антиспам-программу. Кроме этого, сегодня доступны модуль к Webmin и веб-интерфейс MailWatch, делающие установку более наглядными.

К MailScanner доступно несколько интерфейсов

Scrollout

Свободные решения традиционно считаются более сложными в настройке и требуют некоторого опыта, но это легко решаемо. Scrollout F1 представляет собой преднастроенный и автоматически конфигурируемый почтовый шлюз с защитой от вирусов и спама, распространяемый по лицензии GNU GPL v2. Предлагается веб-интерфейс, написанный на PHP, и скрипты оболочки с преднастройками ко множеству открытых продуктов — Postfix, getmail4, Razor, SpamAssassin, Pyzor, FuzzyOCR, СlamAV, OpenSSL, Mailgraph и другим. Обеспечивается антивирусная и антиспам-проверка, геофильтрация по нескольким параметрам, проверка при помощи DKIM, простое создание адресов-ловушек, резервное копирование почты на специальный адрес и многое другое. Основой всего является Linux (официально поддерживается Debian и Ubuntu).

Установка Scrollout F1 возможна двумя способами: на чистое «железо» при помощи подготовленного ISO или на «чистый» Debian/Ubuntu. Также предлагается в виде сервиса.

Как альтернативу можно рассматривать MailCleaner, который распространяется в виде ISO и требует установки на чистый компьютер, или E.F.A. Project, представленный в виде образа для VMware или Hyper-V.

Настройка уровня «агрессивности» компонентов системы в Scrollout

Спам в картинках

В 2006 году алгоритмы борьбы со спамом уже практически полностью блокировали его распространение, но спамеры придумали новый способ — картинки, эффективно преодолевающие все фильтры, поскольку те были рассчитаны лишь на работу с текстом. Пик спама такого рода пришелся на 2007 год, затем было несколько вспышек. Как ответ на угрозу стартовало несколько open source проектов, задача которых — определение спама в рисунках; все они ориентированы в основном на использование в качестве модуля SpamAssassin: FuzzyOcrPlugin, Image Cerberus, BayesOCR, OcrPlugin и Tesseract-OCR.

Принцип работы прост: файл обычно преобразуется в PNM, затем передается в gocr, который возвращает текст. Все это требует некоторых ресурсов. Разработки нацелены на англоязычное население, качество распознавания оставляет желать лучшего, поэтому, как правило, требуется дополнительная обработка; но большая часть спама отсеивается при помощи ставших уже стандартными методов, и сегодня применение специальных решений нужно не всегда.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *