Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
www.lissyara.su
—> статьи
—> FreeBSD
|
|
В появившемся окошке конфигуратора выбираем следующие опции:
|
Вот тут стоит поставить галочку напротив версии установленной СУБД. В моем случае - MySQL 4.1
|
после завершения установки необходимо создать базу данных, в которой DSPAM будет хранить списки пользователей и статистические данные (токены и их параметры) и пользователя, который будет получать доступ к ним:
|
Теперь надо создать структуру таблиц БД. Для этого в состав пакета входят
дампы пустых таблиц базы. Загрузить их можно так:
|
Если выскакивают ошибки, скорее всего проблема в правах доступа к БД.
Теперь создаем конфигурационный файл для самого DSPAM:
|
Теперь создаем "классификационного" пользователя. Его база будет использоваться пока пользователь не накопит базу из 1000 "не спамовых" писем или 250 "спамовых". Также фильтр обращается сюда за дополнительными данными, когда затрудняется в точной классификации почтового сообщения.
К обучению фильтра данного пользователя надо относиться очень осторожно, т.к. каждый реальный пользователь в начале видит результаты работы именно этого набора правил.
Обучать этот базовый фильтр должен только администратор почтовой системы. Создание пользователя предельно простое. Создаем файл
|
#Содержимое его такое:
primary:classification:local_part@domain.com
[/code] На этом настройка DSPAM закончена. Проверить его работу можно так:
|
В spam.txt укладываем какое-нибудь спамовое письмо целиком (со всеми заголовками, как оно лежит, например в mailbox'е). Если все хорошо, то в /var/log/dspam/dspam.debug появится что-либо похожее на:
[...] 71997: [12/10/2006 17:32:12] saving signature as 457c1a6c719975209328925 71997: [12/10/2006 17:32:12] libdspam returned probability of 0.013219 71997: [12/10/2006 17:32:12] message result: NOT SPAM 71997: [12/10/2006 17:32:12] delivering message 71997: [12/10/2006 17:32:12] Opening pipe to LDA: /usr/local/sbin/exim -oMr spam-scanned local_part@domain.com 71997: [12/10/2006 17:32:12] LDA returned success 71997: [12/10/2006 17:32:12] DSPAM Instance Shutdown. Exit Code: 0 |
Что-то в логе не так?
DSPAM пишед "bailing"?
Значед четаем все многа букаф сначала. :-)
Бессымысленно переходить к следующему разделу без нормально настроенного DSPAM.
Если проблем нет и DSPAM в сообщает в логе о том, что нормально обрабатывает письма, то начинаем встраивать его вызовы в конфигурацию Exim:
В роутеры надо добавить обработчики для проверки писем DSPAM'ом, а также для обучения системы. Для роутеров ОЧЕНЬ важен порядок их вызова. Внимательно читаем конфигурацию 3 раза и определяем куда будем втыкать вызовы DSPAM для обработки писем. Я как мог, постарался указать расположения важных для почтовой системы роутеров. Так что все просто.
Мулька в том, что мы перед этим выпьем по 2 пузыря. (с) :-)
|
С транспортами попроще. Порядок их расположения не важен. Просто копируем это в секцию transports:
|
Для того, чтобы сообщить системе о пропущенном спаме пользователю следует переслать (Forward as attachment) это письмо на адрес spam-имя_юзера@домен.
Чтобы сообщить о ложном срабатывании фильтра, пользователю следует переслать (Forward as attachment) это письмо на адрес notspam-имя_юзера@домен.
Пытаться "захламить" (poison) базы данных пользователей мусором бесполезно. Переобучение происходит только в том случае, если письмо содержит верную неустаревшую сигнатуру.
Настоятельно рекомендую почитать документацию по Exim (/usr/local/share/doc/exim) и по DSPAM (/usr/local/share/doc/dspam/). Хотя бы для того, чтобы узнать, каким образом база очищается от устаревших
token'ов. :-)
ЗЫ. Лиссяра, у тебя в мануале косяг, в конфе экзима. У тебя роутер dnslookup идет раньше system_aliases, а значит форвард писем вовне пойдет с большой задержкой (он перепишет адрес, а потом положит в очередь, т.к. отправить сразу не сможет).
|
Artem Za..., 2006-12-12 в 19:55:39
Где и как описываются группы для DSpam!
root, 2006-12-18 в 10:46:25
Дспам встал нормально, но при отправке письма откуда-нибудь из мира(с гугла например) дспам вываливаетсяс ошибкой:
2006-12-17 17:13:05 1GvwlF-0004UI-80 ** xxxx@xxx.ru R=dspam_spamscan_router T=dspam_spamcheck_transport: Child process of dspam_spamcheck_transport transport returned 1 from command: /usr/local/bin/dspam
В чем может быть косяк? Конфиги как в статье все.
Eugene, 2007-01-27 в 8:23:08
использовать контентные фильтры - мне кажецца нецелесообразно - при больших потоках сервер просто нагибается.
Пробовал spamassasin (и сразу выкинул) bogofilter и dspam. Вcё это в большей или меньшей степени тормозит.
Кроме того использовать "международные" черные списки - тоже весьма горбато. Эти умники бывает банят целые сети - куда попадают невинные люди.
В общем понаблюдав за спамом сделал так.
Так как спам прет в 99% с затрояненых windowz буржуюских и не только машин
Установил pf+spamd для перенаправления на порт spamd добавил такое правило в pf.conf
rdr pass inet proto tcp from !<spamd-white> os "Windows" to any port 25 -> 127.0.0.1 port 8025
то есть все коннекты с виндовых хостов на spamd
далее настройки эксима (у меня используется sqlite + dovecot. И есть таблица access)
acl_check_connect:
тут правило которое дропает соединения с отпределенных IP
acl_check_hello:
- дропать коннекты где в HELO пихают мой адрес
- дропать где пустое и неопреленное HELO
- дропать если HELO состоит из одного слова без точек
- дропать если пихает мой домен/хост в HELO
acl_check_rcpt:
- если в имени хоста есть adsl,ppp и тому подобное задержка в 20сек
- задержка в 20 сек если в имени хоста есть последовательноость типа a.b.c.d или a-b-c-d (где a-d числа, так многие провайдеры называют модемные пулы)
- задержка в 20 сек если у отправляеющего хоста нет PTR записи в DNS.
после этого практически весь спам пропал !
пробивается спам теперь только с UNIX хостов, но таких очень мало :)
у меня в день могло наприходить в районе 5-10 спамовых писем сейчас нет ни одного.
в общем если интересно могу написать подробнее. типа статейки :)
куда прислать ?
lissyara, 2007-01-27 в 11:24:08
http://www.lissyara.su/admin_level/
велкам.
==============
а прислать - мне можешь прислать...
spam anti :), 2007-03-30 в 15:08:41
/usr/local/bin/dspam --debug --deliver=innocent --user
local_part@domain.com — %u < spam.txt
почему спам классфиицируется как innocent ?
Олег, 2007-04-04 в 18:09:14
Следует отметить, что если вы используете dspam в связке с qmail+vpopmail последний должен быть версии не ниже 5.3.7 (с опцией --enable-make-seekable, она yes по умолчанию), иначе не работает конструкция вида:
/usr/local/dspam/bin/dspam --user local_part@domain.com --deliver=innocent,spam | /var/vpopmail/bin/vdelivermail '' bounce-no-mailbox
vdelivermail отваливается с ошибкой на несикабельность пайпа (errno 29)
Вотъ.
Al, 2007-10-15 в 16:54:20
Ошибка "Unable to find a valid signature" обычно означает, что для входящего письма нет сигнатуры или письмо НЕ содержит сигнатуры.На spam-имя_юзера@домен надо пересылать прешедшее письмо,а не его копию или копию текста.Сигнатура письма содержится в его "служебной" информации
karoll, 2007-11-22 в 11:52:11
Не сочтите за рекламу...
на днях обнаружил - просто и удобно и поддержка по e-mail есть. Если у вас не очень много писем - рекомендую.
http://so.yandex.ru/companies/so1024.xml
KaMa-CyTpA, 2007-11-22 в 12:07:28
2karoll
Название статьи насколько я вижу DSPAM extension to exim
А по Вашей сцылке там его и близко нет.
googol, 2007-11-23 в 16:03:57
Вы забыли в файле
/var/db/dspam/group
одну МАЛЕНЬКУЮ вещичку вставить :0)
ДО
#Содержимое его такое:
primary:classification:local_part@domain.com
ПОСЛЕ
#Содержимое его такое:
primary:classification:*local_part@domain.com
Согласно официального мануала.
После этого у меня все заработало правильно.
sad, 2008-01-10 в 10:18:12
Вопрос касательно обучения.
пошли на spam-user@domain.ru ошибочно принятый за "хорошее" сообщение и т.п
а, если "нехороший " человек допустим vasy@domain.ru шлет
хорошие письма на spam-petya@domain.ru тем самым снижая вероятность правильной работы dspama ? как подобного избежать?
sad, 2008-01-17 в 0:00:53
Спасибо за ответы, разобрался
artem, 2008-01-30 в 12:48:16
Лиссяра где найти полную статью о чем писал
Eugene, 2007-01-27 в 8:23:08 ?
lissyara, 2008-01-30 в 12:57:02
У евгения. Мне он её прислать не соизволил =)
Ganover, 2008-03-25 в 20:14:04
А что там писать то, Eugene все написал уже....
основное - правило pf
а остальное за exim\ом, как и говориться в этой статье)
Кстати, сам не так давно сижу на ПФ и хочу сказать что настолько это гибкая система, что слезать я с нее , - вжисть не слезу))
John мимо шёл, 2008-05-27 в 15:11:22
В фре-семёрке дспам не собирается - девел версия помечена как сломанная, а стабильная конфликтует по зависимостям (мускул стоит 5.1, оно же хочет 5.0).
John мимо шёл, 2008-06-02 в 12:07:38
Секция local_delivery_spam_transport: у меня заработала только после добавления в конфиг user = mailnull (иначе бастовала с 52й ошибкой). И еще, по умолчанию в связке, которая тут описана - Exim+Dovecot на MySQL + Roundcube как почтовка - ящик для спама создается просто с названием Junk, т.е. доставка спама целиком выглядит так:
local_delivery_spam_transport:
driver = pipe
command = /usr/local/libexec/dovecot/deliver -d \
    $local_part@$domain -m Junk
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = mailnull
AmdCooper, 2008-06-14 в 17:14:08
Если использовать courier-imap
local_delivery_spam_transport из этого конфига не покатит а посему заменил его на
local_delivery_spam_transport:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = ${lookup mysql{SELECT CONCAT('/var/mail/exim/', `maildir`, '.ВашаПапка') \
FROM `mailbox` WHERE `username`='${local_part}@${domain}'}}
directory_mode = 770
envelope_to_add
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
(Не забудте переименовать 'ВашаПапка' если будите использовать)
Pr0x1ndei, 2008-06-17 в 6:41:39
Это всё конечно прекрасно если у человека приходило 5-15 писем на ящик в день
а если около 200 - 300 писем на один ящик, при наличии 700 - 800 ящиков на сервере, у меня лично к dspam'у в добавок свой личный блеклист - создал парочку ящиков и зарегистрировался с них на куче сайтов извесного содержания ;) - терь на них спам гигантский сыпеться а поскоку нормальные люди на эти ящики не пишут, то обычным teil -f с грепом выдёргиваем все строчки из екзимлогов где писмо приходило на данный ящик и потом awk'ом от туда выдёргиваем айпишники, тоесть как только какоето письмо пришло на спамовское мыло то автоматически адрес отправителя в блеклист
пришлось ещё скриптик наваять чтобы удблирующиеся адресса удалять
но всёравно спам сыплеца :( причём поиском по блеклисту замечаю что даже иногда из моегоже диапазона
есть ещё подобные извращенские соображения???
serge, 2008-06-17 в 12:06:06
Вобще-то есть dnsbl, который часть спама режет, можно свои проверки добавить и накидавать/списывать спамбаллы на письма, white lists, можно блокировать IP/подсети в файерволе... вобщем вариантов много, а, имхо, ваш не очень удачный.
gpnoz, 2008-09-12 в 14:10:21
2008-09-12 13:49:47 Delay 20s for f79.mail.ru [194.67.57.179] with HELO=f79.mail.ru. Mail from gpnoz@inbox.ru to spam-net@domain.su.
2008-09-12 13:50:07 H=f79.mail.ru [194.67.57.179] F=<prood@inbox.ru> rejected RCPT <spam-net@domain.su>: Unrouteable address
Почему так?
Как dspam вообще обучается?
100pka, 2008-10-09 в 12:26:06
Товарищи, не хочу создавать для этого вопроса отдельную тему на форуме. Вопрос такой, как можно убедиться что мой дспам действительно обучаеться, а не в пустую читает мои письма отправленые на spam-*@*
Так как скормлено ему порядка 50 100% спамовых писем..а он как пропускает их так до сих пор и пропускает....Большие сомнения на счет его 99.9% работы....
Pr0x1ndei, 2008-10-09 в 13:02:52
ну я в среденем в неделю ему скармливаю 1500 пропущеных им писем и он вроде отлично обычаеться
aledin, 2008-10-15 в 8:29:48
to 100pka
Это у тебя вообще ответы эксима, а не дспама.
100pka, 2008-10-15 в 9:25:11
Да ладно, уже не надо) Поставил спамасасин, и все проблемы со спамом ушли, правда теперь надо выбивать машину под мейл более мощную)) Сами знаете почему))
100pka, 2008-10-24 в 14:48:16
Всем снова привет, приношу такие известия, спам асасин - суксЪ !!! Повесил почтовую машину, что тока ресет помог...По этому поставил обратно дспам, и сижу смотрю на статистику, скормлено порядка тысячи писем спамовых, вроде результат уже проростает...
Ребята поделитесь своим опытом, у кого и через скока времени дспам начал уже активно резать спам? Просто интересно, неделя? месяц?
Pr0x1ndei, 2008-12-01 в 4:38:03
to 100pka: сразуже, при трафике более чем 10000 писем в день, один день и полный ящик спама, создаём-с директории спам и неспам, чтобы всё во входящих не лежало и потом тренируем если не создать директории, то вовремя тренировки, во входящие может прилететь спамовское письмо ( хотя мне иногда казалось что дспам_трейн запоминает какие файлы были в директории на момент его запуска и не чекает друие, но если убить какоенибуть писмо то он останавливаеться когда это писмо не находит )
а в борьбе со спамом действует закон больших чисел, чем больше писем тем точнее и качественее можно распознавать спам, ещё у меня были созданы пара ящиков, типо olga@domain.ru которые постоянно находили всякие сканеры, и естественно слали на них писма но поскольк нармальные люди не пишут на эти ящики то отправитель письмаавтоматически отправлялся в блеклист, если это был неизвесный почтовый домен и нормальных писем с него не наблюдалось то добавлял сам домен в блеклист
Lazy caT, 2008-12-08 в 16:40:05
Уважаемые, возможно вопрос не сюда но, мне кажется, в тему...
Стоит Exim+DSPAM+... как заставить DSPAM не проверять локальных отправителей?
Т.е. если письмо идет от vasya@firma.ru на kolya@firma.ru у меня DSPAM ловит и проверяет это письмо... Хоть сейчас у меня больше половины локального народу в Auto whitelist'ах сидят, но всё таки...
staskur, 2009-01-04 в 1:32:51
захотелось задействовать посылку юзерам уведомлений от DSPAM .
по примеру /var/db/dspam/firstrun.txt.sample и еще пары аналогичных сделал
/var/db/dspam/firstrun.txt — извещение о начале фильтрации спама.
/var/db/dspam/firstspam.txt — извещение о первом обнаруженном письме, содержащем спам.
установил
Notifications on
послал письмо юзеру. В maillog с удивлением обнаружил что DSPAM в упор не видит созданные файлы
Jan 3 23:41:04 base dspam[18000]: Unable to open file for reading: firstrun.txt No such file or directory
Jan 3 23:41:04 base dspam[18003]: Unable to open file for reading: firstspam.txt No such file or directory
чтение родной документации просветления не принесло (никаких упоминаний про то где должны лежать эти файлы не нашел)
в makefile увидел упоминание про ${WRKSRC}/txt/ и
попробовал создать /var/db/dspam/txt/ и скопировал туда созданные файлы txt
послал другому юзеру письмо (прежнему уже незачем, т.к. событие начала фильтрации спама у него уже произошло)
в mailloge уже нет ошибки и юзер получил и посланное письмо и уведомление (по образцу firstrun.txt) о начале фильтрации, правда от имени mailnull@mydomen.ru
вот такой нюанс...
zingel, 2009-06-11 в 4:57:48
cd /usr/port/mail/dspam <-— фуфло, нет такой папки port, а есть ports 8)
OlegMS, 2009-08-21 в 23:07:41
Спасибо.
Дополнение для пользующихся Dovecot: обратите внимание на порт dovecot-antispam. Позволяет обучать спамофильтры (по умолчанию Dspam, но может и другие) просто перемещая письмо из Inbox в Spam и наоборот.
Lazy caT, 2010-05-16 в 20:02:11
В DSPAM 3.9.0.1 есть косяк с записью настроек по умолчанию... WebUI не находит default.prefs.
Чтобы из WebUI корректно настраивать умолчальные параметры необходимо создать директорию default в DSPAM_HOME/data и сделать там симлинк на default.prefs из DSPAM_HOME'a
есть другой вариант, рихтовать admin.cgi...
Но, т.к. там perl, а я в нем не ахти как силен, то первый вариант мне более по душе... :)
d0t, 2010-05-25 в 11:47:26
дня 3 парился не понимал почему classification group не работает %)
dspam-3.9.0_1
dspam.c
< if (strcasecmp(user,username) == 0 || strncmp(user,"*",1) == 0 ||
---
> if (strcasecmp(user,username) == 0 || strcmp(user,"*") == 0 ||
bodzilla, 2010-07-16 в 23:37:25
To d0t:
Спасибо, все завелось!
salimk, 2011-09-22 в 10:10:00
Да хуже антиспама не видал уже 3й месяц пашет, каждый день обучаю, и не один спам не поймал, буду переходить обратно на SpamAssasin
ilyakon, 2016-03-17 в 4:05:37
Ставьте новый современный rspamd и забудьте о SpamAssasin как о страшном сне.
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
вверх
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [36 шт.]