Score:0

การเจรจา tls ล้มเหลว ใบรับรองไม่ตรงกับโฮสต์

ธง ru

ฉันพยายามตั้งค่า Gmail send-as เพื่อส่งอีเมลผ่านเซิร์ฟเวอร์ SMTP ผ่าน TLS และฉันได้รับ "การเจรจา tls ล้มเหลว ใบรับรองไม่ตรงกับโฮสต์" นับตั้งแต่ฉันต่ออายุใบรับรองการเข้ารหัสที่อนุญาต

ความเป็นมา: ฉันมีเซิร์ฟเวอร์ที่มี IP เฉพาะที่ใช้ชื่อโดเมนสองสามชื่อร่วมกัน ฉันใช้ virutalmin/webmin ฉันมีปัญหาในการต่ออายุ ดังนั้นฉันจึงเรียกใช้ certbot เพื่อยืนยันด้วยตนเองผ่านระเบียน TXT ฉันสร้างใบรับรองด้วย CN=domain.com และ SANS=domain.com,www.domain.com,mail.domain.com mail.domain.com เป็นการตั้งค่าระเบียน A ที่มี cloudflare ชี้ไปที่ IP โดยตรง (โดยไม่ต้องใช้พร็อกซี) หมายเหตุ ทุกอย่างทำงานได้ดีก่อนหน้านี้ เซิร์ฟเวอร์ใช้หลายโดเมนร่วมกัน โดเมนหลักไม่มีปัญหากับอีเมล ก่อนหน้านี้มันหยุดทำงานสำหรับ dovecot และ postfix เนื่องจากใบรับรองของฉันไม่ได้ต่ออายุกับ mail.domain.com ในรายการ SANS มันใช้งานได้หลังจากแก้ไขแล้ว ฉันมีโดเมนที่สองที่หยุดทำงานกับการส่ง ไม่ได้ใช้ POP3/IMAP เนื่องจากอีเมลจะถูกส่งต่อเท่านั้น

มาเข้ารหัสสร้างไฟล์กันเถอะ ฉันตั้งค่าแผนที่ postfix SNI ให้ชี้ไปที่ไฟล์ใบรับรอง

เมื่อฉันรัน openssl x509 -text ในไฟล์ ฉันเห็น CN และ SANS เมื่อฉันเรียกใช้ openssl s_client -connect mail.domain.com:25 -starttls smtp มันจะแสดงเฉพาะ CN ไม่ใช่ SANS

การส่งอีเมลด้วยโดเมนหลักทำงานได้ดี การส่งอีเมลด้วยโดเมนที่สองทำให้เกิดข้อผิดพลาด opensl ให้ผลลัพธ์เดียวกัน การอ่านไฟล์จะแสดง CN=domain.com และ SANS=domain.com,www.domain.com,mail.domain.com การเชื่อมต่อกับเซิร์ฟเวอร์ smtp จะแสดงเฉพาะ CN สำหรับโดเมนที่เกี่ยวข้อง

ฉันไม่แน่ใจว่า gmail กำลังเปรียบเทียบกับอะไรเมื่อบอกว่า "ใบรับรองไม่ตรงกับโฮสต์" ฉันคิดว่ามันเป็นแค่ CN และ SANS กับชื่อเซิร์ฟเวอร์ แต่อาจจะเป็นอย่างอื่น

anx avatar
fr flag
anx
หากเคยใช้งานได้มาก่อน ให้เปรียบเทียบใบรับรองเพื่อดูความแตกต่างหรือไม่ https://crt.sh เป็นเพื่อนของคุณเพื่อค้นหาใบรับรองใดๆ ที่คุณไม่ได้บันทึกไว้อีกต่อไป
anx avatar
fr flag
anx
ฉันสงสัยว่าคุณกำหนดค่า *สอง* ชื่อที่ไม่เหมือนกัน ทั้งที่ความจริงแล้วเซิร์ฟเวอร์อีเมล *หนึ่ง* ของคุณใช้ชื่อ *หนึ่ง* (ชื่อโฮสต์) โดยไม่คำนึงถึงชื่อโดเมนอื่นๆ ที่เพิ่มในใบรับรองเดียวกัน
ru flag
เปรียบเทียบกับอะไร ฉันไม่รู้ว่า google กำลังเปรียบเทียบกับอะไร ฉันรู้ว่าฉันได้รับอะไรจากเซิร์ฟเวอร์ smtp ฉันไม่รู้ว่า google กำลังเปรียบเทียบกับอะไร ชื่อโฮสต์ของเมลเซิร์ฟเวอร์เป็นชื่อเดียว (เช่น.domain.com) ซึ่งแตกต่างจากชื่อเมลเซิร์ฟเวอร์ (mail.domain.com, mail.domain2.com) mail.domain.com ใช้งานได้ แต่อีกอันไม่ทำงาน
anx avatar
fr flag
anx
แชร์การกำหนดค่าของคุณ (โดยเฉพาะอย่างยิ่ง แผนที่ SNI และคำสั่งที่เกี่ยวข้องที่คุณใช้ในการตรวจสอบว่าไฟล์ใดมีใบรับรองใด) และ/หรือระบุชื่อโดเมนจริง เพื่อให้คนที่ยินดีตอบคำถามนี้สามารถตรวจสอบโดยใช้เครื่องมือของเขาเอง ฉันไม่รู้ว่า Google กำลังทำอะไรอยู่ แต่อย่างน้อยฉันก็สามารถตรวจสอบข้อผิดพลาดทั่วไปได้
anx avatar
fr flag
anx
ปัญหามากมายของการจัดเรียงแบบ *"หยุดทำงาน"* สามารถแก้ไขได้โดยการเปรียบเทียบสถานะก่อน/หลัง ดูเหมือนว่าการกำหนดค่าเซิร์ฟเวอร์อีเมลบางอย่างหรือหัวเรื่องที่ออกใบรับรองมีการเปลี่ยนแปลง ค้นหาใบรับรองที่คุณใช้ก่อนหน้านี้ และใบรับรองใดที่คุณกำลังใช้อยู่ บางทีคุณอาจทำการเปลี่ยนแปลงโดยไม่ได้ตั้งใจระหว่างการต่ออายุที่คุณกล่าวถึง

โพสต์คำตอบ

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