Đó có phải là cách thực hành tốt hay quá hà khắc để từ chối thư từ người gửi thư không có RDNS


20

Gần đây tôi đã bỏ SpamAssassin và hiện đang dựa trên cơ sở từ chối spam trên DNSRBL, danh sách màu xám và các thử nghiệm cơ bản khác và tôi tự hỏi liệu tôi có nên chặn các máy chủ không có RDNS hợp lệ phù hợp với EHLO không?

Nếu tôi làm điều này, tôi sẽ gây rắc rối cho nhiều thư hợp pháp và làm phiền khách hàng của tôi? Tôi đã nghe người ta nói rằng AOL làm điều này, điều đó khiến tôi nghĩ rằng có lẽ nó quá lạ đối với tôi.

Tôi cũng tự hỏi liệu tôi có thể thỏa hiệp hay không bằng cách kiểm tra xem RDNS ít nhất được đặt thành thứ gì đó, nhưng không cố gắng khớp nó với EHLO. Điều này có thể với Postfix (và nó có hữu ích không)?


4
Có, nó thường được thực hiện, ngay cả khi một số lượng rất nhỏ người có vấn đề với nó. Xem Chống thư rác - Tôi có thể làm gì với tư cách: Quản trị viên email, Chủ sở hữu tên miền hoặc Người dùng? để thảo luận thêm.
Michael Hampton


Nhiều mặt trăng trước đây, việc tra cứu ngược lại bản cài đặt sendmail mới trong Red Hat là mặc định ... Tôi nghĩ rằng rDNS, trong khi không phải là một tiêu chuẩn chính thức cho các máy chủ thư, là khá nhiều tiêu chuẩn defacto. Nó liên quan đến mọi người trên các địa chỉ IP động (ví dụ như nhà có kết nối ISP của người tiêu dùng), nhưng trước đây, phần lớn các IP động đó có kết nối là botnet ... không biết về ngày nay.
Avery Payne

Câu trả lời:


10

Tôi đã thử nhiều cách tiếp cận với việc kiểm tra Helo / EHLO với cơ sở khách hàng có quy mô khá ổn định trong khoảng từ 100 nghìn đến 200 nghìn người dùng và cuối cùng đã đi đến một giải pháp thực hiện như sau:

  • Kiểm tra xem Helo / EHLO có chứa tên miền không. - Điều này chủ yếu sôi lên để tên có một dấu chấm trong đó. Việc kiểm tra DNS trên tên đã dẫn đến NHIỀU máy chủ bị lỗi vì không có gì lạ khi máy chủ xuất hiện một tên nội bộ hoặc một cái gì đó bạn không thể giải quyết chính xác.
  • Kiểm tra xem IP có bản ghi DNS ngược không. - Một lần nữa, đây là cài đặt lỏng lẻo vì chúng tôi không kiểm tra nó với Helo / EHLO. Việc kiểm tra đối với Helo / EHLO đã tạo ra rất nhiều vé mà cài đặt này không kéo dài dù chỉ một ngày.
  • Kiểm tra tên miền người gửi là hợp lệ. - Đây là một kiểm tra cơ bản để đảm bảo nếu chúng tôi phải trả lại tin nhắn thì ít nhất sẽ có một số cách để tìm một máy chủ cho nó.

Đây là khối Postfix chúng tôi sử dụng cho các kiểm tra này:

smtpd_recipient_restrictions =
    reject_non_fqdn_sender,
    reject_unauth_destination,
    reject_unknown_reverse_client_hostname,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_sender_domain,
    reject_non_fqdn_recipient

1
Ngoài ra cách tiếp cận bổ sung tốt là kiểm tra tên máy chủ đối với danh sách các biểu thức khớp với các tên khác nhau được gán động bởi ISP như xxxx.dynamic.yyy.comhoặc 12-34-56-78.dsl.zzz.com. Tất cả các máy chủ như vậy sẽ gửi thư của họ thông qua chuyển tiếp của ISP và không trực tiếp đến MX của người nhận. Chủ yếu các máy chủ như vậy là các nút botnet và thông điệp của chúng tôi sử dụng để tìm hiểu các vịnh của tôi.
Kondybas

Có vẻ như nó có thể là giải pháp cho tôi. Có cách nào để chạy SpamAssassin và để nó được bỏ qua bởi tất cả, ngoại trừ những thư không phù hợp với Helo với RDNS, sau đó chúng tôi chỉ trả lại những điểm trên một số điểm nhất định? Các thư khác tiếp tục hoàn toàn vượt qua bước này.
Peter Snow

Với MTA exim tôi đã thực hiện theo cách đó, tuần tự: addr / host của người gửi được kiểm tra theo danh sách trắng. Nếu khớp - được chấp nhận ngay lập tức, khác sẽ được kiểm tra đối với danh sách đen. Nếu khớp - cờ biến "Gotcha!" và tin nhắn cũng được chấp nhận. Nếu tin nhắn đã được chuyển qua danh sách - nó được chuyển đến SA hoạt động như daemon. Nếu giá trị trả về đủ cao, hãy gắn cờ "Gotcha!" nêu lên và tin nhắn cũng được chấp nhận. Sau đó, tin nhắn được chuyển đến các bộ định tuyến.
Kondybas

1
Nếu cờ không được nâng lên, tin nhắn sẽ được gửi như bình thường. Nếu không, bản sao mù được sản xuất. Tin nhắn gốc được gửi lại như bình thường một lần nữa, trong khi BC được chuyển đến bộ định tuyến đặc biệt có khả năng học hỏi như vận chuyển. Lược đồ như vậy cho phép phân chia luồng thư vào nhánh thư rác chắc chắn tìm hiểu các vịnh SA và nghi ngờ phần còn lại được kiểm tra bởi các vịnh SA. Các thông điệp có cờ được nâng lên cũng có một tiêu đề bổ sung cho phép sắp xếp chúng vào "Rác"
Kondybas

Tôi đã kiểm tra các quy tắc này đối với hộp thư của mình và có những email đã bị từ chối vì không phải là tên miền Helo hoặc thiếu bản ghi DNS ngược. Có rất ít người trong số họ (chỉ một vài người gửi trong hộp thư có 40 000 email), nhưng có những thứ quan trọng ở đó. Đặc biệt, nếu tôi đã sử dụng reject_unknown_reverse_client_hostname, một email có kết quả của đơn xin thị thực của tôi đến một quốc gia Đông Nam Á cụ thể sẽ không được gửi qua. Tôi khuyên bạn không nên sử dụng reject_invalid_helo_hostnamereject_unknown_reverse_client_hostname.
michau

12

Việc chặn các máy chủ SMTP không có những điều cơ bản này là rất phổ biến:

  1. Tên máy chủ trong chuyển tiếp Helo giải quyết kết nối IP có nguồn gốc từ.
  2. IP gốc kết nối đảo ngược với Tên máy chủ được yêu cầu trong Helo.
  3. Nếu chính sách SPF, DKIM hoặc DMARC tồn tại, hãy xác minh.

Bất cứ ai nắm bắt về việc bị chặn vì một trong những điều này nên được bôi nhựa và lông.
Những người cuối cùng bị chặn vì những lý do khác, đặc biệt là các tình huống dựa vào sự phù hợp của RFC trong các tình huống "bất thường", tôi sẽ thông cảm. Thư rác là một vấn đề đến nỗi không có lý do gì để bỏ lỡ những điều cơ bản.


2
Tên tra cứu ngược lại không bắt buộc phải khớp với Helo. Máy chủ có thể vận hành rất nhiều tên miền trong khi tra cứu ngược lại chỉ trả về một tên chính.
Kondybas

1
Chắc chắn, bạn có thể làm bất cứ điều gì bạn muốn. Máy chủ của bạn sẽ nhận được 511 Your rDNS doesn't match your HELOtừ máy chủ của tôi và rất nhiều người khác nữa. Thư rác là một vấn đề lớn mà các nhà thiết kế của RFC SMTP không phải đối phó. Yêu cầu thực tế khác biệt rõ rệt với RFC theo những cách nhỏ.
Chris S

Thư rác không phải là vấn đề khi MTA được cấu hình đúng. Kinh nghiệm của tôi cho thấy (rDNS không ORphù hợp với các danh sách biểu thức chính quy cục bộ ngắn ORphù hợp) phát hiện 99,99% thư rác. Không DNSBLs, không greylists, không DKIM, không SPF. 200k + tin nhắn đến hàng tháng. 1-2 false-p, 10-20 false-n mỗi tháng.
Kondybas

5

Tôi hy vọng việc gửi MTA để có RDNS hợp lệ nhưng việc nhấn mạnh vào việc khớp EHLO sẽ phụ thuộc vào ai là 'khách hàng'. Bạn có thể tìm thấy một số hướng dẫn thú vị trong RFC5321 :

2.3.5.

(...) Tên miền được cung cấp trong lệnh EHLO PHẢI là tên máy chủ chính (tên miền phân giải thành địa chỉ RR) hoặc, nếu máy chủ không có tên, địa chỉ bằng chữ (...)

4.1.4.

(...) Máy chủ SMTP CÓ THỂ xác minh rằng đối số tên miền trong lệnh EHLO thực sự tương ứng với địa chỉ IP của máy khách. Tuy nhiên, nếu xác minh thất bại, máy chủ KHÔNG PHẢI từ chối chấp nhận tin nhắn trên cơ sở đó.

nhưng sau đó trong 7.9.

Đó là một nguyên tắc được thiết lập tốt rằng máy chủ SMTP có thể từ chối chấp nhận thư vì bất kỳ lý do vận hành hoặc kỹ thuật nào có ý nghĩa đối với trang web cung cấp máy chủ. (...)


1
Điều này có thể bị cấm vì chuỗi được gửi với EHLO, trong thế giới thực, thường không tuân thủ RFC. Tôi đã thấy tên máy chủ nội bộ localhostvà nhiều thứ sai khác được gửi ở đây, ngay cả với thư hoàn toàn hợp pháp.
Michael Hampton

3

Tra cứu ngược không nhất thiết phải trỏ đến tên máy chủ được cung cấp trong Helo. Đôi khi nhiều tên miền được lưu trữ trên cùng một máy chủ và tất cả chúng đều có cùng một địa chỉ IP. Nhưng khi bạn cố gắng thực hiện tra cứu ngược lại, bạn sẽ nhận được tên đã được đặt trong bản ghi PTR. Rõ ràng là cả hai FQDN sẽ khác nhau - và điều đó hoàn toàn chấp nhận được.

Tình huống duy nhất cho phép thả tin nhắn là thất bại tra cứu ngược. Bất kỳ tra cứu thành công có nghĩa là máy chủ lưu trữ là hợp lệ. Tên không phù hợp.


1
"Rõ ràng là cả hai FQDN sẽ khác nhau - và điều đó hoàn toàn chấp nhận được." Không. Bạn chỉ có thể định cấu hình một bản ghi PTR và máy chủ thư của bạn chỉ có thể thông báo một tên máy chủ trong Helo. Vì vậy, rõ ràng là cả hai có thể phù hợp.
Chris S

2

Tôi đang tự hỏi liệu tôi có nên chặn các máy chủ không có RDNS hợp lệ phù hợp với EHLO không?

Không, bạn không nên. Chặn toàn bộ email chỉ bằng một tiêu chí, đó là một thực tế tồi.

Nếu tôi làm điều này, tôi sẽ gây rắc rối cho nhiều thư hợp pháp và làm phiền khách hàng của tôi?

nhiều khả năng bạn làm và sẽ mất thư hợp pháp

Tôi cũng tự hỏi liệu tôi có thể thỏa hiệp hay không bằng cách kiểm tra xem RDNS ít nhất được đặt thành thứ gì đó, nhưng không cố gắng khớp nó với EHLO. Điều này có thể với Postfix (và nó có hữu ích không)?

vâng, nó có thể Bạn có thể sử dụng từ chối_unknown_Vverse_client_hostname thay vì từ chối_unknown_client_hostname

Thật không may, postfix không có tùy chọn linh hoạt cho "quyết định phức tạp". Trong exim bạn có thể thêm một số điểm cho các thư như vậy, ví dụ:

Score = 0 
1. The HELO or EHLO hostname is not in fully-qualified domain or address literal form. Score +=10
2. The HELO or EHLO hostname has no DNS A or MX record. Score +=20
3. The HELO or EHLO hostname is listed with the A record "d.d.d.d" under rbl_domain. Score +=20
4. The sender domain has no DNS A or MX record. Score +=10
5. SPF checks return softfail. Score +=10, fail, Score +=20
...

Và như vậy. Sau khi tất cả các kiểm tra sẽ được hoàn thành và nếu bạn có Điểm> 100, bạn có thể từ chối thư. Trên thực tế bạn có thể có hành vi như vậy, nhưng bạn sẽ cần phải viết dịch vụ chính sách của riêng bạn

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.