Цель: настроить фильтрацию спама с userpref чтобы управлять всем этим через roundcube + sauserprefs + markasjunk2
!Здесь нет инструкции по установке roundcube + sauserprefs + markasjunk2. Предполагается, что вы уже установили и настроили roundcube + sauserprefs + markasjunk2, делая настройки, которые указаны ниже. Инструкция проверена и работает на нашем сервере.
Установка
Во время установки, установится так же демон фильтрации писем
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 или при использовании программ-посредников.
Если есть вопросы, пишите, постараюсь ответить
[i]Цель: настроить фильтрацию спама с userpref чтобы управлять всем этим через roundcube + sauserprefs + markasjunk2[/i]
[color=#FF0000][b]!Здесь нет инструкции по установке roundcube + sauserprefs + markasjunk2. Предполагается, что вы уже установили и настроили roundcube + sauserprefs + markasjunk2, делая настройки, которые указаны ниже. Инструкция проверена и работает на нашем сервере.[/b][/color]
[b]Установка[/b]
[code]apt-get install spamassassin[/code]
Во время установки, установится так же демон фильтрации писем [b]spampd[/b]
[color=#FF0000]!При установке spamassassin устанавливается так же spampd и для которого создается пользователь и группа spampd:spampd, домашний каталог /nonexistent и с запретом входа через шелл /bin/false[/color]
[b]Настройка[/b]
Весь SQL храниться в [b]ls /usr/share/doc/spamassassin/sql[/b] и вполне актуален.
Далее создаём [b]nano /etc/spamassassin/sql.cf[/b]
[code]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[/code]
DBI:mysql:dbname:localhost – здесь прописываем свои параметры для подключения к Базе Данных:
dbname – имя базы данных
localhost – хост базы данных
Если же нужно указать порт Базы Данных, то прописываем порт так:
DBI:mysql:dbname:localhost:3306
[b]Настройка spamd[/b]
Создаем пользователя и группу [b]spamd[/b] c [b]HOME[/b] в [b]/var/lib/spamassassin[/b]
[code]groupadd -g 5001 spamd
useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
chown spamd:spamd /var/lib/spamassassin[/code]
Редактируем [b]nano /etc/default/spamassassin[/b]
[code]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[/code]
"[b]-q[/b]" -- значит использовать SQL.
Настраиваем доставку + фильтрация
Транспорт dovecot: [b]nano /etc/postfix/main.cf[/b]
[code]local_transport = dovecot
virtual_transport = dovecot[/code]
Он описан в [b]nano /etc/postfix/master.cf[/b] (листаем в самый конец файла)
Изначально он выглядел так
[code]dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}[/code]
Теперь выглядит так
[code]dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/bin/spamc -f -u ${recipient} -e /usr/lib/dovecot/deliver -d ${recipient}[/code]
[b]Настройка SpamAssassin[/b]
Открываем [b]nano /etc/spamassassin/local.cf[/b]
[code]rewrite_header Subject *****SPAM*****
report_safe 1
required_score 5.0
use_bayes 1
bayes_auto_learn 1[/code]
[i]trusted_networks 212.17.35. – здесь можно указать список сетей, для которых не будут проверяться письма на спам. Заполнять не обязательно[/i]
Почти во всех руководствах только такой вариант:
использование content_filter и настройка нового транспорта spamassassin, который пересылает письмо через sendmail.
Этот вариант не работает в случае с dovecot и приводит к зацикливанию письма.
Настройка roundcube плагинов тривиальна. Главное не забыть указать learning_driver в markasjunk2
===
[b]Дополнительно (настройка и установка не обязательна)[/b]
[b]Перегнать существующую базу bayes в sql[/b]
[code]sa-learn --dbpath /var/lib/spamassassin/.spamassassin/ --backup > ~/bayes.txt
sa-learn --restore ~/bayes.txt[/code]
[b]Дополнительные настройки spamassassin[/b]
[code]ls /etc/spamassassin/
ls /usr/share/spamassassin/[/code]
[b]Отключить/Включить плагины[/b]
[code]nano /etc/spamassassin/v310.pre
nano /etc/spamassassin/v312.pre
nano /etc/spamassassin/v320.pre
nano /etc/spamassassin/v330.pre[/code]
[quote]• 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 или при использовании программ-посредников.[/quote]
Если есть вопросы, пишите, постараюсь ответить