?

Log in

No account? Create an account

Previous Entry | Next Entry

Antispam

Захотелось мне давеча воткнуть дополнительный уровень фильтрации спама в почтовую системую в виде spamassassin.

Собственно, такая мысль возникла после прочтения статьи Барабанова http://www.samag.ru/art/08.2007/08.2007_01.html

Её можно кратко перефразировать - контент-анализ после приёма - suxx, т.к. письма, которые его не прошли, либо выкидываются в /dev/null, и т.о. безвозвратно пропадают, причём отправитель об этом не узнает, либо складываются в карантин, куда надо будет лазить ручками, если вдруг возникнет подозрение на то, что какое-то нужное письмо попало в спам. Это всё неудобно и может создавать длительные задержки - пользователь просто так в карантин не полезет. И т.д.

Наоборот, реджекты на этапе smtp-сессии рулят, т.к. отправитель немедленно получит баунс о недоставке и будет знать, что письмо однозначно расценено как спам. А про карантин-то он никак не узнал бы, ага.

В общем, вывод из статьи такой, что контент-фильтры после приёма использовать не стоит, т.е. от них надо отказаться. НО! Там не учитывается, что некоторые MTA позволяют это делать прямо на этапе smtp-сессии, а реджект выдавать после стадии DATA, буде такое потребуется.

В общем, я решил реализовать это дело у себя. Для этого пришлось собрать в альт spampd - http://www.worlddesign.com/index.cfm/rd/mta/spampd.htm, всё остальное уже есть.

Сделал статью по настройке такой связки - http://freesource.info/wiki/Dokumentacija/Postfix/filter/spampdclamsmtpdbefore и сейчас всё это у меня работает в тестовом режиме.

Заодно вкратце расписал другую замечательную технику - Faked MX Records
http://freesource.info/wiki/Dokumentacija/Postfix/antispam/FakeMX

Tags:

Comments

( 7 comments — Leave a comment )
undeadirc
Aug. 29th, 2008 11:59 am (UTC)
про honeyspot не забывайте или так называемые trap адресса эффективность 99,95% гдето
vvk_tmn
Sep. 1st, 2008 07:12 am (UTC)
Ага, spamtrap в планах. Вопрос в том, как лучше её организовать - готовых инструментов для этого сходу найти не удалось, так что я собираюсь прикрутить поддержку spamtrap в систему spam_check http://freesource.info/wiki/Dokumentacija/Postfix/antispam/spamcheck
undeadirc
Sep. 1st, 2008 07:17 am (UTC)
А там и не нужны готовые инструменты. Нужно лишь уже иметь ящики которые не используються но хорошо засветились. postfix+amavisd-new+spamassassin. Раз в 15 минут запускаем скрипт. у меня в этой папке по 10-20 писем за этовремя.
chmod 777 -R /var/mail/store/spam\@domain.ru
su amavis -c 'sa-learn --spam --dir /var/mail/store/spam\@domain.ru/new/'
rm /var/mail/store/spam\@domain.ru/new/*
vvk_tmn
Sep. 1st, 2008 07:31 am (UTC)
Ну это хороший способ получения свежего спама для байеса :) В принципе, можно сделать и так.

У меня была другоая идея: spam_check рассчитывает веса для хоста по разным критериям, вот я хотел добавить в него ещё один. По ресурсам это получится менее заратно, чем включать байес на отсосине.
undeadirc
Sep. 1st, 2008 07:32 am (UTC)
имхо
Меня лично затраты устраивают байеса, по крайне мере в моем случае спам если и бывает только в папке спам. И не так часто.
vvk_tmn
Sep. 1st, 2008 07:36 am (UTC)
Re: имхо
Мне ресурсы в принципе тоже позволяют, пожалуй попробую. Ещё бы вот автоматизированный источник хама воткнуть ;)
undeadirc
Sep. 1st, 2008 07:44 am (UTC)
Re: имхо
Да в случае с SA нужна тонкая настрокая байеса.
bayes_auto_learn_threshold_nonspam -0.1
score BAYES_00 0.0001 0.0001 -6.0 -6.0
score BAYES_05 0.0001 0.0001 -3.0 -3.0
score BAYES_20 0.0001 0.0001 -1.0 -1.0
#score BAYES_40 0.0001 0.0001 -0.185 -0.185
score BAYES_50 0.0001 0.0001 1.6 1.6
score BAYES_60 0.0001 0.0001 2.0 2.0
score BAYES_80 0.0001 0.0001 4.0 4.0
score BAYES_95 0.0001 0.0001 6.5 6.5
score BAYES_99 0.0001 0.0001 10.0 10.0
score RDNS_NONE 0.0001 0.0001 3.0 3.0
Самая первая опция позволит вам не беспокоиться о хаме

А sa-learn --dump magic, покажет токены чтобы проверить как процесс идет
( 7 comments — Leave a comment )