www.eserv.ru // SpamProtexxPlugin

oldwiki /2006-05-12 02:23/ (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
News
15.05.2012
Eserv504
15.05.2012
ActiveSync
01.04.2012
Eproxy508
25.03.2012
Eserv503
26.02.2012
Eserv502
08.02.2012
UMI.CMS
22.12.2011
Eserv431
20.12.2011
Eproxy507
15.11.2011
Eproxy506
19.09.2011
Eproxy505
08.09.2011
Eserv430
07.09.2011
Lightning
19.07.2011
PoweredBy
16.07.2011
IPv6
08.07.2011
Eproxy5beta1
17.06.2011
IPv6DNS
13.06.2011
IPv6Mail
21.03.2011
Eserv428
22.10.2010
Eserv426
22.10.2010
SSL
22.04.2010
Eserv423
20.04.2010
Eserv4WhatsNew
19.04.2010
EservLDAP
19.04.2010
EservDHCP
19.04.2010
EservRubricator
08.04.2010
EservDNS
08.04.2010
NSСI
08.04.2010
WPAD
27.03.2010
Eserv422
27.03.2010
Eserv4Docs
26.03.2010
Eserv4FAQ
21.03.2010
EservIrc
05.03.2010
Eserv421
05.03.2010
HttpProxy
02.03.2010
EservVideo
02.12.2009
Eserv4Wiki
02.12.2009
Eserv4acWEB
02.12.2009
PopPull
22.11.2009
PigMailPigProxy2/WhatsNew
22.11.2009
PigMail/WhatsNew
23.09.2009
FossilEservHowTo
22.09.2009
SourceCodeManagement
22.09.2009
FossilScm
16.09.2009
SendEmail
08.09.2009
RoundCube
07.05.2009
GitScm
07.05.2009
GitEservHowTo
06.05.2009
SunBird

Eserv SpamProtexx plugin

Начиная с версии 3.20 (марта 2005 г) Eserv включает в комплект оценочную серверную версию байесового классификатора почты AGAVA SpamProtexx.

http://www.spamprotexx.ru/

Использование SpamProtexx antispam для фильтрации почты на сервере Eserv/3

TOC

Версии SpamProtexx

В Eserv включена не та версия SpamProtexx, что доступна для скачивания на сайте spamprotexx.ru (перехватывающая почту через TDI), а серверная версия, разработанная специально для Eserv: в ней нет сетевого уровня, т.к. сетевое взаимодействие осуществляет Eserv, и модифицирован классификатор — с учетом многопользовательского использования. Соответственно эти версии SpamProtexx имеют разные API, и Eserv не будет работать с однопользовательской версией SpamProtexx. Нужно использовать ту, что включена в комплект.

Принцип работы acSMTP со SpamProtexx при получении почты по SMTP (MX)

Классификация почты с помощью SpamProtexx производится на стадии, когда все предварительные проверки (антирелей, RBL, черные списки, антивирус и т.д.) уже пройдены, письмо полностью принято в файл в spool, определен ящик-получатель, и осталось решить, в какую из папок пользователя положить письмо. Если SpamProtexx plugin был подключен (опция UseSpamprotexx=1), то Eserv acSMTP после получения письма обращается к SpamProtexx через его API, передает ему имя полученного файла с сообщением, SpamProtexx статистически классифицирует его в соответствии с текущим состоянием словарей, и возвращает имя категории — spam, clear или unclassified. Unclassified означает "неуверенность" фильтра, в какую категорию отнести письмо — это бывает, если числовое значение вычисленной вероятности далеко от предельных значений спам/не_спам (чаще всего это признак "недоученности" словарей, об обучении см. ниже).

Почта, классифицированная как спам, не попадает в INBOX пользователя (доступный по IMAP и POP3), а попадает в IMAP-подкаталог "spam" этого пользователя (по умолчанию доступный только по IMAP, но не по POP3), и копия в общий каталог на случай переклассификации отправителем. Отправителю спама во время почтовой сессии в ответ на команду DATA дается код ошибки 5хх и URL для "проталкивания письма" (с автоматической подстройкой словарей SpamProtexx). Все стандартные MTA возвращают такие письма отправителям и приводят в возврате текст из сообщения об ошибке. Таким образом отправитель будет знать, что его письмо попало в spam, и будет знать как его "обелить". Это исключает негативный эффект от возможных ложных срабатываний (false positives), которые и так составляют менее 0.01% (см. AntiSpamNews). Если отправитель посещает приведенный URL, то сообщение автоматически копируется в папку reclassify (для контроля админом), а отправителю дается возможность нажатием одной кнопки обучить SpamProtexx впредь относиться к таким письмам терпимее (слова добавляются в словарь 'clear' классификатора). Для ручной переклассификации клиентом-получателем (например, false negatives — просочившийся спам — переклассифицировать как спам) достаточно в IMAP-клиенте переложить сообщение в папку spam или not_spam (любого каталога — можно создать эти папки, где вам удобно), и IMAP-сервер инициирует соответствующую процедуру обучения на SpamProtexx). Последующие письма будут классифицироваться уже с учетом этих изменений, ничего для этого перезапускать не нужно.

При перекладывании сообщения в папку not_spam, это письмо заново отправляется получателю и попадает в его INBOX.

Письма, классифицированные как 'unclassified' — кандидаты на переклассификацию для дообучения спам-фильтра, поэтому кроме INBOX, они также копируются в специальную административную папку 'ambiguous' ("неоднозначная классификация"), доступную администратору по IMAP.

Переклассификация отправителем по HTTP

Это очень важная возможность спам-фильтра в Eserv, показавшая себя за почти два года с наилучшей стороны. Отправитель, который пытался отправить письмо, классифицированное SpamProtexx как спам, получит от своего MTA уведомление о недоставке письма. Все MTA при этом указывают текст ошибки, выданной принимающей стороной. Eserv там пишет "ваше сообщение классифицировано как СПАМ, нажмите на этот URL" ("ваш-сайт/MailClassify/..."). По указанному URL на вашем сервере работает acWEB из комплекта Eserv (если на сервере нужен другой веб-сервер на 80м порту, то acWEB можно переключить на другой, либо запускать CGI-скрипт переклассификации из вашего веб-сервера). Когда отправитель нажимает на указанный URL в возвращенном письме, он попадает на страницу с объяснением причин такой классификации и с предложением нажать кнопку для переклассификации. Даже если он не нажмет на эту кнопку — письмо попадает в вашу папку reclassify (доступную администратору по IMAP), откуда вы сможете переклассифицировать письмо сами.

Такая организация работы спам-фильтра позволяет значительно снизить потенциальный ущерб от ложных срабатываний фильтра (в отличие от общепринятого "отмалчивания" принимающего фильтра, или сообщения "напишите администратору сервера"). В результате практически не приходится вручную просматривать папки spam.

Первичная настройка и проверка SpamProtexx

Режим работы с использованием SpamProtexx ключается опцией SMTP[UseSpamProtexx] в Eserv3.ini или в веб-интерфейсе Eserv. После этого нужно перезапустить acSMTP для загрузки plugin'а SpamProtexx. Если он не запускается, см. диагностические сообщения в acSMTP.log — возможно истек срок тестовой эксплуатации SpamProtexx, или не удается активировать SpamProtexx, и т.п.

Для проверки работы фильтра:
  • отправить письмо на внешний сетевой интерфейс SMTP-сервера Eserv и смотреть результат классификации в журнале и ответы Eserv на команду DATA: если спам, то это будет видно по вставляемым в эти ответы ссылкам на переклассификацию. Пример записи в логе:
  • 2005-09-07 15:01:01;anelko@mail.com;php@eserv.ru;38467;;82.36.175.74;spam;-;spam;0.999755 — в предпоследнем поле указана классификация, присвоенная на основе вычисленной вероятности, а в последнем поле числовое значение вероятности — от 0 до 1 — ближе к нулю не спам, ближе к 1 спам. Если базы еще не "обучены", то скорее всего значение вероятности будет около 0.5, и unclassified.
Управление заключается в:
  • начальном обучении словарей SpamProtexx (импортом вашей старой классифицированной почты или загрузкой наших примеров словарей).
  • дообучение по ходу работы — перемещение неверно классифицированной почты в каталоги spam или not_spam при работе в IMAP. Папку 'not_spam' можно создать в любом месте иерархии папок IMAP-клиентом. При перемещении письма из папки spam (или другой) в папку 'not_spam' на сервере запускается процедура переклассификации этого письма — изменения статистических словарей фильтра. При перемещении в словарь 'spam' слова добавляются в словарь 'spam'. На основании этих частотных словарей и работает классификация SpamProtexx (см. StatisticalSpamFiltering). И качество его работы всецело зависит от аккуратности действий того, кто выполняет эти операции переклассификации-дообучения фильтра. У самого SpamProtexx никаких заранее заданных критериев спама/не-спама нет. Если ваши собственные критерии оценки спам/не-спам остаются неизменными, и вы соответственно поправляете неверные срабатывания SpamProtexx, то в скором времени он станет не менее аккуратным в своих оценках. На практике достижима аккуратность 99.99% и выше (см. AntiSpamNews). Поскольку добросовестность классификации является критическим фактором при применении SpamProtexx — некоторые администраторы берут роль переклассификатора полностью на себя (по умолчанию это могут делать и пользователи через IMAP). Для этого администратор может настроить себе доступ в папку reclassify или ко всей иерархии папок IMAP. Спец-каталоги для административных учетных записей IMAP настраиваются здесь: http://localhost:3140/main/CONF/lists/imap/SpecialFolders.txt. Для чтения reclassify можно завести особый IMAP-account, либо использовать заведенный по умолчанию popfile_admin.
  • контроль работы фильтра по журналам Eserv или по статистическим отчетам в веб-интерфейсе.
После первичной настройки обрабатываются только ложные срабатывания и "ложные несрабатывания". Причем ложные срабатывания обрабатывает сам отправитель через веб, как описано выше. Если пользователи не используют IMAP, то переклассификацию "ложных несрабатываний" придётся делать админу, входя в корень иерархии всех IMAP-каталогов (учетная запись supervisor@ в SpecialImapFolders.txt), либо в корень спам-архива (учетная запись spam_lover@) или прося пользователей пересылать ему спам, попавший в их ящики.

Заранее создавать подкаталог spam не нужно, он будет создан автоматически при поступлении спама пользователю. Если требуется переклассификация (переобучение фильтра) нужно самому создать IMAP-папку not_spam (где угодно). При помещении в not_spam письмо после переклассификации отправляется исходному получателю.

Все письма, которые при классификации опознаны как НЕ спам, попадают напрямую в INBOX пользователя. INBOX доступен как по IMAP, так и по POP3.

Переклассификация без IMAP

Использование почтового робота для переобучения antispam фильтра сервера Eserv/3: см. MailClassifyRobot

Версии SpamProtexx Srv

AndreyCherezov /07.09.2005 15:34/ Вышла версия 2.1.6 классификатора SpamProtexx, для обновления нужно заменить два файла
http:///www.eserv.ru/download/files/txtClass.dll
http:///www.eserv.ru/download/files/acSMTP.exe

Дополнения к описанию

Базы (словари) статистического спам-фильтра по умолчанию хранятся в каталоге DATA\spamprotexx. Там два файла: storage.esp и relearn.esp. Второй служит для автобалансировки базы при переобучении и может быть относительно большим (на нашем сервере 14Мб). Для экономии места и повышения скорости работы SpamProtexx этот файл можно периодически удалять, будущие версии SpamProtexx будут делать это сами (сообщено разработчиками SP сегодня — 07.09.2005).

Работает на Eserv/7.0.beta1/Linux/arm64 (Dec 25 2023)