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

Советы и подсказки по софту, работе в операционных системах, комплектующих и сборок компьютеров.

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

Сообщение toxi » 24-07-2013 16:39:43

Цель: настроить фильтрацию спама с 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 КБ) Скачиваний: 204
Читаем "Правила конференции", перед созданием сообщения/темы
Аватара пользователя
toxi
Администратор
Администратор
 
Сообщения: 473
Зарегистрирован: 12-04-2008 06:58:25
Откуда: Украина, г. Житомир
Ваш пол: Мужской
Мобильный оператор: Kyivstar, Life
Модель моб. телефона: Samsung C5212 Duos
Фамилия: Павловский
Имя: Роман
Отчество: Олегович
Операционная система: Win 7, Linux Ubuntu
Интернет-браузер: Avant Browser, Google Chrome

Вернуться в F1: Советы и подсказки