Как добавить SpamAssassin на мой почтовый сервер Fedora / Sendmail / Dovecot?

Вопрос или проблема

В рамках моей системы для дома я использую сервер на Fedora Linux, который является моим файловым сервером, веб-сервером и почтовым сервером. Почти 20 лет входящая почта очищалась службой фильтрации спама, управляемой моим другом в Швейцарии, но теперь он выходит на пенсию, так что мне нужно заниматься этим самому.

Как я понимаю, подходящим инструментом является spamassassin, но где мне найти достаточно простое руководство? Я предполагаю, что не могу просто

    dnf install spamassassin
    systemctl enable spamassassin.service
    systemctl start spamassassin.service

Но что еще мне нужно сделать?

Ответ или решение

Настройка антиспамовой системы на базе SpamAssassin для вашего сервера Fedora с Sendmail и Dovecot—это разумный и эффективный шаг для обеспечения качественной фильтрации нежелательной почты. Включение SpamAssassin поможет вам автоматически идентифицировать и отсеивать спам, улучшая опыт работы с почтой как для вас, так и для ваших пользователей. Давайте подробнее рассмотрим все необходимые шаги для интеграции этого решения в вашу инфраструктуру.

Теория

SpamAssassin — это набор инструментов для фильтрации спама, который применяет разнообразные тесты и евристические правила для анализа заголовков, текста и других частей письма с целью определения вероятности наличия спама. Используя подход «обработки нежелательной почты на основе оценки», SpamAssassin присваивает каждому письму «оценку нежелательной почты». Если эта оценка превышает заданный порог, письмо помечается как спам.

Пример

По вашему сценарию, необходимо настроить взаимодействие SpamAssassin с двумя основными компонентами вашей почтовой системы:

  1. Sendmail — для обработки входящей почты.
  2. Dovecot — для предоставления доступа к почтовым ящикам пользователей.

Применение

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

В первую очередь установите SpamAssassin на ваш сервер. Используйте команду:

dnf install spamassassin

После установки включите и запустите службу SpamAssassin:

systemctl enable spamassassin.service
systemctl start spamassassin.service

Шаг 2: Настройка SpamAssassin

Измените конфигурационные файлы SpamAssassin в соответствии с вашими предпочтениями. Например, настройте пороговые значения, используемые для определения спама, и укажите дополнительные правила, если требуется. Конфигурационные файлы, которые нужно отредактировать, обычно находятся в каталоге /etc/mail/spamassassin/. Наиболее важные файлы для работы:

  • local.cf — для глобальных настроек.
  • v310.pre, v320.pre и так далее — для включения/отключения определённых плагинов.

Некоторые ключевые параметры, которые можно настроить:

  • required_score — пороговое значение, выше которого письмо будет считаться спамом.
  • rewrite_header Subject — определяет, будет ли изменяться тема писем, признанных спамом.

Пример изменения файла local.cf:

required_score 5.0
rewrite_header Subject *****SPAM*****

Шаг 3: Интеграция с Sendmail

Для интеграции SpamAssassin с Sendmail необходимо настроить Milter, что позволит автоматизировать фильтрацию почты сразу после её получения. Обычно используется Milter-MailScanner или другие подобные инструменты для этой задачи. Убедитесь, что Sendmail поддерживает Milter, и добавьте в его конфигурацию следующие строки:

INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass/spamass.sock, F=T, T=C:15m;S:4m;R:4m;E:10m')

Пересоберите конфигурацию Sendmail после внесения изменений:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
systemctl restart sendmail

Шаг 4: Настройка Dovecot

Dovecot сам по себе напрямую не работает со SpamAssassin, поскольку это сервис IMAP/POP3. Однако он может быть настроен так, чтобы пользователи могли легко идентифицировать и управлять письмами, которые были помечены как спам. Вы можете использовать Dovecot Sieve, чтобы автоматизировать сортировку таких писем в специальную папку.

Убедитесь, что Sieve включен в конфигурации Dovecot (dovecot.conf):

protocol lda {
  mail_plugins = $mail_plugins sieve
}
plugin {
  sieve = /etc/dovecot/sieve/default.sieve
}

Создайте Sieve скрипт, который будет перемещать письма, помеченные как спам, в отдельную папку:

require ["fileinto"];
if header :contains "Subject" "*****SPAM*****" {
  fileinto "Spam";
}

Это необходимо для того, чтобы пользователи могли просто перейти в папку «Spam» и просмотреть все сообщения, проверив, не произошло ли ложных срабатываний фильтра.

Заключение

Установка и настройка SpamAssassin на вашем Fedora сервере в сочетании с Sendmail и Dovecot позволяет эффективно фильтровать и управлять нежелательной почтой. Специализированные настройки обеспечивают мощную защиту от спама, минимизируя его попадание в основной почтовый ящик. Пользовательские фильтры и правильная организация почтовой инфраструктуры способствуют созданию более безопасной и продуктивной среды для обработки электронной почты.

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

Капча загружается...