Điểm:3

Từ chối email không phân giải được tên máy chủ đảo ngược

lá cờ us

Máy chủ Postfix của tôi đang nhận được thư rác từ một nhóm tên miền luôn thay đổi nhưng với một mẫu nhất quán trong tệp nhật ký bắt đầu bằng dòng cảnh báo: tên máy chủ X không phân giải thành địa chỉ Y. Không có email (ham) hợp pháp nào có mẫu này, vì vậy tôi muốn chặn các email liên quan đến thông báo này.

Có cách nào để chặn hoàn toàn những email này trong cấu hình Postfix, chẳng hạn như trong tệp main.cf không?

Đây là một phần của tệp nhật ký hiển thị mẫu xuất hiện khi thư rác đến:

Ngày 10 tháng 5 21:47:46 localhost postfix/smtpd[313324]: cảnh báo: tên máy chủ trojan.kringeas.co.uk không phân giải thành địa chỉ 104.129.30.93: Tên hoặc dịch vụ không xác định
Ngày 10 tháng 5 21:47:46 localhost postfix/smtpd[313324]: kết nối từ không xác định[104.129.30.93]
Ngày 10 tháng 5 21:47:46 localhost postfix/smtpd[313324]: 2AF1D101825: client=unknown[104.129.30.93]
Ngày 10 tháng 5 21:47:46 sửa lỗi/dọn dẹp localhost[313331]: 2AF1D101825: message-id=<dO7GXAfoNocg1hEkeyqMfulg7RZ0aamifKqrB8JpUH8.ofI9TFu7lSCnlxwicxT5GA@meansfolk.sa.com>
Ngày 10 tháng 5 21:47:46 localhost postfix/qmgr[294981]: 2AF1D101825: from=<[email protected]>, size=4241, nrcpt=1 (hàng đợi đang hoạt động)
Ngày 10 tháng 5 21:47:46 localhost postfix/pipe[313333]: 2AF1D101825: to=<[email protected]>, orig_to=<[email protected]>, relay=dovecot, delay=0.11, delays=0.08/0.01 /0/0.02, dsn=2 .0.0, status=sent (được gửi qua dịch vụ dovecot)
Ngày 10 tháng 5 21:47:46 localhost postfix/qmgr[294981]: 2AF1D101825: đã xóa
Ngày 10 tháng 5 21:47:46 localhost postfix/smtpd[313324]: ngắt kết nối không xác định[104.129.30.93] ehlo=1 mail=1 rcpt=1 data=1 thoát=1 lệnh=5

Đây là tệp main.cf của tôi: Lưu ý rằng nó bao gồm: smtpd_client_restrictions = reject_unknown_reverse_client_hostname mà tôi đã thử sau khi đọc bài này.

queue_directory = /var/spool/postfix
thư mục lệnh = /usr/sbin
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix
mail_owner = hậu tố
inet_protocols = tất cả
mydestination = localhost, localhost.localdomain
Unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
         ĐƯỜNG=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$ process_name $ process_id & ngủ 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = không
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES


tên máy chủ của tôi = xxxx.net
mạng của tôi = 127.0.0.0/8
message_size_limit = 30720000
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf, hash:/etc/postfix/virtual
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = tĩnh:5000
virtual_gid_maps = tĩnh:5000
smtpd_client_restrictions = reject_unknown_reverse_client_hostname
smtpd_sasl_type = bồ câu
smtpd_sasl_path = riêng tư/xác thực
smtpd_sasl_auth_enable = có
bị hỏng_sasl_auth_clients = có
smtpd_sasl_authenticated_header = có
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_use_tls = có
smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
virtual_create_maildirsize = có
virtual_maildir_extends = có
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocation_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
virtual_transport = bồ câu
dovecot_destination_recipient_limit = 1
inet_interfaces = tất cả
smtp_tls_security_level = có thể
disable_vrfy_command = có
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = chấp nhận
Điểm:7
lá cờ za

Chỉ cần thay thế

smtpd_client_restrictions = reject_unknown_reverse_client_hostname

với

smtpd_client_restrictions = reject_unknown_client_hostname .

Từ sổ tay postfix:

reject_unknown_client_hostname (với Postfix < 2.3: reject_unknown_client)
    Từ chối yêu cầu khi 
      1) ánh xạ địa chỉ IP của máy khách->tên không thành công hoặc 
      2) ánh xạ tên->địa chỉ không thành công hoặc
      3) ánh xạ tên->địa chỉ không khớp với địa chỉ IP của máy khách.
    Đây là một hạn chế mạnh hơn reject_unknown_reverse_client_hostname 
    tính năng, chỉ kích hoạt trong điều kiện 1) ở trên.
    Tham sốunknown_client_reject_code chỉ định mã phản hồi cho
    yêu cầu bị từ chối (mặc định: 450). Câu trả lời luôn là 450 trong trường hợp
    địa chỉ->tên hoặc tra cứu tên->địa chỉ không thành công do sự cố tạm thời. 

Tuy nhiên, điều này niềm tin của bạn là sai:

Không có email (ham) hợp pháp nào có mẫu này, vì vậy tôi muốn chặn các email liên quan đến thông báo này.

Thỉnh thoảng, khách hàng của tôi phàn nàn và đôi khi tên máy chủ đảo ngược không tuân theo địa chỉ HELO hoặc nó chuyển sang địa chỉ khác hoặc không giải quyết được gì cả và đó hoàn toàn là thư chào mời. Về cơ bản, các RFC hiện tại chỉ bắt buộc các sự tồn tại của bản ghi PTR của tên máy chủ HELO, trong khi không nói gì về giá trị hoặc sự tồn tại của bản ghi A dưới tên đó hoặc giá trị của nó. Máy chủ hợp pháp về mặt kỹ thuật có thể bỏ qua mọi thứ khác và vẫn tuân thủ RFC, trong khi bạn đang chặn nó bằng cấu hình này. Để khắc phục điều này, tôi đặt tất cả những kiểm tra đó vào smtpd_recipient_restrictions, và thêm check_sender_access băm: //... ngay trước nó, vì vậy tôi có thể loại trừ có chọn lọc một số thư khỏi séc này theo tên miền của người gửi hoặc địa chỉ email đầy đủ của người gửi:

smtpd_client_restrictions = [mặc định]
smtpd_recipient_restrictions= 
...
    hàm băm check_sender_access:/etc/postfix/spam_exceptions,
    reject_unknown_client_hostname,
...

bạn không thể sử dụng check_sender_access bên trong smtpd_client_restrictions bởi vì bạn chỉ nhận được địa chỉ phong bì của người gửi để kiểm tra trong quá trình Thư đến từ: giai đoạn.

Cái này thư rác_ngoại lệ tệp có cấu trúc đơn giản:

bị ảnh hưởng.tên miền OK
...

Tôi chỉ thêm tên miền vào tệp này khi tôi giải quyết khiếu nại. Và tôi đã có một bộ sưu tập khá lớn rồi!

lá cờ cn
Vâng, RFC nên rõ ràng hơn về điều này.
lá cờ us
Cảm ơn vì phương pháp này.Một điều cần đề cập là để tôi làm việc này, tôi cần chạy 'postmap /etc/postfix/spam_exceptions' và 'systemctl reload postfix'. Điều này có thể cần được thực hiện sau mỗi lần thay đổi đối với spam_exceptions.
Nikita Kipriyanov avatar
lá cờ za
Đúng. Nó cũng có thể được cấu hình để sử dụng dữ liệu từ ví dụ: MySQL, PostgreSQL, SQLite, LDAP, v.v., trong trường hợp đó, mọi cập nhật của bảng sẽ không yêu cầu chạy và tải lại sơ đồ. // Ngoài ra, hãy hết sức thận trọng với cấu hình này. `reject_unauth_destination` phải có **trước** `check_sender_access` này.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.