ฉันมีเซิร์ฟเวอร์ Postfix ที่ให้บริการชื่อโดเมนหลายชื่อโดยตั้งค่า SPF, DMARC, DKIM อย่างถูกต้องและทดสอบหลายครั้ง ดังนั้นจึงไม่มีการปลอมแปลงเกิดขึ้น อย่างไรก็ตาม แม้ว่าฉันจะพยายามอย่างเต็มที่ในการปรับแต่งการกำหนดค่า Postfix แต่ข้อความสแปมขาออกเช่นด้านล่างมักจะเล็ดลอดผ่านเซิร์ฟเวอร์:
5 ส.ค. 08:37:38 mail postfix/error[9631]: BC96418C10: to=<[email protected]>, relay=none, delay=161913, delays=161238/676/0/0.04, dsn=4.4.2 , สถานะ=เลื่อน (การจัดส่งถูกระงับชั่วคราว: การสนทนากับ mx1.comcast.net[96.114.157.80] หมดเวลาในขณะที่ได้รับการทักทายจากเซิร์ฟเวอร์ครั้งแรก)
5 ส.ค. 10:07:45 mail postfix/error[31924]: BC96418C10: to=<[email protected]>, relay=none, delay=167320, delays=166039/1281/0/0.04, dsn=4.4.3 , สถานะ=รอการตัดบัญชี (ระงับการส่งชั่วคราว: ไม่พบโฮสต์หรือชื่อโดเมน ข้อผิดพลาดของบริการชื่อสำหรับ name=comcast.net type=MX: ไม่พบโฮสต์ โปรดลองอีกครั้ง)
5 ส.ค. 11:23:43 mail postfix/error[18751]: BC96418C10: to=<[email protected]>, relay=none, delay=171878, delays=171438/440/0/0.12, dsn=4.4.1 , สถานะ=รอการตัดบัญชี (ระงับการส่งชั่วคราว: เชื่อมต่อกับ mx2.comcast.net[2001:558:fe21:2a::6]:25: ไม่สามารถเข้าถึงเครือข่ายได้)
5 ส.ค. 12:54:11 mail postfix/error[8920]: BC96418C10: to=<[email protected]>, relay=none, delay=177306, delays=175938/1367/0/0.06, dsn=4.4.1 , สถานะ=รอการตัดบัญชี (ระงับการส่งชั่วคราว: เชื่อมต่อกับ mx1.comcast.net[2001:558:fe16:1b::15]:25: ไม่สามารถเข้าถึงเครือข่ายได้)
5 ส.ค. 14:07:22 mail postfix/error[27186]: BC96418C10: to=<[email protected]>, relay=none, delay=181697, delays=181338/359/0/0.03, dsn=4.4.1 , สถานะ=รอการตัดบัญชี (ระงับการส่งชั่วคราว: เชื่อมต่อกับ mx2.comcast.net[2001:558:fe21:2a::6]:25: ไม่สามารถเข้าถึงเครือข่ายได้)
ต่อไปนี้คือการตั้งค่า Postfix ที่อาจเกี่ยวข้อง:
virtual_alias_maps = แฮช:/etc/postfix/virtual
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
smtpd_sasl_auth_enable = ใช่
smtpd_tls_security_level = เข้ารหัส
smtp_tls_security_level = พฤษภาคม
mailbox_size_limit = 0
smtpd_tls_auth_only = ใช่
smtpd_tls_key_file = /ssl/ssl.key
smtpd_tls_CAfile = /ssl/ssl.ca
smtpd_tls_cert_file = /ssl/ssl.crt
smtp_use_tls = ใช่
smtpd_soft_error_limit = 5
smtpd_hard_error_limit = 10
milter_default_action = ยอมรับ
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
smtpd_helo_required = ใช่
smtpd_sasl_auth_enable = ใช่
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated ปฏิเสธ_unauth_destination
smtpd_recipient_restrictions = permit_sasl_authenticated cancel_unauth_destination check_policy_service unix:/var/spool/postfix/postgrey/socket permit_inet_interfaces
smtpd_sender_restrictions = ปฏิเสธ_unknown_sender_domain
แฮช check_sender_access:/etc/postfix/access
บัญชีอีเมลที่ถูกต้องทั้งหมดอยู่ในรายการ /etc/postfix/virtual
และตามหลักการแล้วมีเพียงพวกเขาเท่านั้นที่จะสามารถส่งได้และไม่มีใครอื่น นอกจากนี้ ฉันได้เพิ่มที่อยู่ IP ทั้งหมดที่โฮสต์โดเมนเหล่านั้นจริง ๆ ดังนั้นควรจะสามารถส่งจดหมายผ่านเซิร์ฟเวอร์จดหมายนี้ด้วย เครือข่ายของฉัน =
การตั้งค่า
ดังนั้นถ้าฉันใส่:
smtpd_relay_restrictions = permit_mynetworks ปฏิเสธ
จากนั้นจึงป้องกันสแปมได้อย่างมีประสิทธิภาพ อย่างไรก็ตาม ในกรณีดังกล่าว ผู้ใช้ที่ถูกต้องตามกฎหมายจะไม่สามารถเชื่อมต่อกับบัญชีอีเมลของตนจากโปรแกรมอีเมลไคลเอ็นต์ เช่น โทรศัพท์มือถือ เลยต้องคลายกฎข้างต้นสักหน่อยดังนี้
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated ปฏิเสธ_unauth_destination
ใครช่วยบอกทิศทางที่ถูกต้องแก่ฉันถึงวิธีอนุญาตให้ผู้ใช้ที่ถูกต้องสามารถใช้เซิร์ฟเวอร์เมลนี้ ในขณะเดียวกันก็ป้องกันไม่ให้บุคคลอื่นทั้งหมดส่งอะไรจากเซิร์ฟเวอร์เมลนี้
แก้ไข #1:
ขอบคุณตัวชี้ anx' ฉันทำตามขั้นตอนเพิ่มเติมและนี่คือข้อมูลเมตาที่แยกด้วย postcat -vq 3825218E12
สั่งการ. ID ของข้อความแตกต่างกัน แต่ปัญหาเหมือนกัน:
postcat: name_mask: ทั้งหมด
postcat: inet_addr_local: กำหนดค่าที่อยู่ IPv4 2 รายการ
postcat: inet_addr_local: กำหนดค่าที่อยู่ IPv6 2 รายการ
*** ซองบันทึกรอการตัดบัญชี/3/3825218E12 ***
ขนาดข้อความ: 8340 682 1 0 8340
message_arrival_time: พฤ. ส.ค. 12 18:31:08 น. 2564
create_time: พฤ. 12 ส.ค. 18:31:08 น. 2021
ชื่อ_attribute: log_ident=3825218E12
name_attribute: rewrite_context=remote
name_attribute: sasl_method=เข้าสู่ระบบ
name_attribute: sasl_username=root
ผู้ส่ง: [email protected]
Name_attribute: log_client_name=unknown
Name_attribute: log_client_address=93.122.252.5
ชื่อ_attribute: log_client_port=8529
Name_attribute: log_message_origin=unknown[93.122.252.5]
name_attribute: log_helo_name=213.233.88.90
name_attribute: log_protocol_name=ESMTP
name_attribute: client_name=unknown
Name_attribute: reverse_client_name=unknown
ชื่อ_attribute: client_address=93.122.252.5
ชื่อ_attribute: client_port=8529
Name_attribute: helo_name=213.233.88.90
name_attribute: protocol_name=ESMTP
ชื่อ_attribute: client_address_type=2
ชื่อ_attribute: dsn_orig_rcpt=rfc822;[email protected]
ผู้รับเดิม: [email protected]
ผู้รับ: [email protected]
pointer_record: 0
*** เนื้อหาข้อความเลื่อน/3/3825218E12 ***
Regular_text: ได้รับ: จาก 213.233.88.90 (ไม่ทราบ [93.122.252.5])
Regular_text: โดย mail.mydomain.tld (Postfix) พร้อม ESMTPSA id 3825218E12
Regular_text: สำหรับ <[email protected]>; พฤ. 12 ส.ค. 2564 18:31:08 น. +0000 (UTC)
pointer_record: 9682
Regular_text: ตัวกรอง DKIM: ตัวกรอง OpenDKIM v2.11.0 mail.mydomain.tld 3825218E12
pointer_record: 9043
Regular_text: ลายเซ็น DKIM: v=1; a=rsa-sha256; c=ผ่อนคลาย/ผ่อนคลาย; d=thebriefguy.com;
Regular_text: s=default; t=1628793068;
Regular_text: bh=2YMB5PSTO3RHAXFabkN43xdUCrxjEQOw0Xw/uLJ1zX8=;
Regular_text: h=จาก:ถึง:เรื่อง:วันที่:จาก;
Regular_text: b=edi8WNplYs2gx/aYmKl9vbY1OE3jfVZ284faDviyICbDTm51y5CgBXg3QzcSHuaL6
Regular_text: PsxGqHaqqXnF32EsA0UnqQ2q71Z8DVeEnQVp1njnqA3ECE3hiWj8UUeobRClZw7eEP
Regular_text: z2PK95dI6kfHlCcBnEgJph2pr5ilxDv4Brl9s02s7Q/2ikwHHGWh+8Gwr24CQfnBJK
Regular_text: lXrkBZVgmi65/6b6kVxmto+3oqV9avsd/9ja+CcMRs7+CsKjeHz7GA/9P3yB24/fNT
Regular_text: sAjWFvQA14zkcEjFpPmZFm/6ZjLkf0pi53vx+JamwdB5C4KzhDSKkgX6rXNYYwMu+o
Regular_text: jcADLvrnBCDtQ==
Regular_text: รหัสข้อความ: <[email protected]>
pointer_record: 936
Regular_text: จาก: Xfinity <[email protected]>
Regular_text: ถึง: [email protected]
Regular_text: หัวเรื่อง: การอัปเดตที่สำคัญ
Regular_text: วันที่: พฤ. 12 ส.ค. 2564 11:31:06 -0700
Regular_text: องค์กร: Xfinity
Regular_text: เวอร์ชัน MIME: 1.0
Regular_text: ประเภทเนื้อหา: text/html; ชุดอักขระ = "utf-8"
Regular_text: การเข้ารหัสการถ่ายโอนเนื้อหา: ยกมา-พิมพ์ได้
pointer_record: 0
Regular_text:
ฉันกังวลเกี่ยวกับบรรทัดเฉพาะเหล่านี้:
name_attribute: sasl_method=เข้าสู่ระบบ
name_attribute: sasl_username=root
ฉันได้เปลี่ยนรหัสผ่านของรูทด้วย:
รูต saslpasswd2
อย่างไรก็ตาม ฉันไม่แน่ใจว่าจะตีความโค้ดด้านบนอย่างไร และพวกเขาสามารถเข้าสู่ระบบในฐานะรูทได้อย่างไร เซิร์ฟเวอร์อีเมลได้รับการกำหนดค่าใหม่และฉันไม่เคยแตะต้องผู้ใช้ sasl ราก
ก่อนหน้านี้ ฉันสงสัยว่ามันมาพร้อมกับรหัสผ่านเริ่มต้นบางประเภทหรือไม่ และจำเป็นต้องเปลี่ยนตลอดเวลาหรือไม่ นอกจากนี้ ฉันสงสัยว่ามีการดำเนินการตามขั้นตอนเพียงพอที่จะแก้ไขปัญหาหรือมีขั้นตอนเพิ่มเติมที่แนะนำหรือไม่
แก้ไข #2:
นี่คือผลลัพธ์ของ โพสต์คอนเฟอเรนซ์ -n
สั่งการ:
alias_database = แฮช:/etc/aliases
alias_maps = แฮช:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
default_destination_concurrency_limit = 1
home_mailbox = จดหมาย/
html_directory = ไม่
inet_interfaces = ทั้งหมด
inet_protocols = ทั้งหมด
initial_destination_concurrency = 1
mail_owner = โปรแกรมแก้ไขภายหลัง
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
mailbox_size_limit = 0
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
milter_default_action = ยอมรับ
mydestination = mail.mydomain.tld, เมล, localhost
มายโดเมน = mydomain.tld
ชื่อโฮสต์ของฉัน = mail.mydomain.tld
mynetworks = บล็อคที่อยู่ IP ที่ถูกปกปิด
newaliases_path = /usr/bin/newaliases.postfix
non_smtpd_milters = inet:localhost:8891
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sender_bcc_maps = แฮช:/etc/postfix/bcc
sender_dependent_default_transport_maps = hash:/etc/postfix/dependent
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = เลื่อนลง
smtp_tls_security_level = พฤษภาคม
smtp_use_tls = ใช่
smtpd_hard_error_limit = 10
smtpd_helo_required = ใช่
smtpd_helo_restrictions = permit_mynetworks permit_sasl_authenticated ปฏิเสธ_invalid_helo_hostname ปฏิเสธ_non_fqdn_helo_hostname ปฏิเสธ_unknown_helo_hostname check_helo_access hash:/etc/postfix/helo_access
smtpd_milters = inet:localhost:8891
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_non_fqdn_hostname reject_non_fqdn_sender reject_non_fqdn_recipient reject_unauth_destination reject_unauth_pipelining reject_invalid_hostname reject_unknown_reverse_client_hostname reject_rbl_client bl.spamcop.net reject_rhsbl_helo dbl.spamhaus.org reject_rhsbl_reverse_client dbl.spamhaus.org reject_rhsbl_sender dbl.spamhaus.org reject_rbl_client zen.spamhaus.org permit_dnswl_client swl.spamhaus.org
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated ปฏิเสธ_unauth_destination ปฏิเสธ_rbl_client sbl.spamhaus.org ใบอนุญาต
smtpd_sasl_auth_enable = ใช่
smtpd_sender_restrictions = permit_mynetworks permit_sasl_authenticated ปฏิเสธ_unknown_sender_domain, แฮช check_sender_access:/etc/postfix/การเข้าถึง ปฏิเสธ_unknown_reverse_client_hostname ปฏิเสธ_unknown_client_ชื่อโฮสต์
smtpd_soft_error_limit = 5
smtpd_tls_CAfile = /ssl/ssl.ca
smtpd_tls_auth_only = ใช่
smtpd_tls_cert_file = /ssl/ssl.crt
smtpd_tls_key_file = /ssl/ssl.key
smtpd_tls_security_level = เข้ารหัส
known_local_recipient_reject_code = 550
virtual_alias_maps = แฮช:/etc/postfix/virtual
และนี่คือผลลัพธ์ของ โพสต์คอนเฟอเรนซ์-ม
:
smtp inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_tls_security_level=พฤษภาคม
รถกระบะยูนิกซ์ n - n 60 1 รถกระบะ
การล้างข้อมูลยูนิกซ์ n - n - 0 การล้างข้อมูล
qmgr ยูนิกซ์ n - n 300 1 qmgr
tlsmgr ยูนิกซ์ - - n 1,000? 1 tlsmgr
เขียนซ้ำยูนิกซ์ - - n - - เขียนใหม่เล็กน้อย
เด้งยูนิกซ์ - - n - 0 เด้ง
เลื่อนยูนิกซ์ - - n - 0 เด้ง
ติดตามยูนิกซ์ - - n - 0 ตีกลับ
ตรวจสอบยูนิกซ์ - - n - 1 ตรวจสอบ
ล้างยูนิกซ์ n - n 1,000? 0 ล้าง
พร็อกซีแมปยูนิกซ์ - - n - - พร็อกซีแมป
proxywrite unix - - n - 1 พร็อกซีแมป
smtp ยูนิกซ์ - - n - - smtp
รีเลย์ยูนิกซ์ - - n - - smtp
showq ยูนิกซ์ n - n - - showq
ข้อผิดพลาดยูนิกซ์ - - n - - ข้อผิดพลาด
ลองใหม่ยูนิกซ์ - - n - - ข้อผิดพลาด
ทิ้งยูนิกซ์ - - n - - ทิ้ง
ยูนิกซ์ท้องถิ่น - n n - - ท้องถิ่น
ยูนิกซ์เสมือน - n n - - เสมือน
lmtp ยูนิกซ์ - - n - - lmtp
ทั่งยูนิกซ์ - - n - 1 ทั่ง
Scache ยูนิกซ์ - - n - 1 Scache
การส่ง inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_tls_security_level=พฤษภาคม
smtps inet n - n - - smtpd -o smtpd_sasl_auth_enable=ใช่ -o smtpd_tls_security_level=อาจ -o smtpd_tls_wrappermode=ใช่