RFC 6652: Báo cáo Lỗi Xác thực SPF
Tại Sao Điều Này Tồn Tại
SPF (RFC 7208) xác minh rằng một IP gửi được ủy quyền cho miền người gửi bao mọc. Khi SPF thất bại, nó có thể có nghĩa:
- Một người giả mạo đang giả mạo miền của bạn
- Một bên thứ ba hợp pháp (nền tảng tiếp thị, CRM) bị thiếu trong bản ghi SPF của bạn
- Một máy chủ chuyển tiếp đang chuyển tiếp thư của bạn (phá vỡ căn chỉnh SPF)
- Bản ghi SPF của bạn có lỗi cú pháp hoặc vượt quá giới hạn 10 tra cứu
Không có báo cáo lỗi, bạn không thể nhìn thấy các sự kiện này. Báo cáo tổng hợp DMARC (RFC 7489) cung cấp cho bạn những tóm tắt hàng ngày, nhưng RFC 6652 cung cấp báo cáo pháp y từng tin nhắn cụ thể cho các lỗi SPF. Những báo cáo này sử dụng định dạng ARF (RFC 5965) với loại phản hồi auth-failure được mở rộng bởi RFC 6591.
Cách Hoạt Động
Chủ sở hữu miền xuất bản một bản ghi DNS TXT đặc biệt tại _spf._report.<domain> cho các máy nhận biết nơi gửi báo cáo lỗi SPF.
Bản Ghi DNS
; Yêu cầu gửi báo cáo lỗi SPF đến địa chỉ này
_spf._report.example.com. IN TXT "v=spf-report1; ra=spf-reports; rp=100; rr=all"
Trường Bản Ghi
| Thẻ | Ý Nghĩa | Ví Dụ |
|---|---|---|
v |
Phiên bản (phải là spf-report1) |
v=spf-report1 |
ra |
Địa chỉ báo cáo cục bộ (báo cáo được gửi đến ra@domain) |
ra=spf-reports → spf-reports@example.com
|
rp |
Phần trăm báo cáo (0–100) |
rp=100 (báo cáo tất cả các lỗi) |
rr |
Báo cáo được yêu cầu cho kết quả nào |
rr=all, rr=fail, rr=softfail
|
Ví Dụ Báo Cáo Lỗi (Định Dạng ARF)
From: arf-generator@receiver.example To: spf-reports@example.com Subject: SPF failure report for example.com Content-Type: multipart/report; report-type=feedback-report; boundary="SPF-REPORT-001" --SPF-REPORT-001 Content-Type: text/plain SPF authentication failure report for a message claiming to be from example.com. --SPF-REPORT-001 Content-Type: message/feedback-report Feedback-Type: auth-failure User-Agent: Receiver-MTA/2.0 Version: 1 Auth-Failure: spf Authentication-Results: receiver.example; spf=fail smtp.mailfrom=example.com Original-Mail-From: user@example.com Source-IP: 198.51.100.50 Reported-Domain: example.com Delivery-Result: reject --SPF-REPORT-001 Content-Type: text/rfc822-headers From: user@example.com To: recipient@receiver.example Subject: Important update Message-ID: <msg-001@example.com> --SPF-REPORT-001--
Chi Tiết Kỹ Thuật Chính
Giá Trị Trường Auth-Failure Cho SPF
| Giá Trị | Khi Được Gửi |
|---|---|
spf |
Đánh giá SPF trả về fail, softfail hoặc kết quả không pass khác |
Trường Auth-Failure phân biệt báo cáo SPF với báo cáo lỗi DKIM hoặc DMARC cũng sử dụng loại phản hồi auth-failure (được định nghĩa trong RFC 6591).
Mối Quan Hệ Với Báo Cáo DMARC
DMARC (RFC 7489) có cơ chế báo cáo riêng của nó với hai loại:
- Báo cáo tổng hợp (rua) — tóm tắt XML hàng ngày về kết quả xác thực, được gửi đến địa chỉ trong bản ghi DMARC.
- Báo cáo pháp y (ruf) — báo cáo lỗi từng tin nhắn. Báo cáo pháp y của DMARC bao gồm cả các lỗi căn chỉnh SPF và DKIM.
Báo cáo RFC 6652 riêng với SPF và độc lập với DMARC. Trên thực tế, hầu hết các máy nhận tạo báo cáo tổng hợp DMARC (được hỗ trợ rộng rãi) nhưng rất ít máy nhận tạo báo cáo RFC 6652 hoặc DMARC pháp y do lo ngại về quyền riêng tư. Tuy nhiên, khi được hỗ trợ, báo cáo RFC 6652 cung cấp dữ liệu chi tiết nhất trên mỗi lỗi cho SPF cụ thể.
Cân Nhắc Quyền Riêng Tư
Báo cáo lỗi có thể chứa địa chỉ người nhận và tiêu đề tin nhắn, gây ra lo ngại về quyền riêng tư. Nhiều máy nhận giới hạn những gì họ bao gồm hoặc không tạo những báo cáo này cùng một lúc. Thẻ rp cho phép chủ sở hữu miền yêu cầu một phần trăm nhỏ hơn 100 để giảm khối lượng báo cáo.
Những Lỗi Phổ Biến
- Mong đợi sự thừa nhận rộng rãi. Rất ít máy nhận tạo báo cáo RFC 6652 trong thực tế. Hầu hết khả năng hiển thị lỗi SPF đến từ báo cáo tổng hợp DMARC. Xuất bản bản ghi báo cáo, nhưng không dựa vào nó làm công cụ duy nhất để xem lỗi SPF.
- Không giám sát hộp thư báo cáo. Nếu bạn xuất bản một địa chỉ báo cáo, hãy giám sát nó. Báo cáo chưa đọc không cung cấp giá trị. Phân tích cú pháp chúng tự động hoặc sử dụng dịch vụ báo cáo DMARC/SPF.
- Nhầm lẫn với báo cáo ruf DMARC. Báo cáo pháp y DMARC (ruf) và báo cáo RFC 6652 là các cơ chế riêng biệt. Cả hai sử dụng định dạng ARF, nhưng chúng được kích hoạt bởi các bản ghi khác nhau và có thể được tạo bởi các máy nhận khác nhau.
- Đặt rp=100 trên các miền có khối lượng lớn. Đối với các miền gửi hàng triệu tin nhắn, yêu cầu báo cáo lỗi 100% có thể tạo ra khối lượng lớn. Bắt đầu với một phần trăm thấp và tăng lên khi cần.
-
Quên tiền tố _spf._report. Bản ghi DNS phải ở
_spf._report.yourdomain.com, không phải trong chính bản ghi SPF. Đây là một bản ghi TXT riêng biệt từ chính sách SPF của bạn.
Tác Động Khả Năng Gửi
- Xác định những người gửi trái phép. Báo cáo lỗi tiết lộ những IP nào đang gửi thư với miền của bạn trong người gửi bao mọc nhưng thất bại SPF. Đây có thể là giả mạo hoặc một dịch vụ hợp pháp bị quên.
-
Hỗ trợ tinh chỉnh bản ghi SPF. Trước khi siết chính sách SPF của bạn từ
~allđến-all, báo cáo lỗi giúp bạn xác định bất kỳ người gửi hợp pháp nào bạn chưa ủy quyền. - Bổ sung báo cáo DMARC. Mặc dù báo cáo tổng hợp DMARC cho bạn biết tỷ lệ pass/fail, báo cáo pháp y RFC 6652 cung cấp cho bạn các tiêu đề cụ thể và IP nguồn cho từng lỗi riêng lẻ — rất quan trọng để điều tra các chiến dịch giả mạo mới.
- Cảnh báo sớm cho các lỗi chuyển tiếp. Khi danh sách thư hoặc dịch vụ chuyển tiếp chuyển tiếp tin nhắn của bạn, SPF sẽ thất bại vì IP của máy chủ chuyển tiếp không có trong bản ghi SPF của bạn. Báo cáo lỗi giúp bạn xác định những trường hợp này để bạn có thể điều chỉnh chiến lược xác thực của mình (ví dụ: dựa vào DKIM cho thư được chuyển tiếp).