RFC 7505: Null MX — Không Có Dịch Vụ Cho Miền
Tại sao điều này tồn tại
Không phải mọi tên miền đều nhận email. Một tên miền được sử dụng thuần túy cho trang web, API, CDN, hoặc đăng ký bảo vệ thương hiệu không cần thư đến. Nhưng trước RFC 7505, không có cách sạch sẽ để khai báo "tên miền này không chấp nhận email" trong DNS.
Nếu không có tín hiệu rõ ràng, các máy chủ gửi gặp thư được gửi đến tên miền không gửi mail sẽ:
- Quay trở lại bản ghi A/AAAA. Theo RFC 5321, nếu không có bản ghi MX, người gửi sẽ cố gắng gửi đến địa chỉ A hoặc AAAA của tên miền. Nỗ lực kết nối này thất bại (không có máy chủ SMTP nào lắng nghe), nhưng chỉ sau khi hết thời gian chờ — thường là 30+ giây.
- Tạo backscatter. Nếu một người spam giả mạo địa chỉ trả lại tại tên miền không gửi mail, thông báo spam bị trả lại (DSN) sẽ được gửi đến địa chỉ giả mạo. Bản ghi A của tên miền chấp nhận kết nối TCP (đó là máy chủ web), nhưng cuộc hội thoại SMTP thất bại. Máy chủ gửi xếp hàng các lần thử lại trong nhiều giờ hoặc nhiều ngày.
- Lãng phí tài nguyên. Mỗi nỗ lực gửi không thành công tiêu thụ truy vấn DNS, kết nối TCP và vị trí hàng đợi trên máy chủ gửi.
RFC 7505 giới thiệu bản ghi Null MX: một mục MX duy nhất với mức ưu tiên 0 và mục tiêu là . (miền gốc). Điều này cho bất kỳ máy chủ gửi nào biết: "Tên miền này không có dịch vụ mail. Đừng thử."
Nó hoạt động như thế nào
Bản ghi Null MX
Bản ghi có hai đặc điểm xác định:
- Mức ưu tiên 0: Mức ưu tiên thấp nhất có thể, đảm bảo bản ghi này được xử lý trước (và, vì đó là MX duy nhất, sau cùng).
-
Mục tiêu
.(dấu chấm): Nhãn gốc DNS. Đây không phải là tên máy chủ hợp lệ và không thể được phân giải thành địa chỉ IP. Đó là tương đương DNS của/dev/null.
Hành vi của người gửi
Khi máy chủ gửi tìm kiếm bản ghi MX cho tên miền người nhận và tìm thấy Null MX:
- Nó nhận ra mục tiêu
.là Null MX. - Nó ngay lập tức tạo lỗi vĩnh viễn (5.1.0 — "Trạng thái địa chỉ khác") mà không cố gắng kết nối SMTP nào.
- Người gửi trả lại một bounce cho người gửi ban đầu (hoặc loại bỏ tin nhắn nếu đó là một bounce chính nó).
Tương phản: Nếu không có Null MX
Nếu không có Null MX, đây là những gì xảy ra khi thư được gửi đến tên miền không có bản ghi MX:
Chi tiết kỹ thuật chính
Quy tắc cho Null MX
- Null MX phải là duy nhất bản ghi MX cho tên miền. Bạn không thể trộn Null MX với bản ghi MX thực.
- Giá trị ưu tiên phải là 0.
- Mục tiêu phải chính xác là
.(một dấu chấm duy nhất, gốc DNS). - Nếu một người gửi gặp Null MX, nó không được quay trở lại bản ghi A/AAAA. Null MX là chắc chắn.
Kết hợp với SPF và DMARC
Đối với các tên miền không gửi hoặc nhận email, Null MX nên là một phần của cấu hình DNS không email hoàn chỉnh:
Sự kết hợp này cung cấp bảo vệ toàn diện: Null MX dừng các nỗ lực gửi đến, SPF -all yêu cầu máy thu từ chối thư gửi bị giả mạo, và DMARC p=reject thực thi chính sách với báo cáo.
Mã phản hồi SMTP
| Trạng thái | Mã | Ý nghĩa |
|---|---|---|
5.1.0 |
550 | Trạng thái địa chỉ khác — tên miền không chấp nhận mail (Null MX) |
5.1.2 |
550 | Địa chỉ hệ thống đích sai — mã thay thế mà một số triển khai sử dụng |
5.1.10 |
550 | Địa chỉ người nhận có null MX (được xác định trong RFC 7505 cụ thể) |
Tác động đến SMTP VRFY và EXPN
Nếu một máy chủ được yêu cầu xác minh hoặc mở rộng một địa chỉ tại tên miền Null MX, nó sẽ trả lại một lỗi vĩnh viễn. Không có địa chỉ người nhận hợp lệ nào tại tên miền không chấp nhận mail.
Những lỗi phổ biến
-
Trộn Null MX với bản ghi MX thực. Null MX phải là bản ghi MX duy nhất. Thêm
MX 0 .cùng vớiMX 10 mail.example.comtạo cấu hình không hợp lệ. Một số bộ giải quyết có thể bỏ qua Null MX; những bộ khác có thể từ chối tất cả thư. - Sử dụng Null MX trên tên miền gửi email. Null MX chỉ ảnh hưởng đến thư đến. Nhưng nhiều dịch vụ sử dụng cùng một tên miền để gửi và nhận. Nếu bạn đặt Null MX trên tên miền gửi của mình, bạn sẽ không nhận được bounces, thông báo trạng thái gửi hay trả lời cho tin nhắn của mình.
-
Quên SPF và DMARC. Null MX ngăn chặn gửi đến, nhưng nó không làm gì để ngăn chặn ai đó giả mạo tên miền dưới dạng người gửi. Luôn ghép Null MX với
v=spf1 -allvàv=DMARC1; p=reject. -
Sử dụng
MX 0 localhostthay vì Null MX. Một số quản trị viên sử dụng tên máy chủ giả mạo thay vì.. Điều này không hoạt động như một Null MX. Người gửi sẽ cố gắng giải quyết "localhost" và có thể kết nối với giao diện loopback của riêng họ, tạo ra các vòng lặp mail. -
Không áp dụng cho các tên miền phụ. Nếu
example.comcó bản ghi MX thích hợp nhưngunused.example.comkhông, hãy đặt Null MX trên tên miền phụ một cách rõ ràng. Các tên miền phụ không kế thừa bản ghi MX từ tên miền cha. - Giả định tất cả người gửi hỗ trợ Null MX. RFC 7505 được hỗ trợ tốt bởi các MTA chính (Postfix, Exim, sendmail, Exchange), nhưng một số hệ thống cũ hơn hoặc thích hợp có thể không nhận ra nó và sẽ quay trở lại tìm kiếm A/AAAA.
Tác động khả năng gửi
- Xử lý bounce nhanh hơn. Khi người gửi gặp Null MX, nó bounce ngay lập tức thay vì xếp hàng để thử lại trong nhiều giờ hoặc ngày. Điều này giảm áp lực hàng đợi trên cơ sở hạ tầng gửi và cung cấp phản hồi nhanh hơn cho người gửi ban đầu.
- Loại bỏ backscatter. Những kẻ spam giả mạo địa chỉ đường dẫn trả lại tại các tên miền Null MX sẽ không kích hoạt các nỗ lực gửi. Điều này bảo vệ tên miền khỏi bị chôn vùi trong các bounces bị misdirected và bảo vệ các máy chủ gửi khỏi lãng phí tài nguyên cho backscatter không thể gửi được.
- Bảo vệ thương hiệu cho các tên miền được đăng ký. Các tổ chức đăng ký nhiều tên miền để bảo vệ thương hiệu có thể đặt Null MX + SPF + DMARC trên mọi tên miền không sử dụng, ngăn chặn chúng khỏi bị khai thác để lừa đảo.
- Giảm tải DNS và mạng. Nếu không có Null MX, máy chủ gửi có thể thực hiện nhiều lần thử kết nối trong nhiều giờ trước khi từ bỏ. Null MX loại bỏ tất cả các nỗ lực đó bằng một truy vấn DNS duy nhất.
- Cơ sở hạ tầng gửi sạch sẽ. Đối với các nhà cung cấp dịch vụ email, Null MX giảm khối lượng mail không thể gửi được trong hàng đợi gửi đi, giải phóng tài nguyên cho gửi hợp pháp và cải thiện thông lượng tổng thể.