Установка и настойка spamassassion для фильтрации слов и выражений

Материал из Wiki МИАЦ ВО
Версия от 08:21, 7 февраля 2020; Misha (обсуждение | вклад) (Шаг 2: Добавление пользователя системы SpamAssassin)
Перейти к навигации Перейти к поиску

Статья взята тут
Apache SpamAssassin - интеллектуальное программное приложение для фильтрации нежелательных писем от телемаркетеров и хакеров. Утилита работает поверх агента передачи почты (MTA), такого как Postfix, для классификации и блокировки нежелательных писем.
SpamAssassin является бесплатным и открытым исходным кодом и использует язык Perl для сканирования и идентификации заголовков сообщений, строк темы и текста, чтобы защитить сервер от спама.
В этом руководстве мы покажем вам, как установить SpamAssassin на ваш почтовый сервер, расположенный на сервере Ubuntu 18.04 ...
Считаем, что сервер Postfix уже установлен и настроен.

Шаг 1: Установка SpamAssassin

Мы собираемся установить SpamAssassin с помощью команды apt-get. Перед этим давайте сначала обновим информацию о списке пакетов:

$ sudo apt update

Затем выполните команду ниже, чтобы установить SpamAssassin:

$ sudo apt install spamassassin spamc

Нажмите Y и нажмите Enter, когда будет предложено подтвердить установку.

Шаг 2: Добавление пользователя системы SpamAssassin

Для работы SpamAssassin требуется системный пользователь. Итак, мы собираемся добавить нового пользователя в систему, используя команду ниже:

$ sudo adduser spamd --disabled-login

Вам будет предложено ввести более подробную информацию о пользователе, просто нажмите клавишу Enter, чтобы пропустить детали. В конце приглашения вас попросят подтвердить, верны ли данные. Введите Y и нажмите Enter, чтобы продолжить

Шаг 3: Редактирование файла конфигурации SpamAssassin

После установки SpamAssassin, правим файл конфигурации, расположенный в /etc/default/spamassassin Мы собираемся отредактировать этот файл, используя нано-редактор, чтобы изменить несколько параметров.

$ sudo nano /etc/default/spamassassin

Сначала измените значение директивы ENABLED с 0 на 1:
Было:

ENABLED = 0

Стало:

ENABLED = 1

Далее вам нужно создать переменную с именем SAHOME со значением ниже:
Добавляем строку

SAHOME="/var/log/spamassassin/"

Найдите директиву OPTIONS и измените ее значение, как показано ниже:
Было:

OPTIONS="--create-prefs --max-children 5 --helper-home-dir"

Стало:

OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir /home/spamd/ -s /home/spamd/spamd.log"

Кроме того, чтобы SpamAssassin мог выбирать обновления, мы собираемся установить значение CRON в 1, чтобы утилита могла автоматически загружать новые правила.
Было:

CRON=0

Стало:

CRON=1

Нажмите CTRL + X, Y и Enter, чтобы сохранить файл

Шаг 4: Добавление SpamAssassin Правил для Спама

Далее мы добавляем некоторые правила для спама. Файл, который мы собираемся редактировать, находится по адресу /etc/spamassassin/local.cf. Итак, введите команду ниже, чтобы открыть файл с помощью редактора nano:

sudo nano /etc/spamassassin/local.cf

Раскомментируйте строки, показанные ниже, и измените значения, как указано

    rewrite_header Subject [***** SPAM _SCORE_ *****]
    required_score          5.0
    use_bayes               1
    bayes_auto_learn        1
    normalize_charset       1

И добавьте строку в начало файла

ok_locales ru en

Нажмите CTRL + X, Y и Enter, чтобы сохранить файл

Шаг5: Редактирование Postfix

Далее нам нужно настроить Postfix так, чтобы он мог направлять почту через SpamAssassin. Редактируем основной файл конфигурации Postfix:

$ sudo nano /etc/postfix/master.cf

Ищем строку:

smtp inet n - - - - smtpd

Меняем на:

smtp inet n - - - - smtpd
  -o content_filter=spamassassin

Пробел или табуляция перед -o - обязательны

Также вам нужно добавить строку ниже для настройки фильтра содержимого очереди:

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

Вторая и третья строки имеют обязательный отступ

Нажмите CTRL + X, Y и Enter, чтобы сохранить файл

Шаг6: Перезапустите Postfix и SpamAssassin

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

sudo service postfix restart
sudo service spamassassin restart

Шаг7: Тестирование SpamAssassin

Вы можете проверить, работает ли SpamAssassin, отправив электронное письмо на ваш сервер и изучив заголовки из почтового клиента.
В исходном коде письма в заголовках будет что то вроде этого

X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on ns1.volmed.org.ru
X-Spam-Level: **
X-Spam-Status: No, score=2.0 required=5.0 tests=ADDRESS_FSB,HTML_MESSAGE,
	KHOP_HELO_FCRDNS,MIME_HTML_ONLY,SPF_HELO_NONE,TVD_SPACE_RATIO_MINFP,
	T_KAM_HTML_FONT_INVALID,URIBL_BLOCKED autolearn=no autolearn_force=no
	version=3.4.2