Установка и настройка Spamassassin на сервере Ubuntu 12.04

Что такое Spamassassin?

Spamassassin – это написанный в Perl свободный почтовый фильтр с открытым исходным кодом, предназначенный для выявления спама путем проведения эвристических проверок почтовых заголовков и текстов. Spamassassin способен защитить сервер от огромного количества нежелательных сообщений.

Требования

Прежде чем приступить к выполнению руководства, нужно установить и настроить почтового агента передачи (например, Postfix).

Примечание: все необходимые инструкции можно найти в руководстве «Установка и настройка Postfix на Ubuntu 12.04».

Установка Spamassassin

Для установки Spamassassin и вспомогательного пакета spamc используйте apt-get:

apt-get install spamassassin spamc

После установки Spamassassin нужно выполнить еще несколько действий для корректной работы фильтра.

Добавление пользователя Spamassassin

Для запуска Spamassassin на виртуальном сервере нужно создать нового пользователя.

Для начала создайте группу spams:

groupadd spamd

Затем создайте пользователя по имени spamd с домашним каталогом /var/log/spamassassin:

useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd

Создайте сам домашний каталог /var/log/spamassassin:

mkdir /var/log/spamassassin

После этого передайте права на каталог группе spams:

chown spamd:spamd /var/log/spamassassin

Готово! Теперь можно запустить фильтр Spamassassin.

Настройка Spamassassin

Откройте конфигурационный файл Spamassassin:

nano /etc/default/spamassassin

Для активации фильтра нужно найти строку:

ENABLED=0

И изменить ее значение:

ENABLED=1

Чтобы получать новейшие правила фильтрации спама, нужно включить автоматическое обновление правил; для этого найдите строку:

CRON=0

И измените ее значение:

CRON=1

Теперь создайте переменную SAHOME, а в качестве ее значения задайте домашний каталог Spamassassin:

SAHOME="/var/log/spamassassin/"

Найдите переменную OPTIONS и измените ее следующим образом:

OPTIONS="--create-prefs --max-children 2 --username spamd \
-H ${SAHOME} -s ${SAHOME}spamd.log"

Данная переменная задает пользователя, который будет запускать Spamassassin (в данном случае это spamd), а также добавляет домашний каталог, создает лог-файл и ограничивает количество дочерних процессов, которые может породить Spamassassin.

Примечание: если сервер нагружен, рекомендуется увеличить максимальное количество дочерних процессов.

Запустите демон Spamassassin при помощи следующего кода:

service spamassassin start

Теперь приступайте к настройке Postfix.

Настройка Postfix

Несмотря на то, что Spamassasin полностью готов к работе, письма по-прежнему не проходят через спам-фильтр. Чтобы изменить это, нужно открыть конфигурационный файл Postfix:

nano /etc/postfix/master.cf

Найдите в нем строку:

smtp      inet  n       -       -       -       -       smtpd

и добавьте:

-o content_filter=spamassassin

Теперь Postfix будет пропускать почту через Spamassassin.

Чтобы настроить дополнительный фильтр контента, добавьте следующую строку в конец файла:

spamassassin unix -     n       n       -       -       pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}

Чтобы активировать изменения, перезапустите Postfix:

service postfix restart

Теперь Postfix будет использовать Spamassassin в качестве спам-фильтра.

Тонкая настройка Spamassassin

Чтобы использовать Spamassassin по максимуму, нужно создать правила.

Откройте стандартный файл правил SpamAssassin:

nano /etc/spamassassin/local.cf

Чтобы активировать правила, раскомментируйте нужные строки, удалив символ #.

Чтобы добавить заголовки в спам, нужно раскомментировать или добавить строку:

rewrite_header Subject [***** SPAM _SCORE_ *****]

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

required_score           3.0

Чтобы использовать для проверки почты теорему Байеса, раскомментируйте или добавьте строку:

use_bayes               1
bayes_auto_learn        1

Внеся все вышеперечисленные строки, сохраните файл и перезапустите спам-фильтр.

service spamassassin restart

Тестирование работы Spamassassin

Чтобы убедиться в том, что Spamassassin работает должным образом, проверьте лог-файл фильтра:

nano /var/log/spamassassin/spamd.log

или отправьте почту с внешнего сервера и проверьте почтовые заголовки.

Заключение

Spamassassin надежно защитит почтовый ящик от спама. Преимущество Spamassassin состоит в том, что пользователь может создавать правила и управлять ими самостоятельно.

Tags: , , , , ,

2 комментария

  • Михаил says:

    Скажите пожалуйста, мне нужно использовать Spamassassin только для анализа письма. Т.е. скормить ему текст и тему письма и посмотреть какую оценку вернет Spamassassin. Как это сделать?

  • AlexSS says:

    Найдите переменную OPTIONS и измените ее следующим образом:

    OPTIONS=”–create-prefs –max-children 2 –username spamd
    -H ${SAHOME} -s ${SAHOME}spamd.log”

    Стесняюсь спросить, а где её найти?

Добавить комментарий