Интеграция антиспама DSPAM в ZMailer
Аналогично интеграции DSPAM для CGP в режиме добавления заголовков, можно использовать эту технологию для интеграции DSPAM-a для ZMailer MTA.
Обязательным условием интеграции является модификация исходного кода dspam, для перевода его в режим добавления только заголовков. Для этого надо наложить модификацию: dspam_addheader.patch
План интеграции такой:
Для того, что бы доставлять сообщения в почтовый ящик пользователя, в ZMailer существует . Но у него есть ряд ограничений:
- он умеет работать только с mailbox ящиками (не умеет maildir или dbox)
- он не имеет почтовых фильтров (и не умеет доставлять куда-либо, кроме INBOX)
- квота может быть только на файловой системе (только fs_quota)
- никак не учитывает того, кто дальше работает с этим ящиком (pop/imap)
Если же вы уже используете в качестве pop/imap сервера dovecot, то использование выглядит хорошей идеей.
Тогда вы получаете:
- индексирование ящика в момент доставки, что ускоряет доступ к нему через pop/imap
- использование разных тип квот, которые умеет dovecot (fs, dirsize, dict, maildir)
- язык фильтров sieve (переадресация, авто-ответ, доставка в любые папки)
- ящик может быть не только mailbox типа (mbox, maildir, dbox)
Для установки в ZMailer'е dovecot LDA в качестве доставщика сообщений в ящик пользователя надо:

У NFS клиента в 2.6.x ядре появилась неприятная особенность. Он никак не сигнализирует о невозможности записать данные по причине превышения файловой квоты. А наоборот всем своим поведением говорит о том, что всё хорошо. Все операции, включая fsync() и close() заканчиваются успешно. Более того, даже ls после этого показывает якобы всё записано(размер файла равен записанному, что превышает квоту). Но через несколько секунд размер файла «укорачивается» до того размера, что поместилось в квоту (что в общем-то и есть правда).
Вот небольшая тестовая программа test_nfswrite.c, которая пишет 1024 байтные блоки. Тестовый файл /mount/m7/tmp/test должен быть на NFS сервере (не важно с каким ядром). А клиент, который пишет с ядром 2.6.x.
Компилить надо так: gcc test_nfswrite.c -o test_nfswrite
Запускать так: ./test_nfswrite 500
где 500 — это количество блоков по 1024 байта. Если указать большое количество блоков, которое не влезает в квоту, то вы должны наблюдать ошибки. Читать полностью »
MTA (zmailer.org) у нас не популярен. Порывшись в русском сегменте сети, я нашёл более-менее подробный рассказ про ZMailer только в статье Игоря Ченцова: .
Для больших высоконагруженных почтовых систем подходят далеко не все методы борьбы со спамом и вирусами. К сожалению, но гибкий и достаточно универсальный SpamAssassin с ядром на Perl становится узким местом, при большом потоке почты. Приходится или экстенсивным методом наращивать железо или искать другие методы решения задач.
Здесь я хочу рассказать, как организовать проверку на вирусы и некоторые типы борьбы со спамом в промышленных масштабах, с потоком почты более 5'000'000 писем в сутки.
Zmscanner — модульный фильтр для MTA Zmailer
Zmscanner — это модульный фильтр для почтовых систем Zmailer и Sendmail. Архитектура этого фильтра позволяет использовать его на высоко-нагруженных почтовых системах (>1'500'000 писем в сутки). Модульность фильтра позволяет гибко конфигурировать его функциональность, добавляя нужные вам модули и отключая не нужные.
Автор:
Домашняя страница:
Дополнительные модули: http://kocmuk.ru/zmscanner
:
Автор: Eugene Crosser
- check_ct (входит в zmscanner) — позволяет использовать регулярные выражения, для фильтрации сообщений по «Content-Type». Вы можете заблокировать HTML сообщения или сообщения с опасными вложениями (*.exe, *.pif и подобные).
- zms_dehtml (отдельный модуль) — преобразует HTML сообщение в текстовый вид, для дальнейшего анализа следующими фильтрами.
- zms_pcre (отдельный модуль) — PCRE библиотека от Philip Hazel используется для фильтрации писем по регулярным выражениям. Анализируется только текстовое тело письма. Для анализа HTML сообщений следует использовать модуль zms_dehtml для преобразования HTML в текстовый вид.
- zms_clamav (отдельный модуль) — используется библиотека антивируса ClamAV для проверки вложений на вирусы.(Замечание: сам clamd демон не используется, проверка идёт через низкоуровневые вызовы библиотеки).
Авторы: kocmuk.ru и Mike Fandorin
- zms_dcc (отдельный модуль) — адаптер Zmailer и Sendmail MTA к DCC-клиенту. Позволяет организовать проверку входящей почты через контекстный антиспам фильтр Distributed Checksum Clearinghouse (DCC). А так же возможность использовать DCC greylisting механизм для Zmailer.
- zms_restage (отдельный модуль) — PCRE библиотека используется для фильтрации писем по регулярным выражениям. Анализируются: EHLO/HELO, env_From, env_To и wholeRFC822 сообщение. Фильтр позволяет задать условия передачи сообщений для обработки в другие программы (”| exec”).







