@Dorothy

Как решить проблему таймаута в проверке spamassassin?

Здравствуйте.

У меня почтовый сервер на CentOS 7 из Exim + Dovecot + Spamassassin v3.4.0, панель управления VestaCP.
Всё работает хорошо, кроме долгой 10-11 секундной проверки письма спамассасином.

По дебаг логу spamassasin'а видно, что проблема на DNS запросе, на первой строчке, который завершается по таймауту через 10 секунд (3-я строчка) и тем самым вызывая долгую проверку и провал теста DKIM:

Sun Jul 14 14:47:12 2019 [94687] dbg: dkim: performing public key lookup and signature verification
Sun Jul 14 14:47:22 2019 [94687] dbg: dkim: DKIM, i=@yandex.ru, d=yandex.ru, s=mail, a=rsa-sha256, c=relaxed/relaxed, invalid, matches author domain
Sun Jul 14 14:47:22 2019 [94687] dbg: dkim: signature verification result: INVALID (PUBLIC KEY: DNS QUERY TIMEOUT FOR MAIL._DOMAINKEY.YANDEX.RU)
Sun Jul 14 14:47:22 2019 [94687] dbg: dkim: adsp: performing lookup on _adsp._domainkey.yandex.ru
Sun Jul 14 14:47:22 2019 [94687] dbg: dkim: adsp result: U/unknown (dns: unknown), author domain 'yandex.ru'
Sun Jul 14 14:47:22 2019 [94687] dbg: spf: checking to see if the message has a Received-SPF header that we can use
Sun Jul 14 14:47:22 2019 [94687] dbg: spf: checking HELO (helo=forward400j.mail.yandex.net, ip=5.45.198.245)
Sun Jul 14 14:47:22 2019 [94687] dbg: dns: bgsend,  DNS servers: [8.8.8.8]:53, [8.8.4.4]:53
Sun Jul 14 14:47:22 2019 [94687] dbg: dns: attempt 1/2, trying connect/sendto to [8.8.8.8]:53
Sun Jul 14 14:47:22 2019 [94687] dbg: dns: providing a callback for id: 49973/IN/SPF/forward400j.mail.yandex.net
Sun Jul 14 14:47:22 2019 [94687] dbg: dns: dns reply 690 is OK, 4 answer records
Sun Jul 14 14:47:22 2019 [94687] dbg: async: calling callback on key dns:A:yandex.ru
Sun Jul 14 14:47:22 2019 [94687] dbg: dns: hit <dns:yandex.ru> 5.255.255.5
Sun Jul 14 14:47:22 2019 [94687] dbg: dns: hit <dns:yandex.ru> 77.88.55.50
Sun Jul 14 14:47:22 2019 [94687] dbg: dns: hit <dns:yandex.ru> 77.88.55.88
Sun Jul 14 14:47:22 2019 [94687] dbg: dns: hit <dns:yandex.ru> 5.255.255.88


Если делать искусственную проверку на том же самом письме, то все отрабатывается быстро и проверка DKIM проходит успешно:
# spamassassin -t -D dkim < /home/admin/mail/domain/user/cur/messageId
Jul 14 20:46:49.922 [24398] dbg: dkim: using Mail::DKIM version 0.39
Jul 14 20:46:49.923 [24398] dbg: dkim: performing public key lookup and signature verification
Jul 14 20:46:49.962 [24398] dbg: dkim: DKIM, i=@yandex.ru, d=yandex.ru, s=mail, a=rsa-sha256, c=relaxed/relaxed, pass, matches author domain
Jul 14 20:46:49.962 [24398] dbg: dkim: signature verification result: PASS


Как победить эту проблему?
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
Убедись, что у тебя
1. не фильтруется DNS трафик по TCP (порт 53/tcp) на внешние DNS-серверы (
host -T -tA yandex.ru ns1.yandex.ru
и
host -T -tTXT MAIL._DOMAINKEY.YANDEX.RU ns1.yandex.ru

для полноты картины)
2. нет проблем с MTU и проходят большие пакеты с внешними DNS-серверами (
ping -s4096 ns1.yandex.ru
)
3. Не испольузется публичный резолвер типа 8.8.8.8. Для любых "боевых" серверов лучше поднимать собственный резолвер, обычно локальный, на публичных могут быть рейтлимиты.
4. Что у тебя нет открытого резолвера который может быть использован для усиления трафика, возможно через тебя идет DDoS и поэтому часть TXT-запросов блокируется
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы