Настраиваем почтовый сервер (OpenDKIM, Spamassasin, Clamav) #2

Здесь мы настроим подпись писем DKIM’ом, проверку входящих Spamassasin’ом на спам и Clamav’ом на вредоносы.

Для проверки SPF, DKIM, DMARC рекомендую использовать мыло: check-auth@verifier.port25.com

spamassasin

Ставим:

apt install spamassassin spamass-milter spamc

Настройка самого Assasin’а обычно не требуется. В /etc/postfix/master.cf для сервиса smtp добавим:
-o content_filter=spamassassin

И добавим в конец сервис spamassasin:

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

Итого получилось:

smtp      inet  n       -       n       -       -       smtpd
  -o content_filter=spamassassin
spamassassin unix -     n       n       -       -       pipe
  flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

opendkim

Установка

apt install opendkim opendkim-tools

Сгенерируем ключ и дадим на него права для opendkim:

mkdir /etc/opendkim && opendkim-genkey -D /etc/opendkim -d xz777.ru -s mx && chown opendkim /etc/opendkim/*

Правим конфиг /etc/opendkim.conf:

KeyTable refile:/etc/opendkim/keytable
SigningTable refile:/etc/opendkim/signing
Canonicalization        relaxed/simple
LogWhy yes

Тут мы указали таблицы с ключами и подписями, логгирование, а также Canonicalization. Создадим файлы с таблицами:

/etc/opendkim/keytable:

mx._domainkey.example.com example.com:mx:/etc/opendkim/mx.private

/etc/opendkim/signing:

*@example.com mx._domainkey.example.com
  • добавляем milter postfix’у:
non_smtpd_milters = unix:/run/opendkim/opendkim.sock
smtpd_milters = unix:/run/opendkim/opendkim.sock

Создаем DNS TXT запись для поддомена mx._domainkey со значением из файла /etc/opendkim/mx.txt. Алярм! кавычки и длинные пробелы убрать, а еще публичная часть DKIM’а разделена на 2 части (долго мучался с этим).

АЛЯРМ
эта срань переносит итоговую DNS запись! необходимо учитывать это

clamav

!!! Алярм !!! Служба жрет 1 Гб ОЗУ, рекомендую ставить только на системы с 2 Гб ОЗУ (край — 1.5 Гб)

  • Ставим:

apt install clamav-milter clamav-daemon

  • Ставим корректную группу на milter-socket:

MilterSocketGroup postfix

  • (Дополнительно) Включаем детальное логгирование:

/etc/clamav/clamav-milter.conf:

LogTime true
LogSyslog true
LogVerbose true
  • вынимаем smtp из chroot’а:

Без этого postfix smtp сервис не сможет получить доступ к сокету.

/etc/postfix/master.cf:

smtp      inet  n       -       y       -       -       smtpd

Заменяем на

smtp      inet  n       -       n       -       -       smtpd

В конфиге /etc/postfix/main.cf указываем:

non_smtpd_milters = unix:/run/opendkim/opendkim.sock unix:/var/run/clamav/clamav-milter.ctl
smtpd_milters = unix:/run/opendkim/opendkim.sock unix:/var/run/clamav/clamav-milter.ctl
  • (пере)запускаем службы:

systemctl restart clamav-daemon.service clamav-milter.service

  • Демон надо включить
    systemctl enable clamav-daemon.service

Готово

Отправляем письмо счастья на ящик check-auth@verifier.port25.com или другой, на котором есть проверки, и радуемся.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *