Score:1

Postfix กำลังได้รับ "ต้องใช้ TLS แต่โฮสต์ไม่ได้เสนอ"

ธง jp

ฉันค้นหาทุกฟอรัม ทุกบทความ ทุกโพสต์ของ 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 เป็นตัวเลือก

ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก ขอบคุณ

anx avatar
fr flag
anx
การทดสอบล่าสุดของคุณที่ตรวจสอบเซิร์ฟเวอร์ของคุณดูแปลก ๆ คุณไม่ได้ถามเกี่ยวกับ *การส่ง* เมลใช่ไหม ดังนั้นจึงต้องการตัดปัญหาเครือข่ายโดยตรวจสอบการเชื่อมต่อ *จาก* เซิร์ฟเวอร์ *ไปยัง* MX ของผู้รับ
Ashley avatar
jp flag
ขออภัย ค่ำคืนนี้ช่างยาวนาน ฉันจะทดสอบกับ gmail และตอบกลับ
Steffen Ullrich avatar
se flag
ฉันเดาว่ามีมิดเดิลบ็อกซ์ในเครือข่ายซึ่งแยก STARTTLS จากการตอบสนองของเซิร์ฟเวอร์เพื่อให้การเชื่อมต่อกับ SMTP ธรรมดา (ไม่มี TLS) และวิเคราะห์จดหมายที่ส่ง ไฟร์วอลล์ต่างๆ สามารถทำได้ ไม่มีอะไรเป็นที่รู้จักเกี่ยวกับสภาพแวดล้อมแม้ว่าคุณจะตั้งค่าเซิร์ฟเวอร์
Michael Hampton avatar
cz flag
ISP ของคุณกำลังสกัดกั้นการรับส่งข้อมูล SMTP ขาออก ติดต่อพวกเขาสำหรับข้อมูลเพิ่มเติม
Ashley avatar
jp flag
เซิร์ฟเวอร์ของฉันอยู่ร่วมกับ Dacentec ฉันใช้ Proxmox เวอร์ชันล่าสุด เซิร์ฟเวอร์เป็นคอนเทนเนอร์ LXC ที่ใช้ Ubuntu 20 (อัปเดต ติดตั้งใหม่) เซิร์ฟเวอร์ Proxmox นั่งอยู่หลังไฟร์วอลล์ OPNSense ทุกอย่างเป็นปัจจุบัน ฉันตรวจสอบการตั้งค่าใน opnsense แล้ว แต่ไม่พบการสกัดกั้น SMTP บนไฟร์วอลล์ของฉัน ISP ของฉัน Dacentec ไม่กรองการรับส่งข้อมูลใด ๆ ที่ฉันทราบ (พวกเขาเป็นศูนย์ข้อมูล) การเชื่อมต่อจากเซิร์ฟเวอร์ไปยังเซิร์ฟเวอร์นอกสถานที่ผ่าน Telnet ทำให้การเริ่มต้นทำงานดีขึ้น ฉันได้ตรวจสอบ opnsense หลายครั้งแล้ว ฉันไม่เห็นอะไรเลยเกี่ยวกับการกรอง SMTP
fr flag
คุณลองใช้คำสั่ง `openssl s_client` เพื่อทดสอบการเชื่อมต่อกับเซิร์ฟเวอร์ของ Google แล้วหรือยัง มีบางอย่างที่บรรทัด: `openssl s_client -connect gmail-smtp-in.l.google.com:25 -starttls smtp`?
anx avatar
fr flag
anx
*โปรด [แก้ไข] คำถามของคุณเพื่อรวมคำสั่งที่คุณลองและผลลัพธ์ของคำสั่งนั้น* มีหลายวิธีที่ผลลัพธ์อาจมีส่วนขยาย แต่ Postfix นั้นถูกต้องโดยถือว่า STARTTLS ไม่ได้เสนอ (แต่คำตอบจะยังคงเหมือนเดิม มีคนเข้ามายุ่งด้วย การเชื่อมต่อของคุณ)
Score:3
ธง jp

ด้วยความช่วยเหลือจากทุกคนที่เซิร์ฟเวอร์ขัดข้อง ฉันเจาะลึกลงไปในปัญหาและพบว่าโฮสต์ของฉันกำลังบล็อก TLS อยู่ หลังจากพูดคุยกับโฮสต์ของฉันและได้รับแจ้งว่าพวกเขาไม่ได้กรอง SMTP ในที่สุดพวกเขาก็ยอมรับว่ากรอง SMTP

ฉันแก้ไขปัญหานี้โดยตั้งค่าเซิร์ฟเวอร์ส่งต่อ VPS ที่โฮสต์อื่น ตอนนี้เซิร์ฟเวอร์หลักของฉันส่งอีเมลผ่านรีเลย์บนพอร์ตที่ไม่ได้มาตรฐาน ด้วยการตั้งค่านี้ ฉันสามารถส่งอีเมลที่ปลอดภัยโดยที่โฮสติ้งของฉันไม่กรองอีเมลเหล่านั้น

ขอขอบคุณอีกครั้งสำหรับความช่วยเหลือ

โพสต์คำตอบ

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