Сбой SPF Gmail в зависимости от IP-адреса клиента

8

Gmail не проходит проверку SPF на основе IP-адреса клиента. Это соответствующие заголовки:

Received-SPF: fail (google.com: domain of johndoe@example.com does not designate 164.77.240.58 as permitted sender) client-ip=164.77.240.58;
Received: from johndoe (unknown [164.77.240.58])
    by mail.example.com (Postfix) with ESMTP id 993643FE2D

IP-адрес клиента (164.77.240.58) - это IP-адрес компьютера johndoe. IP-адрес отправителя, IP mail.example.com, включен в запись SPF.

Почему происходит сбой Gmail на основе IP-адреса клиента, а не IP-адреса отправителя? Так должен работать SPF?

Макс Торо
источник
Я ожидал бы, что их ссылка на «IP-адрес клиента» будет просто ссылаться на клиента, подключенного к их SMTP-серверу. (Что будет, что вы ожидали, афикта?)
Хокан Линдквист
3
Можете ли вы также добавить Receivedзаголовок, добавленный Gmail, чтобы уточнить, откуда они получили письмо?
Хокан Линдквист
@ HåkanLindqvist Другие полученные заголовки только говорятby <google IP>
Макс Торо
У нас аналогичные проблемы с импортом почты через IMAP в gmail. Проблема первая (менее похожая): когда мы отправляем электронную почту между двумя локальными почтовыми ящиками, такими как a@example.com, на b@example.com (но используя SMTP-порт 25), Gmail импортирует ее и делает проверку SPF на IP-адресе клиента, а не на сервере. serverfault.com/q/669584 Проблема вторая (более похожая): когда кто-то отправляет нам электронное письмо с заголовками ESMTP, Gmail импортирует его и проверяет SPF со своим доменом сервера и IP-адресом нашего сервера. serverfault.com/q/670113
Zbyszek

Ответы:

4

Сначала извлеките spf-запись example.com:

$ dig -t spf mail.example.com

Убедитесь, что example.com находится в списке отправителей. Ваша spf-запись должна выглядеть примерно так:

"v=spf1 a:mail.example.com a:cname.example.com -all"

Возьмите любые доменные имена из списка и выполните поиск DNS для получения IP-адресов:

$ dig mail.example.com

Затем выполните поиск PTR, чтобы получить обратное DNS-имя для IP:

$ dig -x XX.XX.XX.XX

Обратный IP-поиск должен соответствовать одной из записей, перечисленных в записи spf. Было бы полезно начать с записи spf, чтобы мы могли видеть, что происходит.

Пит
источник
3
itym dig example.com TXT. Кроме того, я не верю, что обратный поиск имеет какое-либо значение для SPF, если запись SPF не использует этот ptrметод.
Хокан Линдквист
2

Да, Google будет прав в определении сбоя SPF. IP-адрес, который должен быть проверен, является адресом, который соединяется с почтовым сервером Google. Поскольку для Google нет полученного заголовка, я подозреваю, что ваш почтовый сервер проверяет SPF на соединение. Следует только проверять SPF на наличие неподтвержденных соединений из Интернета. Локальные соединения и аутентифицированные соединения должны обходить проверку SPF.

SPF предназначен для обеспечения того, чтобы отправляющий компьютер был разрешен отправляющим доменом. Обычно домен имеет 1 или 2 почтовых сервера, которые обрабатывают всю электронную почту, отправляемую или полученную из Интернета. Эти адреса должны быть теми, которые перечислены в записи SPF для домена.

В этом случае, johndoeкажется, подключается к почтовому серверу домена. Если сервер не находится в сети домена, обычно используется аутентифицированное соединение через порт отправки (587). Почтовый сервер должен затем переслать сообщение в gmail, а SPF должен пройти. Если SPF по-прежнему не работает, запись SPF должна быть исправлена, чтобы включить IP-адрес почтового сервера. Есть несколько механизмов, которые можно использовать.

Моя политика электронной почты гарантирует, что вся законная почта, отправленная с моего домена, будет проходить SPF. Есть несколько служб, которые пересылают сообщения от имени моих пользователей, которые не работают с SPF. Однако зарегистрированные сбои, которые я получил от проверяющих серверов DMARC, являются спамерами.

BillThor
источник
2
IP почтового сервера включен в запись SPF. Это IP отправителя. Но Gmail отвергает, основываясь на IP-адресе клиента, это компьютер Джондо.
Макс Торо
@MaxToro Согласно заголовку «Получено», компьютер Джондо отправляет напрямую в Google. У него нет записи PTR, поэтому неизвестно. Было бы неплохо работать, если бы компьютер Джондоя проходил аутентификацию в Google.
BillThor
Нет, это mail.example.com, получаемый с компьютера Джондо.
Макс Торо
@MaxToro Вы уверены, что не ваш сервер отклоняет запись SPF? Последняя активная политика будет Google. Ваш почтовый журнал должен указывать, если вы пытаетесь отправить в Google.
BillThor