Score:0

ไม่สามารถรับจดหมายขาเข้าผ่าน TLS สำหรับ Postfix SMTP Relay

ธง cn

ฉันมี Postfix Ubuntu VM ที่ทำหน้าที่เป็นเมลรีเลย์เซิร์ฟเวอร์ ซึ่งรับเมลที่พอร์ต 25 และส่งต่อไปยัง Microsoft Exchange ทางออนไลน์เพื่อจัดส่ง สิ่งนี้ทำงานได้ดีมาหลายเดือนแล้ว

ตอนนี้ฉันต้องอนุญาตให้ไคลเอ็นต์ SMTP ซึ่งต้องใช้ TLS เพื่อส่งอีเมลผ่านรีเลย์ด้วย ฉันได้เพิ่มสิ่งต่อไปนี้ใน Postfix main.cf ของฉันแล้ว:

smtpd_tls_security_level = พฤษภาคม
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1
smtpd_tls_chain_files =
        ${cert_path}/cert.pem
        ${cert_path}/chain.pem

อย่างไรก็ตามเมื่อฉันลองใช้การตั้งค่าสถานะ --tls-on-connect ฉันได้รับ "การเชื่อมต่อถูกปฏิเสธ" บนพอร์ต 465 และ 587 พอร์ต 25 ที่ไม่ได้เข้ารหัสแบบเก่ายังคงใช้งานได้ ไฟล์ pem สร้างขึ้นโดย Let's Encrypt และส่วนตัวนับคีย์ส่วนตัวทำงานเพื่อเข้ารหัสเมลขาออกไปยัง Exchange ออนไลน์ ฉันได้ตรวจสอบพวกเขาด้วย:

openssl ตรวจสอบวัตถุประสงค์ sslserver -partial_chain -CAfile /etc/letsencrypt/live/<เซิร์ฟเวอร์ FQDN>/chain.pem /etc/letsencrypt/live/<เซิร์ฟเวอร์ FQDN>/cert.pem

อย่างไรก็ตาม เมื่อฉันพยายามสร้างการเชื่อมต่อ TLS จากไคลเอนต์ SMTP สิ่งนี้จะปรากฏในบันทึก:

18 มี.ค. 14:41:49 น. hermes postfix/smtpd[578652]: คำเตือน: ข้อผิดพลาดในการโหลดเชนจาก /etc/letsencrypt/live/<server FQDN>/cert.pem: คีย์ไม่ใช่ตัวแรก
18 มี.ค. 14:41:49 น. hermes postfix/smtpd[578652]: คำเตือน: เกิดข้อผิดพลาดในการโหลดคีย์ส่วนตัวและใบรับรองจาก: /etc/letsencrypt/live/<server FQDN>/cert.pem,?/etc/letsencrypt/live/< เซิร์ฟเวอร์ FQDN>/chain.pem: ปิดใช้งานการสนับสนุน TLS

ฉันคิดว่าคำถามที่ฉันพบคือวิธีใช้ใบรับรอง Let's Encrypt SSL เพื่อเปิดใช้งาน TLS บนเซิร์ฟเวอร์เมลรีเลย์ของฉัน

Steffen Ullrich avatar
se flag
ยังไม่ชัดเจนสำหรับฉันว่าคุณกำลังพยายามอะไร แต่ถ้าคุณต้องการทดสอบพอร์ต 25 ด้วย TLS ให้ใช้ `--tls` ไม่ใช่ `--tls-on-connect`
Score:1
ธง za

ทั้ง Certbot ของ โซ่ และ ใบรับรอง ไฟล์ไม่มีคีย์ส่วนตัวของเซิร์ฟเวอร์ ข้อความแสดงข้อผิดพลาดทั้งสองเป็นเพียงข้อร้องเรียนเกี่ยวกับเรื่องนั้น คีย์มีเฉพาะใน ความเป็นส่วนตัว ไฟล์.

หากคุณต้องการใช้ไฟล์เดียวที่มีทั้งคีย์และใบรับรอง คุณต้องเชื่อมไฟล์ด้วยตนเอง (เช่น ในโพสต์ฮุค) และตรวจสอบให้แน่ใจว่า ความเป็นส่วนตัว เนื้อหาไปก่อนจากนั้น ใบรับรองแล้ว โซ่ในลำดับที่แน่นอนนี้

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

ฉันใช้ certbot กับ Postfix ดังนี้:

smtpd_tls_cert_file = /etc/letsencrypt/live/example.org/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/example.org/privkey.pem
ru flag
เหมือนกันที่นี่ นอกจากนี้ คุณต้องอย่าลืมรีสตาร์ท postfix เมื่อคีย์ได้รับการอัปเดต (สมมติว่าคุณทำโดยอัตโนมัติ ซึ่งฉันทำ) ดังนั้นในกรณีของฉัน ฉันมีสิ่งนี้ใน /etc/letsencrypt/renewal/example.org.conf: ``` post_hook = systemctl รีสตาร์ท apache2 postfix dovecot ```
Nikita Kipriyanov avatar
za flag
แม้ว่านี่จะเป็นความจริงอย่างแน่นอน แต่เดิมทีคำถามไม่ได้เกี่ยวกับรายละเอียดการใช้งาน certbot แต่เกี่ยวกับการใช้ไฟล์ที่สร้างโดย certbot ใน Postfix
ru flag
และในขณะที่ postfix ตรวจสอบไฟล์อื่น ๆ (ไฟล์ในคิว, ไฟล์การแมป ฯลฯ ) จะไม่ตรวจสอบไฟล์ใบรับรอง นี่คือเหตุผลที่ฉันคิดว่าความคิดเห็นของฉันถูกต้อง

โพสต์คำตอบ

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