ฉันค้นหาทุกฟอรัม ทุกบทความ ทุกโพสต์ของ serverfault.com สำหรับปัญหานี้ ฉันกำลังใช้การตั้งค่าใหม่ของ Postfix จัดการโดย Virtualmin เมื่อใดก็ตามที่ฉันพยายามส่งจดหมายผ่าน TLS ฉันได้รับข้อผิดพลาด (ลบข้อมูลที่ระบุตัวตนได้):
7 ก.ย. 21:58:37 mail postfix/smtp[220916]: การเริ่มต้นเอ็นจิ้น TLS ฝั่งไคลเอ็นต์
7 กันยายน 21:58:37 mail postfix/tlsmgr[220917]: เปิดแคช smtpd TLS btree:/var/lib/postfix/smtpd_scache
7 กันยายน 21:58:38 mail postfix/tlsmgr[220917]: เปิดแคช smtp TLS btree:/var/lib/postfix/smtp_scache
7 ก.ย. 21:58:38 mail postfix/tlsmgr[220917]: tlsmgr_cache_run_event: เริ่มการล้างแคชเซสชัน TLS smtpd
7 ก.ย. 21:58:38 mail postfix/tlsmgr[220917]: tlsmgr_cache_run_event: เริ่มการล้างแคชเซสชัน TLS smtp
7 ก.ย. 21:58:38 mail postfix/smtp[220918]: การเริ่มต้นเอ็นจิ้น TLS ฝั่งไคลเอ็นต์
7 ก.ย. 21:58:38 mail postfix/smtp[220918]: 536A837552: จำเป็นต้องใช้ TLS แต่ไม่ได้เสนอโดยโฮสต์ gmail-smtp-in.l.google.com[173.194.219.27]
7 ก.ย. 21:58:38 mail postfix/smtp[220916]: E9C5637920: to=<[email protected]>, relay=ts11-do.checktls.com[165.227.190.238]:25, delay=3768, delays=3768/0.67/0.11/0, dsn=4.7.4, status=deferred (ต้องใช้ TLS แต่โฮสต์ ts11-do.checktls.com[165.227.190.238] ไม่ได้เสนอ)
7 ก.ย. 21:58:38 mail postfix/smtp[220918]: 536A837552: จำเป็นต้องใช้ TLS แต่ไม่ได้เสนอโดยโฮสต์ alt1.gmail-smtp-in.l.google.com[172.217.197.27]
7 ก.ย. 21:58:38 mail postfix/smtp[220918]: 536A837552: จำเป็นต้องใช้ TLS แต่โฮสต์ alt2.gmail-smtp-in.l.google.com[108.177.12.27] ไม่ได้เสนอ
7 ก.ย. 21:58:39 mail postfix/smtp[220918]: 536A837552: จำเป็นต้องใช้ TLS แต่โฮสต์ไม่ได้เสนอ alt3.gmail-smtp-in.l.google.com[64.233.186.27]
7 กันยายน 21:58:39 mail postfix/smtp[220918]: 536A837552: to=<[email protected]>, relay=alt4.gmail-smtp-in.l.google.com[209.85.202.27]:25, delay=3819, delays=3817/0.67/1.2/0, dsn=4.7.4, status=deferred (จำเป็นต้องใช้ TLS แต่โฮสต์ alt4.gmail-smtp-in.l.google.com[209.85 ไม่ได้เสนอไว้) 202.27])
7 กันยายน 22:00:01 mail postfix/pickup[220911]: A9D8537D1D: uid=33 from=<www-data>
7 กันยายน 22:00:01 mail postfix/cleanup[221006]: A9D8537D1D: message-id=<[email protected]>
ฉันใช้ letsencrypt (ดึงด้วย Virtualmin) สำหรับใบรับรองของฉัน มันวางใบรับรองใน /home/user/ssl.* นี่คือ main.cf ของฉัน (โดเมนแทนที่ด้วย example.com):
alias_database = แฮช:/etc/aliases
alias_maps = แฮช:/etc/aliases
allow_percent_hack = ไม่
append_dot_mydomain = ไม่
บิฟ = ไม่
Broken_sasl_auth_clients = ใช่
home_mailbox = จดหมาย/
inet_protocols = ipv4
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
mailbox_size_limit = 0
milter_default_action = ยอมรับ
โดเมนของฉัน = EXAMPLE.com
ชื่อโฮสต์ของฉัน = mail.EXAMPLE.com
mynetworks_style = ซับเน็ต
non_smtpd_milters = inet:localhost:8891
ผู้รับ_ตัวคั่น = +
sender_bcc_maps = แฮช:/etc/postfix/bcc
sender_dependent_default_transport_maps = hash:/etc/postfix/dependent
smtp_dns_support_level = DNSsec
smtp_host_lookup = dns
smtp_tls_ciphers = สูง
smtp_tls_exclude_ciphers = MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL, aNULL
smtp_tls_loglevel=4
smtp_tls_mandatory_ciphers = สูง
smtp_tls_mandatory_exclude_ciphers = MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL, aNULL
smtp_tls_mandatory_protocols = TLSv1.3,TLSv1.2,TLSv1.1,!TLSv1,!SSLv2,!SSLv3
smtp_tls_note_starttls_offer = ใช่
smtp_tls_protocols = TLSv1.3, TLSv1.2, TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtp_tls_security_level = เข้ารหัส
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_milters = inet:localhost:8891
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated ปฏิเสธ_unauth_destination check_policy_service inet:127.0.0.1:10023
smtpd_relay_restrictions = ${{$compatibility_level} < {1} ? {} : {permit_mynetworks permit_sasl_authenticated defer_unauth_destination}}
smtpd_sasl_auth_enable = ใช่
smtpd_tls_ask_ccert = ใช่
smtpd_tls_cert_file=/home/EXAMPLE/ssl.cert
smtpd_tls_ciphers = สูง
smtpd_tls_exclude_ciphers = MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL, aNULL
smtpd_tls_key_file=/home/EXAMPLE/ssl.key
smtpd_tls_loglevel=4
smtpd_tls_mandatory_ciphers = สูง
smtpd_tls_mandatory_exclude_ciphers = MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL, aNULL
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
smtpd_tls_protocols = TLSv1.3, TLSv1.2, TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtpd_tls_received_header = ใช่
smtpd_tls_security_level = เข้ารหัส
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
tls_preempt_cipherlist = ใช่
tls_random_source = dev:/dev/urandom
tls_server_sni_maps = แฮช:/etc/postfix/sni_map
virtual_alias_maps = แฮช:/etc/postfix/virtual
virtual_alias_domains = $โดเมนของฉัน
ฉันทราบดีว่า ENCRYPT บังคับ TLS - การใช้ MAY ถอยกลับไปใช้การเชื่อมต่อที่ไม่ใช่ TLS นี่เป็นการทดสอบ
นี่คือ master.cf ของฉัน
smtp inet n - n - - smtpd
รถกระบะยูนิกซ์ n - n 60 1 รถกระบะ
การล้างข้อมูลยูนิกซ์ n - n - 0 การล้างข้อมูล
qmgr ยูนิกซ์ n - n 300 1 qmgr
#qmgr ยูนิกซ์ n - n 300 1 oqmgr
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
-o syslog_name=postfix/$service_name
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq ยูนิกซ์ n - n - - showq
ข้อผิดพลาดยูนิกซ์ - - n - - ข้อผิดพลาด
ลองใหม่ยูนิกซ์ - - n - - ข้อผิดพลาด
ทิ้งยูนิกซ์ - - n - - ทิ้ง
ยูนิกซ์ท้องถิ่น - n n - - ท้องถิ่น
ยูนิกซ์เสมือน - n n - - เสมือน
lmtp ยูนิกซ์ - - n - - lmtp
ทั่งยูนิกซ์ - - n - 1 ทั่ง
Scache ยูนิกซ์ - - n - 1 Scache
postlog unix-dgram n - n - 1 postlogd
*** ฉันคืนค่าการกำหนดค่าเป็นค่าเริ่มต้นโดยหวังว่าจะช่วยได้ แต่ไม่มีการเปลี่ยนแปลง
เมื่อฉัน telnet เข้าสู่เซิร์ฟเวอร์ ฉันได้รับตัวเลือกสำหรับ starttls:
ลอง 127.0.0.1...
เชื่อมต่อกับ 127.0.0.1
อักขระ Escape คือ '^]'
220 mail.EXAMPLE.com ESMTP Postfix
EHLO example.com
250-mail.EXAMPLE.com
250-การวางท่อ
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-ดีเอสเอ็น
250 ชิ้น
ฉันใช้ opnsense สำหรับไฟร์วอลล์ของฉันฉันไม่คิดว่ามันบล็อก TLS ด้วยการตรวจสอบ SMTP
ด้วยการตั้งค่าเป็น MAY แทนที่จะเป็น ENCRYPT ฉันสามารถส่งและรับอีเมลได้ตามปกติ เมื่อตั้งค่าเป็น MAY Google และ checktls.com รายงานว่า TLS ไม่ถูกใช้งาน
การทดสอบทั้งหมดสำหรับ dmarc, spf และอื่น ๆ กลับมาดีเหมือนเดิม นี่คือ postfix (ล่าสุด) ที่ทำงานบนเซิร์ฟเวอร์ Ubuntu 20
สภาพแวดล้อมของฉัน:
- เซิร์ฟเวอร์ที่อยู่ร่วมกันในดาต้าเซ็นเตอร์ (ไม่มีข้อจำกัดในตอนท้าย)
- Proxmox อัปเดตเมื่อวันที่ 9/8/21
- คอนเทนเนอร์ทำงานใน LXC, Ubuntu 20
- คอนเทนเนอร์อยู่เบื้องหลังไฟร์วอลล์ OPNSense
- การทดสอบบนเว็บแสดงว่าเซิร์ฟเวอร์เสนอ starttls
- การเรียกใช้ telnet จากเซิร์ฟเวอร์ > เซิร์ฟเวอร์อื่นจะแสดง starttls เป็นตัวเลือก
ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก ขอบคุณ