Назад | Перейти на главную страницу

Настройка spamassassin на Fedora 21 с Postfix

Мне не удалось найти никакой помощи по установке spamassassin в современной системе Fedora. Все советы старые и неприменимы, насколько я понял. Официальная документация НЕ относится к Fedora - она ​​слишком общая и в ней отсутствуют важные детали реализации Fedora.

И не совсем понятно, как это делается, чтобы я знал, что делать! Самым важным недостающим звеном является то, что я говорю Postfix как позвонить spamassassin. Однако также совершенно неясно, где должны быть определены параметры конфигурации.

Далее следует еще много чего, но МОЖЕТ БЫТЬ все сводится к тому, что никто не удосуживается предоставить соответствующую информацию о том, что Postfix smtpd_milter запись должна быть. И запись, которую я пробовал, основана на данных, найденных в '/ usr / share / doc / spamass-milter-postfix', в этом файле указано, что правильное значение - unix: / run / spamass-milter / postfix / sock, НО в то время как каталог существует, запись сокета отсутствует, и возвращается приведенное ниже сообщение об ошибке.

... Хорошо, длинная история:

Я установил эти версии:

spamass-milter-0.4.0-1.fc21.x86_64
spamass-milter-postfix-0.4.0-1.fc21.noarch
spamassassin-3.4.0-13.fc21.x86_64

И снова это Fedora 21. Установленный Postfix:

postfix-2.11.3-1.fc21.x86_64

Когда я запускаю "man spamassassin", это указывает мне на /var/lib/spammassassin/3.004000, который содержит 'updates_spamassassin_org.cf и подкаталог с тем же именем (без .cf), который, в свою очередь, содержит большую коллекцию (65) файлов .cf. Страница руководства также указывает мне на /usr/share/spamassassin который, в свою очередь, содержит большую коллекцию (63) файлов .cf с одинаковыми именами, которые не совсем идентичны.

Я очень надеюсь, что мне не нужно знать все обо всем этом, чтобы spamassassin работал! К счастью - но недостаточно - страница руководства ТАКЖЕ указывает мне на /etc/mail/spamassassin который содержит, среди прочего, файл с именем local.cf. Там я нашел ссылку на страницу о том, как установить и интегрировать spamassassin с postfix - здесь (), но этого совета было недостаточно, и он оказался не таким уж понятным. Например, первое, что он предлагает, - это создать группу и учетную запись пользователя под названием "spamfilter"когда, конечно, акции yum установить уже созданный аккаунт sa-milt, чья запись кажется правильной:

sa-milt:x:982:477:SpamAssassin Milter:/var/lib/spamass-milter:/sbin/nologin 

Я полагаю, что в файле main.cf Postfix должна быть запись для создания или добавления записи с именем smtpd_milters чтобы включить любую ссылку, необходимую для сообщения Postfix, как вызывать spamassassin. В НАСТОЯЩЕЕ ВРЕМЯ у меня есть запись на openDKIM:

# This is for openDKIM - missing are clamav and spamassassin:
smtpd_milters = inet:localhost:8891

Итак, мне кажется, что создание этих учетных записей является ошибкой. Также, если эти учетные записи НУЖНЫ, почему сценарии установки еще не создали пользователя и группу? Кроме того, здесь также говорится об использовании "service"чтобы запустить spamassassin, НО, как знает любой компетентный системный администратор Fedora 21, вы не используете" сервис ", вы используете systemctl!

... Игнорируя это ...

Сервис ДЕЙСТВИТЕЛЬНО запускается и остается в рабочем состоянии, используя:

systemctl start spamassassin

НО, это не работает.

В частности, мне кажется очевидным, что в postfix нужно иметь хук, но также очевидно, что стратегия, не связанная с Fedora 21, не работает. Нам поручено обновить запись Postfix в main.cf smtpd_milters - вот что они предлагают:

# First entry is for openDKIM 
smtpd_milters = inet:localhost:8891, unix:/run/spamass-milter/postfix/sock

Однако проблема в том, что это не работает. Мы получаем это в файле журнала:

postfix/smtpd[18151]: warning: connect to Milter service unix:/run/spamass-milter/postfix/sock: No such file or directory

Тем не менее, я не могу найти ПРАВИЛЬНУЮ запись для smtpd_milters для этой комбинации версий!

Ясно, что где-то должны быть инструкции по установке, но НИЧТО из того, что я нашел, не относится к этим версиям. Пожалуйста, либо скажите мне, как это должно быть сделано, либо укажите, где я могу найти компетентное описание, которое ДЕЙСТВИТЕЛЬНО применимо! В частности, что подходит smtpd_milters запись ИЛИ, как мне создать комбинацию конфигурации (конфигурация smtpd_milters / spamassassin), которая работает?

Оказывается, после долгого скрежета зубов я заметил, что есть установленный мною пакет, на который НИКОГДА не ссылался, насколько я когда-либо видел. Это называется spamass-milter-root.

Итак, проверив ВСЕ, что я мог придумать, я подумал, а почему бы и нет? ... ("#" - это приглашение командной строки системной учетной записи root.)

# systemctl enable spamass-milter-root.service
Created symlink from /etc/systemd/system/multi-user.target.wants/spamass-milter-root.service to /usr/lib/systemd/system/spamass-milter-root.service.
# systemctl status spamass-milter-root.service  -;
● spamass-milter-root.service - Mail filter for SpamAssassin
   Loaded: loaded (/usr/lib/systemd/system/spamass-milter-root.service; disabled)
   Active: active (running) since Fri 2015-04-17 15:53:41 PDT; 1min 3s ago
  Process: 2353 ExecStartPre=/bin/chown -R root /run/spamass-milter (code=exited, status=0/SUCCESS)
 Main PID: 2356 (spamass-milter)
   CGroup: /system.slice/spamass-milter-root.service
           ├─2356 /usr/sbin/spamass-milter -g postfix -p /run/spamass-milter/...
           └─2370 /usr/bin/spamc

Apr 17 15:53:41 ms1 spamass-milter[2356]: spamass-milter 0.4.0 starting
Apr 17 15:54:00 ms1 spamass-milter[2356]: Could not retrieve sendmail mac...s

И, поскольку у меня был tail -f /var/log/maillog в окне, я был шокирован, когда ВНЕЗАПНО (!!) все это начало работать с сотнями писем, обрабатываемых spamd на моих глазах! УРА!

Теперь есть другие проблемы, например, какой эффект имеет анализ этих сообщений ...

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

# systemctl enable spamass-milter-root.service
# systemctl start spamass-milter-root.service

Готово.

Вам также необходимо запустить службу рассылки спама.

systemctl start spamass-milter

И подтвердил, что он работает

systemctl status spamass-milter

и

netstat -an | grep spamass-milter

По умолчанию spamassassin поставляется только с spamd и spamc двоичный. У демона, включенного в пакет. Вот почему вам нужно использовать интегратор, например bash скрипт, Amavisd или spamass-milter (как в этом случае)

Я бы не стал использовать spamassassin через milter. Я считаю, что amavisd - гораздо лучший вариант (например: он дает антивирусную защиту с помощью clamav).

Вот вы можете найти некоторые шаги интеграции для RedHat / CentOS; для Fedora они должны быть относительно похожи.