mail.eserv.ruВойти

SpamProtexxPlugin

AndreyCherezov
(v1)
  • v1 AndreyCherezov· · Открыта

Eserv SpamProtexx plugin

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

http://www.spamprotexx.ru/

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

���������� ���������

Версии 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, и т.п.

Для проверки работы фильтра:
Управление заключается в:
После первичной настройки обрабатываются только ложные срабатывания и "ложные несрабатывания". Причем ложные срабатывания обрабатывает сам отправитель через веб, как описано выше. Если пользователи не используют 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).