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

Кеширует ли postfix запросы RBL?

Это сводит меня с ума ... Linux Debian + postfix ... /etc/postfix/main.cf содержит следующие строки:

smtpd_recipient_restrictions =
    check_recipient_access hash:/etc/postfix/access,
    reject_invalid_hostname,
    reject_non_fqdn_recipient,
    reject_non_fqdn_sender,
    reject_unauth_destination,
    reject_unauth_pipelining,
    reject_unknown_recipient_domain,
    reject_rbl_client cbl.abuseat.org,
    reject_rbl_client sbl-xbl.spamhaus.org,
    check_policy_service unix:private/policyd-spf,
    check_policy_service inet:127.0.0.1:10023,
    permit_auth_destination,
    reject

В наши дни postfix отклоняет входящие сообщения с одного IP:

 info@domain.ext
   SMTP error from remote mail server after RCPT TO:<info@domain.ext>:
   host mail.server.ext [123.123.123.123]: 554 5.7.1 Service unavailable; Client host [234.234.234.234] blocked using cbl.abuseat.org; Blocked - see http://cbl.abuseat.org/lookup.cgi?ip=234.234.234.234

Хорошо… http://cbl.abuseat.org/lookup.cgi?ip=234.234.234.234 сообщает об отсутствии в черном списке 234.234.234.234 (очевидно, IP 234.234.234.234 не настоящий).

Десятки электронных писем были заблокированы по той же причине, но каждый раз, когда я вручную запрашиваю RBL, IP-адрес считается чистым.

Кэширует ли postfix запросы к RBL? Что мне не хватает?

Спасибо заранее за ваше время.

С точки зрения верхнего слоя, Postfix полагается на преобразователь libc для поиска DNS (включая RBL), поэтому поведение будет зависеть от библиотеки. Например, postfix всегда будет искать через NS-сервер, определенный в /etc/resolv.conf.

Если у NS-сервера есть механизм кеширования, то postfix тоже получит результат кеширования. Это также происходит, если у вашего провайдера есть "Перехват DNS"(перенаправленный пакет DNS на их сервер NS). В этом случае вы также попадете в их кеш (если они включат это).

Чтобы проверить, какой результат поиска DNS, вы можете использовать dig команда. Например, проверьте, был ли IP-адрес 216.154.195.36 указан в cbl.abuseat.org.

$  dig  36.195.154.216.cbl.abuseat.org

; <<>> DiG 9.10.1-P1 <<>> 36.195.154.216.cbl.abuseat.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 48609
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

Если возвращается NXDOMAIN, IP-адрес не указан.


С точки зрения нижнего слоя, каждый smtpd обработать кэшировал собственные результаты поиска DNSBL. Эти результаты не передаются другим процессам Postfix. Каждый smtpd процесс будет повторно использоваться до тех пор, пока max_use или max_idle достиг. когда smtpd процесс умирает, кеш RBL тоже будет потерян. Когда новый smtpd процесс был создан master демон он подберет новую конфигурацию на main.cf (включая max_idle и max_use. Таким образом, на самом деле нет необходимости перезапускать postfix.