Postfix từ chối_unknown_Vverse_client_hostname: thay thế default_client_Vject_code (450) mặc định thành 550. Tại sao / Khi nào tôi không nên?


9

Trong cuộc chiến hàng ngày chống lại SPAM, đã có nhiều lần tôi bị cám dỗ thực thi mạnh mẽ các yêu cầu DNS từ các máy khách kết nối từ Internet hoang dã.

Cụ thể, tôi sẽ có thêm các reject_unknown_reverse_client_hostname thiết lập trong phạm vi của tôi smtpd_client_restrictions phần, như trong:

smtpd_client_restrictions = 
            permit_sasl_authenticated
            check_client_access hash:/etc/postfix/access 
            check_policy_service inet:127.0.0.1:4466
            reject_unknown_reverse_client_hostname
            reject_unauth_pipelining 

Dù sao, tôi đã lưu ý rằng khi nhấn vào hạn chế đó, hành vi Postfix khá "mềm" vì giá trị mặc định cho unknown_client_reject_codelà 450. Do đó, khách hàng được mời tiếp tục thử lại.

Trong khi điều tra phản hồi 550, tôi đã gặp tuyên bố sau, trên tài liệu chính thức của Postfix :

nhập mô tả hình ảnh ở đây

Tôi hoàn toàn không phải là chuyên gia về toàn bộ RFC 5321 , nhưng là một người đủ tuổi để biết RFC 821 , tôi thực sự không hiểu tại sao, một phản hồi 550 thay vì 450, có thể ảnh hưởng đến cá thể Postfix của tôi ở mức SMTP tối đa ( phá vỡ sự tuân thủ RFC), đặc biệt xem xét rằng trong trường hợp có lỗi tạm thời, Postfix sẽ gắn với 450 bất kể cài đặt rõ ràng.

Vì vậy, ai đó có thể giúp tôi hiểu vấn đề với sự thay thế như vậy không?


PS: trong lúc này, tôi đã kết thúc với một hạn chế "thoải mái":

smtpd_client_restrictions = 
            permit_sasl_authenticated
            check_client_access hash:/etc/postfix/access 
            check_policy_service inet:127.0.0.1:4466
            warn_if_reject reject_unknown_reverse_client_hostname
            reject_non_fqdn_helo_hostname
            reject_unauth_pipelining 
            reject_invalid_helo_hostname 

Câu trả lời:


12

Tôi sẽ bắt đầu với hai câu trả lời thiết thực

  1. Câu trả lời đầu tiên và rõ ràng nhất là trong trường hợp có lỗi DNS tạm thời, việc thoát tạm thời sẽ cho phép máy chủ mail của người gửi thử lại cho đến khi lỗi DNS được khắc phục. Trong trường hợp này, thư bị trả lại vĩnh viễn sẽ chặn thư ham thực tế đến tay bạn.

  2. Câu trả lời thứ hai là rất nhiều thư rác được gửi qua các hộp botnet không có bất kỳ hình thức chương trình chức năng thực tế nào để gửi thư. Họ sẽ chỉ phun rác một lần duy nhất và sẽ không cố gửi lại bất kỳ tin nhắn nào cho dù tin nhắn nói đó có lỗi tạm thời hay vĩnh viễn. Vì vậy, bằng cách sử dụng một lỗi tạm thời, bạn sẽ chặn được phần lớn thư rác, nhưng bạn vẫn cho phép ham thử lại. (Nhân tiện, đây là lý do tại sao greylning vẫn hoạt động và vẫn bắt được rất nhiều thư rác.)

Ngoài những câu hỏi này, còn có một câu trả lời mang nhiều lý thuyết và RFC

RFC nói trong phần 4.2.1. cái đó:

Một nguyên tắc nhỏ để xác định xem một câu trả lời phù hợp với loại 4yz hay 5yz (xem bên dưới) là các câu trả lời là 4yz nếu chúng có thể thành công nếu được lặp lại mà không có bất kỳ thay đổi nào trong dạng lệnh hoặc thuộc tính của người gửi hoặc người nhận (đó là , lệnh được lặp lại giống hệt nhau và người nhận không đưa ra một triển khai mới).

Trong trường hợp lỗi tra cứu ngược, thông báo có thể được chấp nhận mà không có bất kỳ thay đổi nào trong thông báo, chỉ với điều kiện là lỗi DNS đã được sửa. Do đó, đây phải là một lỗi tạm thời.

Trong trường hợp tin nhắn không phải là thư rác, người gửi mailserver sysadmin có thể nhận thấy thông báo lỗi và khắc phục sự cố DNS, để tin nhắn có thể được gửi mà không cần người dùng phải can thiệp và gửi lại tin nhắn. Và trừ khi người dùng gửi email cũng chịu trách nhiệm về máy chủ thư và / hoặc các mục DNS của nó, ngay cả khi họ bị trả lại vĩnh viễn, họ sẽ không thể làm bất cứ điều gì với nó - không giống như trường hợp sai chính tả Địa chỉ.

Tất nhiên, bạn vẫn luôn có quyền từ chối bất kỳ email nào vì bất kỳ lý do gì.


Tôi đã nghĩ về các sự cố tạm thời của DNS nhưng .... có vẻ như chúng không phải là vấn đề vì ... " Máy chủ SMTP luôn trả lời 450 khi ánh xạ không thành công do tình trạng lỗi tạm thời ". Chúng nên bao gồm các vấn đề tra cứu DNS tạm thời. Không bạn Đối với điểm thứ hai (BotNet, greylning, v.v.), nghe có vẻ hợp lý: khi khách hàng không thực hiện cơ chế xếp hàng thích hợp, phản hồi 4XX tạo ra hiệu ứng tương tự như 5XX. Dù sao tôi vẫn nhớ tại sao điều này có tác động ở cấp độ RFC.
Damiano Verzulli

2
@DamianoVerzulli Nó sẽ được áp dụng khi ánh xạ không thành công do lỗi, không phải khi DNS bị định cấu hình sai để trả lại tên sai và sau đó nó đã được sửa. Trong mọi trường hợp, tôi đã mở rộng một chút về các vấn đề liên quan đến RFC.
Jenny D

1
Cảm ơn đã chỉ đến phần RFC thích hợp. Tôi đang tập trung vào điều này: "các câu trả lời là 4yz nếu chúng có thể thành công nếu được lặp lại mà KHÔNG CÓ BẤT K CH SỰ THAY ĐỔI nào ở dạng lệnh hoặc trong TÍNH CHẤT của SENDER hoặc người nhận". Tôi đoán đầu tiên là tên máy chủ DNS của máy khách, cũng như ánh xạ DNS ngược của nó, các thuộc tính của người gửi. Không bạn Nếu không, tôi không thể thấy những gì có thể là một tài sản người gửi. (BTW: vui lòng không nhận xét cá nhân của tôi. Tôi thực sự quan tâm đến cuộc thảo luận này và thực sự đánh giá cao quan điểm của bạn! Cảm ơn bạn đã bình luận!).
Damiano Verzulli

1
@DamianoVerzulli Tên máy chủ DNS không phải là thuộc tính của máy chủ gửi thư và không thể thay đổi trong cấu hình máy chủ thư. Nó được điều khiển bởi máy chủ DNS có thẩm quyền, thường không phải là cùng một máy chủ, ít hơn một phần của máy chủ email. Đôi khi, nó thậm chí không được kiểm soát trong cùng một tổ chức. . được làm cho phía bên kia nữa.)
Jenny D
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.