SPF Gmail gagal berdasarkan IP klien

8

Gmail gagal memeriksa SPF berdasarkan IP klien. Ini adalah tajuk yang relevan:

Received-SPF: fail (google.com: domain of [email protected] 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 klien (164.77.240.58) adalah IP komputer johndoe. IP pengirim, IP mail.example.com, termasuk dalam catatan SPF.

Mengapa Gmail gagal berdasarkan IP klien dan bukan IP pengirim? Apakah ini cara SPF seharusnya bekerja?

Max Toro
sumber
Saya akan mengharapkan referensi mereka ke "IP klien" untuk hanya merujuk ke klien yang terhubung ke server SMTP mereka. (Mana yang akan Anda harapkan, afaict?)
Håkan Lindqvist
3
Bisakah Anda memasukkan Receivedtajuk yang ditambahkan oleh Gmail juga, untuk memperjelas dari mana mereka menerima surat?
Håkan Lindqvist
@ HåkanLindqvist Yang lainnya Diterima header hanya mengatakanby <google IP>
Max Toro
Kami memiliki masalah serupa dengan impor surat melalui IMAP ke gmail. Masalah satu (kurang mirip): ketika kami mengirim email antara dua kotak surat lokal seperti [email protected] ke [email protected] (tetapi menggunakan port SMTP 25) maka Gmail mengimpornya dan membuat pemeriksaan SPF pada IP klien bukan server. serverfault.com/q/669584 Masalah dua (lebih mirip): ketika seseorang mengirimi kami email dengan header ESMTP maka Gmail mengimpornya dan melakukan pemeriksaan SPF dengan domain server dan IP server kami. serverfault.com/q/670113
Zbyszek

Jawaban:

4

Pertama, tarik catatan spf dari example.com:

$ dig -t spf mail.example.com

Verifikasi bahwa example.com ada di daftar pengirim. Catatan spf Anda akan terlihat seperti ini:

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

Ambil semua nama domain yang terdaftar dan lakukan pencarian DNS untuk mendapatkan alamat IP:

$ dig mail.example.com

Kemudian lakukan pencarian PTR untuk mendapatkan nama DNS terbalik untuk IP:

$ dig -x XX.XX.XX.XX

Pencarian IP terbalik harus cocok dengan salah satu catatan yang tercantum dalam catatan spf. Akan sangat membantu untuk memulai dengan catatan spf sehingga kita dapat melihat apa yang terjadi.

Pete
sumber
3
itym dig example.com TXT. Juga, saya tidak percaya reverse lookup membuat perbedaan untuk SPF selama catatan SPF tidak menggunakan ptrmetode ini.
Håkan Lindqvist
2

Ya, Google akan benar dalam mengidentifikasi kegagalan SPF. Alamat IP yang harus diperiksa adalah alamat yang terhubung ke server email Google. Karena tidak ada tajuk yang diterima untuk Google, saya menduga server email Anda memeriksa SPF pada koneksi. Seharusnya hanya memeriksa SPF untuk koneksi yang tidak diautentikasi dari Internet. Koneksi lokal dan koneksi terautentikasi harus mem-bypass validasi SPF.

SPF dimaksudkan untuk memastikan komputer pengirim diizinkan oleh domain pengirim. Biasanya suatu domain akan memiliki 1 atau 2 server mail yang menangani semua email yang dikirim atau diterima dari Internet. Alamat ini harus yang tercantum dalam catatan SPF untuk domain.

Dalam hal ini, johndoetampaknya terhubung ke server surat domain. Jika server tidak berada di jaringan domain, biasanya menggunakan koneksi terotentikasi pada port pengiriman (587). Server e-mail kemudian harus meneruskan pesan ke gmail dan SPF harus lulus. Jika SPF masih gagal, catatan SPF perlu diperbaiki untuk memasukkan IP dari server surat. Ada beberapa mekanisme yang bisa digunakan.

Kebijakan Email Saya memastikan bahwa semua email sah yang dikirim dari domain saya akan lulus SPF. Ada beberapa layanan yang meneruskan pesan atas nama pengguna saya yang akan gagal SPF. Namun, kegagalan terekam yang saya terima dari server yang memvalidasi DMARCsemuanya adalah spammer.

BillThor
sumber
2
IP server surat termasuk dalam catatan SPF. Itu IP pengirim. Tapi Gmail menolak berdasarkan IP klien, itu komputer johndoe.
Max Toro
@ MaxToro Menurut header Received, komputer johndoe mengirimkan langsung ke Google. Tidak memiliki catatan PTR, jadi tidak diketahui. Ini akan berfungsi jika komputer johndoe diautentikasi ke Google.
BillThor
Tidak, itu mail.example.com menerima dari komputer johndoe.
Max Toro
@ MaxToro Anda yakin bukan server Anda yang menolak catatan SPF? Kebijakan aktif terakhir adalah milik Google. Log email Anda harus memberi tahu jika Anda mencoba mengirim ke google.
BillThor