Gmail SPF không thành công dựa trên IP của khách hàng


8

Gmail không kiểm tra SPF dựa trên IP của máy khách. Đây là các tiêu đề có liên quan:

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 khách (164.77.240.58) là IP của máy tính của johndoe. IP người gửi, IP của mail.example.com, được bao gồm trong bản ghi SPF.

Tại sao Gmail không thành công dựa trên IP của máy khách thay vì IP của người gửi? Đây có phải là cách SPF được cho là hoạt động?


Tôi đã mong đợi tham chiếu của họ đến "IP máy khách" chỉ đơn giản là tham chiếu đến máy khách được kết nối với máy chủ SMTP của họ. (Đó sẽ là những gì bạn mong đợi, afaict?)
Håkan Lindqvist

3
Bạn có thể bao gồm Receivedtiêu đề được thêm vào bởi Gmail không, để làm rõ nơi họ thực sự nhận được thư từ đâu?
Håkan Lindqvist

@ HåkanLindqvist Các khác Nhận được tiêu đề chỉ nóiby <google IP>
Max Toro

Chúng tôi gặp vấn đề tương tự với việc nhập thư qua IMAP sang gmail. Vấn đề thứ nhất (ít tương tự): khi chúng tôi gửi email giữa hai hộp thư cục bộ như a@example.com đến b@example.com (nhưng sử dụng cổng SMTP 25) thì Gmail nhập nó và kiểm tra SPF trên máy khách IP không phải máy chủ. serverfault.com/q/669584 Vấn đề hai (tương tự hơn): khi ai đó gửi email cho chúng tôi bằng các tiêu đề ESMTP thì Gmail nhập nó và kiểm tra SPF với miền máy chủ của họ và IP máy chủ của chúng tôi. serverfault.com/q/670113
Zbyszek

Câu trả lời:


4

Đầu tiên, kéo bản ghi spf của example.com:

$ dig -t spf mail.example.com

Xác minh rằng example.com có ​​trong danh sách người gửi. Bản ghi spf của bạn sẽ trông giống như thế này:

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

Lấy bất kỳ tên miền nào được liệt kê và thực hiện tra cứu DNS trên chúng để lấy địa chỉ IP:

$ dig mail.example.com

Sau đó thực hiện tra cứu PTR để lấy tên DNS ngược cho IP:

$ dig -x XX.XX.XX.XX

Tra cứu IP ngược phải khớp với một trong các bản ghi được liệt kê trong bản ghi spf. Sẽ rất hữu ích khi bắt đầu với bản ghi spf để chúng ta có thể thấy những gì đang diễn ra.


3
itym dig example.com TXT. Ngoài ra, tôi không tin rằng việc tra cứu ngược lại tạo ra bất kỳ sự khác biệt nào đối với SPF miễn là bản ghi SPF không sử dụng ptrphương pháp này.
Håkan Lindqvist

2

Có, Google sẽ chính xác trong việc xác định lỗi SPF. Địa chỉ IP cần được kiểm tra là địa chỉ kết nối với máy chủ thư của Google. Vì không có tiêu đề nhận được cho Google, tôi nghi ngờ máy chủ thư của bạn đang kiểm tra SPF trên kết nối. Nó chỉ nên kiểm tra SPF cho các kết nối không được xác thực từ Internet. Các kết nối cục bộ và kết nối được xác thực sẽ bỏ qua xác nhận SPF.

SPF nhằm đảm bảo máy tính gửi được cho phép bởi miền gửi. Thông thường, một tên miền sẽ có 1 hoặc 2 máy chủ thư xử lý tất cả email gửi đến hoặc nhận từ Internet. Các địa chỉ này phải là địa chỉ được liệt kê trong bản ghi SPF cho tên miền.

Trong trường hợp này, johndoedường như đang kết nối với máy chủ thư của tên miền. Nếu máy chủ không nằm trong mạng của tên miền, thông thường sử dụng kết nối được xác thực trên cổng gửi (587). Sau đó, máy chủ thư sẽ chuyển tiếp thư tới gmail và SPF sẽ vượt qua. Nếu SPF vẫn không thành công, bản ghi SPF cần được sửa để bao gồm IP của máy chủ thư. Có một số cơ chế có thể được sử dụng.

Chính sách email của tôi đảm bảo rằng tất cả thư hợp pháp được gửi từ miền của tôi sẽ vượt qua SPF. Có một số dịch vụ chuyển tiếp tin nhắn thay mặt cho người dùng của tôi sẽ bị lỗi SPF. Tuy nhiên, những thất bại được ghi lại mà tôi nhận được từ các máy chủ xác nhận DMARCtất cả đều là những kẻ gửi thư rác.


2
IP máy chủ thư được bao gồm trong bản ghi SPF. Đó là IP người gửi. Nhưng Gmail đang từ chối dựa trên IP của máy khách, đó là máy tính của johndoe.
Max Toro

@MaxToro Theo máy tính của johndoe tiêu đề đã nhận được gửi trực tiếp tới Google. Nó không có hồ sơ PTR, vì vậy không rõ. Nó sẽ hoạt động tốt nếu máy tính của johndoe được xác thực với Google.
BillThor

Không, đó là mail.example.com nhận từ máy tính của johndoe.
Max Toro

@MaxToro Bạn có chắc chắn không phải máy chủ của bạn từ chối bản ghi SPF? Chính sách hoạt động cuối cùng sẽ là của google. Nhật ký thư của bạn sẽ cho biết nếu bạn đang cố gửi tới google.
BillThor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.