Score:3

ปฏิเสธอีเมลที่ล้มเหลวในการแก้ไขชื่อโฮสต์แบบย้อนกลับ

ธง us

เซิร์ฟเวอร์ Postfix ของฉันได้รับสแปมจากชุดชื่อโดเมนที่เปลี่ยนแปลงตลอดเวลา แต่มีรูปแบบที่สอดคล้องกันในไฟล์บันทึกที่ขึ้นต้นด้วยบรรทัด คำเตือน: ชื่อโฮสต์ X ไม่สามารถแก้ไขที่อยู่ Y. ไม่มีอีเมลที่ถูกต้อง (แฮม) ที่มีรูปแบบนี้ ดังนั้นฉันจึงต้องการบล็อกอีเมลที่เกี่ยวข้องกับข้อความนี้

มีวิธีบล็อกอีเมลเหล่านี้ทั้งหมดในการกำหนดค่า Postfix เช่นในไฟล์ main.cf หรือไม่

นี่คือส่วนของไฟล์บันทึกที่แสดงรูปแบบที่ปรากฏเมื่อสแปมมาถึง:

10 พฤษภาคม 21:47:46 localhost postfix/smtpd[313324]: คำเตือน: ชื่อโฮสต์ trojan.kringeas.co.uk ไม่สามารถแก้ไขที่อยู่ 104.129.30.93: ไม่ทราบชื่อหรือบริการ
10 พฤษภาคม 21:47:46 localhost postfix/smtpd[313324]: เชื่อมต่อจากที่ไม่รู้จัก[104.129.30.93]
10 พฤษภาคม 21:47:46 localhost postfix/smtpd[313324]: 2AF1D101825: client=unknown[104.129.30.93]
10 พฤษภาคม 21:47:46 localhost postfix/cleanup[313331]: 2AF1D101825: message-id=<dO7GXAfoNocg1hEkeyqMfulg7RZ0aamifKqrB8JpUH8.ofI9TFu7lSCnlxwicxT5GA@meansfolk.sa.com>
10 พฤษภาคม 21:47:46 localhost postfix/qmgr[294981]: 2AF1D101825: from=<[email protected]>, size=4241, nrcpt=1 (คิวทำงานอยู่)
10 พฤษภาคม 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, สถานะ=ส่งแล้ว (จัดส่งผ่านบริการ dovecot)
10 พฤษภาคม 21:47:46 localhost postfix/qmgr[294981]: 2AF1D101825: ลบออก
10 พฤษภาคม 21:47:46 localhost postfix/smtpd[313324]: ตัดการเชื่อมต่อจากที่ไม่รู้จัก[104.129.30.93] ehlo=1 mail=1 rcpt=1 data=1 exit=1 commands=5

นี่คือไฟล์ main.cf ของฉัน: โปรดทราบว่ามันรวมถึง: smtpd_client_restrictions = ปฏิเสธ_unknown_reverse_client_hostname ที่ฉันพยายามหลังจากอ่าน โพสต์นี้.

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix
mail_owner = โปรแกรมแก้ไขภายหลัง
inet_protocols = ทั้งหมด
mydestination = localhost, localhost.localdomain
known_local_recipient_reject_code = 550
alias_maps = แฮช:/etc/aliases
alias_database = แฮช:/etc/aliases
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & สลีป 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = เลื่อนลง
html_directory = ไม่
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


ชื่อโฮสต์ของฉัน = xxxx.net
เครือข่ายของฉัน = 127.0.0.0/8
message_size_limit = 30720000
virtual_alias_domains =
virtual_alias_maps = พร็อกซี:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf, hash:/etc/postfix/virtual
virtual_mailbox_domains = พร็อกซี:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = พร็อกซี:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = คงที่:5000
virtual_gid_maps = คงที่:5000
smtpd_client_restrictions = ปฏิเสธ_unknown_reverse_client_hostname
smtpd_sasl_type = นกพิราบ
smtpd_sasl_path = ส่วนตัว/รับรองความถูกต้อง
smtpd_sasl_auth_enable = ใช่
Broken_sasl_auth_clients = ใช่
smtpd_sasl_authenticated_header = ใช่
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, ปฏิเสธ_unauth_destination
smtpd_use_tls = ใช่
smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
virtual_create_maildirsize = ใช่
virtual_maildir_extended = ใช่
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
virtual_transport = นกพิราบ
dovecot_destination_recipient_limit = 1
inet_interfaces = ทั้งหมด
smtp_tls_security_level = พฤษภาคม
ปิดการใช้งาน_vrfy_command = ใช่
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = ยอมรับ
Score:7
ธง za

เพียงแค่แทนที่

smtpd_client_restrictions = ปฏิเสธ_unknown_reverse_client_hostname

กับ

smtpd_client_restrictions = ปฏิเสธ_unknown_client_hostname .

จาก คู่มือ Postfix:

reject_unknown_client_hostname (มี Postfix < 2.3:reject_unknown_client)
    ปฏิเสธคำขอเมื่อ 
      1) ที่อยู่ IP ไคลเอนต์ -> การแมปชื่อล้มเหลว หรือ 
      2) การแมปชื่อ->ที่อยู่ล้มเหลว หรือ
      3) การแมปชื่อ->ที่อยู่ไม่ตรงกับที่อยู่ IP ของไคลเอนต์
    นี่เป็นข้อจำกัดที่เข้มงวดกว่าreject_unknown_reverse_client_hostname 
    ฟีเจอร์ที่ทริกเกอร์ภายใต้เงื่อนไข 1) ด้านบนเท่านั้น
    พารามิเตอร์known_client_reject_codeระบุโค้ดตอบกลับสำหรับ
    คำขอที่ถูกปฏิเสธ (ค่าเริ่มต้น: 450) คำตอบคือ 450 เสมอในกรณีที่
    ที่อยู่->ชื่อ หรือ ชื่อ->การค้นหาที่อยู่ล้มเหลวเนื่องจากปัญหาชั่วคราว 

อย่างไรก็ตาม ความเชื่อของคุณนี้ผิด:

ไม่มีอีเมลที่ถูกต้อง (แฮม) ที่มีรูปแบบนี้ ดังนั้นฉันจึงต้องการบล็อกอีเมลที่เกี่ยวข้องกับข้อความนี้

ลูกค้าของฉันร้องเรียนเป็นครั้งคราว และบางครั้งชื่อโฮสต์ย้อนกลับไม่สอดคล้องกับที่อยู่ HELO หรือแก้ไขไปยังที่อยู่อื่นหรือไม่ได้รับการแก้ไขเลย และนั่นเป็นจดหมายที่ร้องขออย่างสมบูรณ์แบบ โดยพื้นฐานแล้ว RFC ในปัจจุบันจะสั่งการเท่านั้น การดำรงอยู่ ของบันทึก PTR ของชื่อโฮสต์ HELO ในขณะที่ไม่ต้องพูดอะไรเกี่ยวกับคุณค่าหรือการมีอยู่ของบันทึก A ภายใต้ชื่อนั้นหรือมูลค่าของมัน เซิร์ฟเวอร์ที่ถูกต้องทางเทคนิคสามารถละเว้นสิ่งอื่นทั้งหมดและยังคงปฏิบัติตาม RFC ในขณะที่คุณกำลังบล็อกด้วยการกำหนดค่านี้ เพื่อแก้ไขปัญหานี้ ฉันใส่การตรวจสอบทั้งหมดลงไป smtpd_recipient_restrictionsและเพิ่ม check_sender_access แฮช://... ก่อนหน้านี้ทันที ดังนั้นฉันสามารถเลือกที่จะยกเว้นบางเมลจากการตรวจสอบนี้ตามชื่อโดเมนของผู้ส่งหรือที่อยู่อีเมลของผู้ส่งแบบเต็ม:

smtpd_client_restrictions = [ค่าเริ่มต้น]
smtpd_recipient_restrictions = 
...
    แฮช check_sender_access:/etc/postfix/spam_exceptions
    ปฏิเสธ_unknown_client_ชื่อโฮสต์
...

คุณไม่สามารถใช้ check_sender_access ใน smtpd_client_restrictions เพราะคุณจะได้รับเฉพาะที่อยู่ผู้ส่งเพื่อตรวจสอบระหว่าง จดหมายจาก: เฟส

นี้ spam_exceptions ไฟล์มีโครงสร้างอย่างง่าย:

ได้รับผลกระทบ โดเมนตกลง
...

ฉันเพิ่งเพิ่มโดเมนในไฟล์นี้เมื่อแก้ไขข้อร้องเรียน และฉันมีคอลเลกชันที่ค่อนข้างใหญ่แล้ว!

cn flag
ใช่ RFC ควรชัดเจนกว่านี้
us flag
ขอบคุณสำหรับวิธีนี้สิ่งหนึ่งที่ต้องพูดถึงคือสำหรับฉันที่จะทำให้สิ่งนี้ใช้งานได้ ฉันต้องเรียกใช้ 'postmap /etc/postfix/spam_exceptions' และ 'systemctl reload postfix' อาจต้องดำเนินการนี้หลังจากการเปลี่ยนแปลง spam_exceptions แต่ละครั้ง
Nikita Kipriyanov avatar
za flag
ใช่. นอกจากนี้ยังสามารถกำหนดค่าให้ใช้ข้อมูลจากเช่น MySQL, PostgreSQL, SQLite, LDAP ฯลฯ ซึ่งในกรณีนี้ การอัปเดตใดๆ ของตารางจะไม่จำเป็นต้องเรียกใช้และโหลดโพสต์แมปซ้ำ // นอกจากนี้ ระวังให้มากกับการกำหนดค่านี้ `reject_unauth_destination` ควรมา **ก่อน** `check_sender_access` นี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา