Защита от спама Postfix

Подключаем антиспам листинги для защиты от спама. Открываем конфигурационный файл Postfix:

nano /etc/postfix/main.cf

Найдите параметр:

smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    check_recipient_access lmdb:/etc/postfix/recipient_access

И приведите его к следующему виду:

# Recipient restrictions (mail delivered to your local domains)
smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    check_recipient_access lmdb:/etc/postfix/recipient_access,

    # Spamhaus ZEN (SBL + CSS + XBL + PBL)
    # Берём только “реальные” коды 127.0.0.2..127.0.0.11 (чтобы не реагировать на служебные/ошибочные ответы)
    reject_rbl_client zen.spamhaus.org=127.0.0.[2..11],

    # Spamhaus DBL — домены (envelope sender domain)
    # 127.0.1.2  spam domain
    # 127.0.1.4  phish
    # 127.0.1.5  malware
    # 127.0.1.6  botnet C&C
    reject_rhsbl_sender dbl.spamhaus.org=127.0.1.2,
    reject_rhsbl_sender dbl.spamhaus.org=127.0.1.4,
    reject_rhsbl_sender dbl.spamhaus.org=127.0.1.5,
    reject_rhsbl_sender dbl.spamhaus.org=127.0.1.6,

    # DBL abused-legit (компрометированные легитимные домены) — это “жёстко”
    reject_rhsbl_sender dbl.spamhaus.org=127.0.1.102,
    reject_rhsbl_sender dbl.spamhaus.org=127.0.1.103,
    reject_rhsbl_sender dbl.spamhaus.org=127.0.1.104,
    reject_rhsbl_sender dbl.spamhaus.org=127.0.1.105,
    reject_rhsbl_sender dbl.spamhaus.org=127.0.1.106

Далее необходима внести правки в режим работы DNS сервера. Да работы RBL/RHSBL в Postfix необходим лёгкий локальный резолвер-кэш, чтобы DNS-запросы были быстрыми и стабильными. В Arch Linux у меня по умолчанию установлен systemd-resolved. И он у меня уже настроен на этапе настройки ОС после установки.

Проверяем что служба запущена:

systemctl status systemd-resolved --no-pager

Если отключена включаем:

systemctl enable --now systemd-resolved

Включаем stub режим:

ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

Применяем настройки Postfix:

postfix reload