Если у вас на сервере стоит Postfix + SpamAssassin + ClamAV («полный комплект»), вы уже на хорошем пути. Но иногда SpamAssassin ошибается: важные письма от Nextcloud, Mangotalker или рассылок попадают под метку ***SPAM***, а настоящий спам проходит. Чтобы этого избежать — используйте чёрные и белые списки.
Чёрный список — это список отправителей, доменов или IP-адресов, от которых письма нельзя принимать.
/etc/postfix/sender_blacklistspammer@evil.com REJECT @spam-domain.net REJECT
sudo postmap /etc/postfix/sender_blacklist
/etc/postfix/main.cf:
smtpd_recipient_restrictions =
...все остальные правила...,
check_sender_access hash:/etc/postfix/sender_blacklist
/etc/postfix/client_blacklist192.168.99.100 REJECT 203.0.113.0/24 REJECT
sudo postmap /etc/postfix/client_blacklist
main.cf:smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_blacklist
Белый список — это список «доверенных» отправителей, чьи письма никогда не должны помечаться как спам.
Это самый правильный способ — потому что SpamAssassin уже ставит метку ***SPAM***. Чтобы он игнорировал
/etc/spamassassin/local.cf# Белый список по отправителю whitelist_from newsletter@mangotalker.com whitelist_from *@nextcloud.example.com # Или целые домены whitelist_from *@trusted-domain.org
sudo systemctl reload spamassassin
Теперь письма от этих адресов не будут получать баллы за спам и не получат метку ***SPAM***.
Если вы хотите, чтобы письма от доверенных отправителей вообще не проходили через SpamAssassin, можно исключить их на уровне Postfix.
/etc/postfix/sender_whitelistgood@nextcloud.com OK @mangotalker.com OK
sudo postmap /etc/postfix/sender_whitelist
main.cf добавьте выше правила с content_filter:
smtpd_recipient_restrictions =
check_sender_access hash:/etc/postfix/sender_whitelist,
...остальные правила...,
check_policy_service unix:private/policy-spf,
...
И убедитесь, что правило content_filter=... (например, amavis или spamass-milter) применяется только если не сработало OK. В этом случае письмо с OK пропускается без фильтрации.
zen.spamhaus.org) — включают в smtpd_recipient_restrictions для автоматической блокировки известных спам-сетей.whitelist_from./var/log/mail.log и заголовки писем, чтобы понять, почему письмо попало в спам.# Проверить, как Postfix обработает адрес postmap -q "spammer@example.com" hash:/etc/postfix/sender_blacklist # Перезагрузить Postfix после изменений sudo systemctl reload postfix # Перезагрузить SpamAssassin sudo systemctl reload spamassassin # Посмотреть заголовки письма (X-Spam-Status, X-Spam-Level) # — они покажут, за что письмо получило баллы
Не пытайтесь «забанить весь спам» — это невозможно. Но с помощью чёрного списка в Postfix и белого списка в SpamAssassin вы сможете:
Начните с белого списка в /etc/spamassassin/local.cf — это решит 90% проблем с «неправильным спамом».
Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!