Установка и настройка SpamAssassin для Dovecot + Postfix

Поради та підказки щодо софту, роботи в операційних системах, комплектуючих та зборок комп'ютерів.
Аватар користувача
toxi
Администратор
Администратор
Статті: 0
Повідомлень: 532
З нами з: 12-04-2008 07:58:25
Ваша стать: Чоловічий
І'мя: Roman
Контактна інформація:

Установка и настройка SpamAssassin для Dovecot + Postfix

Повідомлення toxi »

Цель: настроить фильтрацию спама с userpref чтобы управлять всем этим через roundcube + sauserprefs + markasjunk2

!Здесь нет инструкции по установке roundcube + sauserprefs + markasjunk2. Предполагается, что вы уже установили и настроили roundcube + sauserprefs + markasjunk2, делая настройки, которые указаны ниже. Инструкция проверена и работает на нашем сервере.

Установка

Код: Виділити все

apt-get install spamassassin
Во время установки, установится так же демон фильтрации писем spampd
!При установке spamassassin устанавливается так же spampd и для которого создается пользователь и группа spampd:spampd, домашний каталог /nonexistent и с запретом входа через шелл /bin/false

Настройка
Весь SQL храниться в ls /usr/share/doc/spamassassin/sql и вполне актуален.
Далее создаём nano /etc/spamassassin/sql.cf

Код: Виділити все

user_scores_dsn               DBI:mysql:dbname:localhost
user_scores_sql_username      spamassassin
user_scores_sql_password      password
# Если вы используете стандартную SQL таблицу, то эту строку можно не указывать
#user_scores_sql_custom_query     SELECT preference, value FROM _TABLE_ WHERE username = _USERNAME_ OR username = '$GLOBAL' OR username = CONCAT('%',_DOMAIN_) ORDER BY username ASC

auto_whitelist_factory 		Mail::SpamAssassin::SQLBasedAddrList
user_awl_dsn               DBI:mysql: dbname:localhost
user_awl_sql_username      spamassassin
user_awl_sql_password      password
user_awl_sql_table         awl

bayes_store_module 	Mail::SpamAssassin::BayesStore::SQL
bayes_sql_dsn               DBI:mysql: dbname:localhost
bayes_sql_username      spamassassin
bayes_sql_password      password
DBI:mysql:dbname:localhost – здесь прописываем свои параметры для подключения к Базе Данных:
dbname – имя базы данных
localhost – хост базы данных
Если же нужно указать порт Базы Данных, то прописываем порт так:
DBI:mysql:dbname:localhost:3306

Настройка spamd
Создаем пользователя и группу spamd c HOME в /var/lib/spamassassin

Код: Виділити все

groupadd -g 5001 spamd
useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
chown spamd:spamd /var/lib/spamassassin
Редактируем nano /etc/default/spamassassin

Код: Виділити все

ENABLED=1
SAHOME="/var/lib/spamassassin"
OPTIONS="-q -x --max-children 5 --username spamd --helper-home-dir ${SAHOME} -s /var/log/spamassassin/spamd.log"
PIDFILE="${SAHOME}spamd.pid"
CRON=1
"-q" -- значит использовать SQL.

Настраиваем доставку + фильтрация
Транспорт dovecot: nano /etc/postfix/main.cf

Код: Виділити все

local_transport = dovecot
virtual_transport = dovecot
Он описан в nano /etc/postfix/master.cf (листаем в самый конец файла)
Изначально он выглядел так

Код: Виділити все

dovecot   unix  -       n       n       -       -       pipe
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
Теперь выглядит так

Код: Виділити все

dovecot   unix  -       n       n       -       -       pipe
    flags=DRhu user=vmail:vmail argv=/usr/bin/spamc -f -u ${recipient} -e /usr/lib/dovecot/deliver -d ${recipient}
Настройка SpamAssassin
Открываем nano /etc/spamassassin/local.cf

Код: Виділити все

rewrite_header Subject *****SPAM*****
report_safe 1
required_score 5.0
use_bayes 1
bayes_auto_learn 1
trusted_networks 212.17.35. – здесь можно указать список сетей, для которых не будут проверяться письма на спам. Заполнять не обязательно

Почти во всех руководствах только такой вариант:
использование content_filter и настройка нового транспорта spamassassin, который пересылает письмо через sendmail.
Этот вариант не работает в случае с dovecot и приводит к зацикливанию письма.
Настройка roundcube плагинов тривиальна. Главное не забыть указать learning_driver в markasjunk2

===
Дополнительно (настройка и установка не обязательна)

Перегнать существующую базу bayes в sql

Код: Виділити все

sa-learn --dbpath /var/lib/spamassassin/.spamassassin/ --backup > ~/bayes.txt
sa-learn --restore ~/bayes.txt
Дополнительные настройки spamassassin

Код: Виділити все

ls /etc/spamassassin/
ls /usr/share/spamassassin/
Отключить/Включить плагины

Код: Виділити все

nano /etc/spamassassin/v310.pre
nano /etc/spamassassin/v312.pre
nano /etc/spamassassin/v320.pre
nano /etc/spamassassin/v330.pre
• Postfix (http://postfix.org) – это популярный MTA (Mail Transfer Agent), позволяющий эффективно передавать письма адресатам.
• Dovecot (http://dovecot.org) – Secure IMAP server. IMAP-сервер, рассчитанный на максимальную безопасность и надежность. Преимуществом этой программы является то, что для поиска в больших файлах применяется бинарный древовидный индекс. Как указывает автор этого сервера, он тестировал его с 367 000 почтовыми учетными записями и не обнаружил проблем. Также программа может обслуживать запросы пользователей с помощью протоколов imap, imaps, pop3, pop3s.
• ClamAV (http://clamav.sourceforge.net) – opensource-антивирус.
• SpamAssasin (http://spamassasin.org) – почтовый фильтр. Предназначен для борьбы со спамом.
• Amavisd-new (http://www.ijs.si/software/amavisd) – высокоэффективный и надежный интерфейс между MTA и одним или несколькими фильтрами содержимого: вирусные сканеры, спам-фильтры (в нашем случае Spam Assassin). Amavisd-new написан на Perl, обеспечивающим высокую надежность, мобильность и ремонтопригодность. Он взаимодействует с MTA через (E) SMTP или LMTP или при использовании программ-посредников.
Если есть вопросы, пишите, постараюсь ответить
Вкладення
Установка и настройка спам фильтра SpamAssassin.zip
Файл Word 2007
(16.73 Кіб) Завантажено 290 разів
Правила форуму :: Виконую послуги IT-адміністратора (види послуг).