Score:1

IMAP และ SMTP ยังคงใช้ Self Signed SSL แม้ว่าฉันจะออก Mail Server SSL ใน Cyberpanel แล้วก็ตาม

ธง iq

ฉันใช้ cyberpanel บน CentOS 7 และฉันตั้งค่า SSL สำหรับ postfix และ dovecot แต่ฉันยังคงได้รับ "SSL ไม่ถูกต้อง" เนื่องจาก SSL ที่ลงนามเองแม้ว่าฉันจะกำหนดค่า SSL โดยใช้ Lets Encrypt

นี่คือ /etc/postfix/main.cf

smtpd_tls_cert_file = /etc/letsencrypt/live/mail.domain.net/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.domain.net/privkey.pem

นี่คือ /etc/dovecot/dovecot.conf

ssl_cert = </etc/letsencrypt/live/mail.domain.net/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.domain.net/privkey.pem
....
local_name mail.domain.net {
        ssl_cert = </etc/letsencrypt/live/mail.domain.net/fullchain.pem
        ssl_key = </etc/letsencrypt/live/mail.domain.net/privkey.pem
}

local_name mail.sub.domain.net {
        ssl_cert = </etc/letsencrypt/live/mail.sub.domain.net/fullchain.pem
        ssl_key = </etc/letsencrypt/live/mail.sub.domain.net/privkey.pem
}

นี่คือ /etc/dovecot/conf.d/10-ssl.conf

ssl = จำเป็น
ssl_cert = </etc/letsencrypt/live/mail.domain.net/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.domain.net/privkey.pem

ไฟล์ทั้งหมดชี้ไปที่ไฟล์ SSL ที่ถูกต้อง อย่างไรก็ตาม เมื่อฉันพยายามเข้าสู่ระบบ IMAP และ SMTP โดยใช้ SSL ฉันได้รับข้อผิดพลาด: SSL ไม่ถูกต้องทำให้เกิดใบรับรองที่ลงนามเอง www.example.com (ไม่ใช่ mail.domain.net)

เมื่อฉันตรวจสอบโดยใช้คำสั่ง openssl s_client -servername mail.domain.net -connect mail.domain.net:993

เชื่อมต่อแล้ว(00000003)
ความลึก=0 C = สหรัฐอเมริกา ST = การปฏิเสธ L = สปริงฟิลด์ O = ความผิดปกติ CN = www.example.com
ตรวจสอบข้อผิดพลาด: num=18: ใบรับรองที่ลงนามด้วยตนเอง
ตรวจสอบผลตอบแทน:1
ความลึก=0 C = สหรัฐอเมริกา ST = การปฏิเสธ L = สปริงฟิลด์ O = ความผิดปกติ CN = www.example.com
ตรวจสอบผลตอบแทน:1
---
ห่วงโซ่ใบรับรอง
 0 วินาที:/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com
   ฉัน:/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com
---
ใบรับรองเซิร์ฟเวอร์
-----เริ่มต้นใบรับรอง-----
MIIDizCCAnOgAwIBAgIJAJDbjRXJistMMA0GCSqGSIb3DQEBCwUAMFwxCzAJBgNV
BAYTAlVTMQ8wDQYDVQQIDAZEZW5pYWwxFDASBgNVBAcMC1NwcmluZ2ZpZWxkMQww
CgYDVQQKDANeaXMxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTAeFw0yMTA2Mjcx
NzI0MDBaFw0zMTA2MjUxNzI0MDBaMFwxCzAJBgNVBAYTAlVTMQ8wDQYDVQQIDAZE
ZW5pYWwxFDASBgNVBAcMC1NwcmluZ2ZpZWxkMQwwCgYDVQQKDANEaXMxGDAWBgNV
BAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAMlprp3IA+Hbl43gIyiv0VQ/8DGKI3hH1E2GnVCuZKHbiwQr/j1vtnJIsFUt
r6AVwW+LAvDVT723CgivZMiXtrO1ItsOoU9ifV6w+nak8cFsFJZKaprXgU6dlQk8
K0xVMvqTEJa29v1igusmpl9Kv80cPjUCEMfcIjxvo51Ob0rV3Eyale+yXImj9Va/
YU7aICSvuLlHkPGf8VRtu+HZOyhzBerROikUN6p2hqMIjK2SUh0uUzbBFRwZHL6O
e2E9Bq2QQ0Cr5Fpid/XPwDPdxnGdnGcjNWv14vqeRDwErGpjGzn3FyiXQdAoB3wG
jJauwCAm680NMuH/mTVvUcal1CcCAwEAAaNQME4wHQYDVR0OBBYEFLAfEGhJad43
w9Pf90yeZg3i/AYtMB8GA1UdIwQYMBaAFLAfEGhJad43w9Pf90yeZg3i/AYtMAwG
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJifYgBsDverQjQ+3x8GWbmz
T4qw4uxlPLal8+wZrmuFxkTdXBixtd7xT3J7NPpXK1I/i9SUMsT9EqwMpvtz8Ybi
409QvsCb/LyADPI4eorbGIByYZa+wTHNbLtMa+PybwoHsLANGvwVf35tuXWhV2u7
/PxxvwZwPRXyDiNZYl6CXm282eqUu2iVU7j5+Mon5OCWN82Z5rUU67DFKyhyE6MC
j4tsWO5ylBKhhZ7A5EJd0gqSSIo495XnaNazXr2KeTOfwrBPOj2dHO1CnMnkubJm
wd31QwGht2wX/yGBtRNk+fxrA4ObKgva/bRLYpcZr6axva+vMFmJ2bVC1W3pUmU=
-----จบใบรับรอง-----
เรื่อง=/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com
ผู้ออก=/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com
---
ไม่มีการส่งชื่อ CA ของใบรับรองไคลเอ็นต์
สรุปการลงนามเพียร์: SHA512
คีย์อุณหภูมิเซิร์ฟเวอร์: ECDH, P-256, 256 บิต
---
SSL handshake อ่าน 1590 ไบต์และเขียน 441 ไบต์
---
ใหม่, TLSv1/SSLv3, การเข้ารหัสคือ ECDHE-RSA-AES256-GCM-SHA384
รหัสสาธารณะของเซิร์ฟเวอร์คือ 2048 บิต
รองรับการเจรจาต่อรองใหม่อย่างปลอดภัย
การบีบอัด: ไม่มี
การขยายตัว: ไม่มี
ไม่มีการเจรจา ALPN
เซสชัน SSL:
    โปรโตคอล : TLSv1.2
    รหัส : ECDHE-RSA-AES256-GCM-SHA384
    รหัสเซสชัน: 88F2CCFDE63FE391E9824F596E0C8300E44CB306F969E2A1C0AFE3B75E5A4D74
    เซสชัน-ID-ctx: 
    มาสเตอร์คีย์: E22198E25F15AA193B9E73446CB934276DF90987DFC75B1B74DDAF3247CA8436CDB93B3274102188B3470DF1A4EFB0D1
    Key-Arg : ไม่มี
    Krb5 อาจารย์ใหญ่: ไม่มี
    ตัวตน PSK: ไม่มี
    คำใบ้ประจำตัว PSK: ไม่มี
    คำแนะนำอายุการใช้งานตั๋วเซสชัน TLS: 300 (วินาที)
    ตั๋วเซสชั่น TLS:
    0000 - e6 78 ae 14 e1 04 0d b4-64 82 65 9e 14 โฆษณา 32 9c .x......d.e...2.
    0010 - f3 f0 c2 fd f9 12 5b bf-0f 50 75 79 64 5c bb ba ......[..ปื๊ด\..
    0020 - 31 f6 37 bd 1c b2 e7 dc-d9 02 c7 53 f4 f9 0c a6 1.7.......ส....
    0030 - d4 51 6a 60 6b 34 04 41-fd b3 7d 53 14 ff 1d b4 .Qj`k4.A..}S....
    0040 - a2 82 67 6e da d7 80 02-b0 9f 6d 82 b4 17 72 cf ..gn......m...r.
    0050 - 30 05 54 fc 8c เป็น 60 6d-e5 0f b8 25 04 f3 43 6d 0.T...`m...%..Cm
    0060 - 7e 13 f1 85 02 03 90 a2-50 82 64 43 aa 79 b8 ee ~.......พ.dC.y..
    0070 - 86 08 ef 7a ac 4b c7 86-57 bc 09 a4 9a bb 23 92 ...z.K..W.....#.
    0080 - cb 18 74 a4 90 c5 b1 8b-39 3c cc 69 ee e8 fb 08 ..t.....9<.i....
    0090 - 60 93 ถึง 17 35 d5 58 0d-ee 1b 68 c2 98 d0 e9 9c `...5.X...h.....
    00a0 - f5 a7 24 9b 29 0a 48 6b-70 f8 a5 9a 7c e5 e8 88 ..$.).hkp...|...

    เวลาเริ่มต้น: 1624855926
    หมดเวลา : 300 (วินาที)
    ตรวจสอบรหัสส่งคืน: 18 (ใบรับรองที่ลงนามด้วยตนเอง)
---
+ตกลง Dovecot พร้อมแล้ว

นี่คือการเข้าสู่ระบบเซิร์ฟเวอร์อีเมล การแก้ไขสถานะ systemctl -l

230, การจับมือ TLS: SSL_accept() ล้มเหลว: ข้อผิดพลาด: 14094416: รูทีน SSL: ssl3_read_bytes: ใบรับรองการแจ้งเตือน sslv3 ไม่รู้จัก: การแจ้งเตือน SSL หมายเลข 46, เซสชัน=<RLYR5sLFeh62/Xx7>
28 มิ.ย. 00:42:37 น. mail-domain-net dovecot[574952]: imap-login: ตัดการเชื่อมต่อ (ไม่มีการตรวจสอบสิทธิ์ใน 0 วินาที): user=<>, rip=182.253.XXX.XXX, lip=10.5.224.230, การจับมือ TLS: SSL_accept() ล้มเหลว: ข้อผิดพลาด: 14094416: รูทีน SSL: ssl3_read_bytes: ใบรับรองการแจ้งเตือน sslv3 ไม่รู้จัก: การแจ้งเตือน SSL หมายเลข 46, เซสชัน = <WF4U5sLFlym2/Xx7>
28 มิ.ย. 00:42:38 น. mail-domain-net dovecot[574952]: imap-login: ตัดการเชื่อมต่อ (ไม่มีการตรวจสอบสิทธิ์ใน 0 วินาที): user=<>, rip=182.253.XXX.XXX, lip=10.5.224.230, การจับมือ TLS: SSL_accept() ล้มเหลว: ข้อผิดพลาด: 14094416: รูทีน SSL: ssl3_read_bytes: ใบรับรองการแจ้งเตือน sslv3 ไม่รู้จัก: การแจ้งเตือน SSL หมายเลข 46, เซสชัน = <nasX5sLFoim2/Xx7>
28 มิ.ย. 00:42:38 น. mail-domain-net dovecot[574952]: imap-login: ตัดการเชื่อมต่อ (ไม่มีการตรวจสอบสิทธิ์ใน 0 วินาที): user=<>, rip=182.253.XXX.XXX, lip=10.5.224.230, การจับมือ TLS: SSL_accept() ล้มเหลว: ข้อผิดพลาด: 14094416: รูทีน SSL: ssl3_read_bytes: ใบรับรองการแจ้งเตือน sslv3 ไม่รู้จัก: การแจ้งเตือน SSL หมายเลข 46, เซสชัน = <BFYY5sLFrCm2/Xx7>
28 มิ.ย. 00:42:38 น. mail-domain-net dovecot[574952]: imap-login: ตัดการเชื่อมต่อ (ไม่มีการตรวจสอบสิทธิ์ใน 0 วินาที): user=<>, rip=182.253.XXX.XXX, lip=10.5.224.230, การจับมือ TLS: SSL_accept() ล้มเหลว: ข้อผิดพลาด: 14094416: รูทีน SSL: ssl3_read_bytes: ใบรับรองการแจ้งเตือน sslv3 ไม่รู้จัก: การแจ้งเตือน SSL หมายเลข 46, เซสชัน = <YQkZ5sLFrSm2/Xx7>

โปรดช่วยฉัน ฉันควรตรวจสอบไฟล์หรือการกำหนดค่าใด

jp flag
Dom
คุณเห็นปัญหาการลงชื่อด้วยตนเองในบันทึกที่ไหน ฉันเห็นไคลเอนต์ใน SSLv3 ซึ่งควรถูกห้ามเนื่องจากเทคโนโลยีล้าสมัย
vidarlo avatar
ar flag
คุณรีสตาร์ท dovecot และ postfix หลังจากอัปเดตใบรับรองหรือไม่ ผลลัพธ์ของ `openssl s_client -starttls smtp -showcerts -connect mail.domain.net:25` คืออะไร หากคุณไม่ทำการ Redact โดเมน คนที่นี่จะตรวจสอบให้คุณและให้คำตอบ...
djdomi avatar
za flag
ssl_cert =
xdnroot avatar
iq flag
@Dom ฉันเห็นข้อผิดพลาดนั้นในแอพ GMAIL และในไลบรารี python imaplib
xdnroot avatar
iq flag
@vidarlo ใช่ ฉันได้รีสตาร์ท dovecot และ postfix หลังจากอัพเดต config และใบรับรอง อย่างไรก็ตาม ผลลัพธ์ของ openssl s_client -starttls smtp -showcerts -connect mail.domain.net:25 ยังคงใช้ www.example.com (ใบรับรองที่ลงนามด้วยตนเอง)
xdnroot avatar
iq flag
@djdomi ใช่ เกิดอะไรขึ้นกับสิ่งนั้น?
djdomi avatar
za flag
@xdnroot `ssl_cert = *
xdnroot avatar
iq flag
@djdomi ฉันเพิ่งทำตามรูปแบบการกำหนดค่าเริ่มต้นและได้รับการยืนยันในเอกสารนี้: https://doc.dovecot.org/configuration_manual/dovecot_ssl_configuration/
djdomi avatar
za flag
ท่าทางแปลกๆ ไม่เคยเจออะไรแบบนี้
Paul avatar
cn flag
คุณได้ลองการสนับสนุน CyberPanel แล้วหรือยัง?
Score:0
ธง iq

ฉันแก้ไขปัญหานั้นโดยทำสิ่งต่อไปนี้:

1. กำหนดค่าบันทึก PTR ฉันขอให้ผู้ให้บริการเซิร์ฟเวอร์เพิ่มบันทึก PTR สำหรับที่อยู่ IP ของฉัน ดังนั้น เมื่อคุณค้นหา IP ของคุณ มันจะส่งคืนสิ่งนี้:

$ nslookup 116.193.250.253 130 ⨯
253.250.193.116.in-addr.arpa ชื่อ = mail.yourprimarymailserverdomain.com
253.250.193.116.in-addr.arpa ชื่อ = mail.yoursecondarymailserverdomain.com

ตกลง ฉันใช้สองโดเมนสำหรับเซิร์ฟเวอร์อีเมลของฉัน หากคุณยังคงได้รับ SSL ที่ลงนามด้วยตนเอง ให้ไปที่ขั้นตอนที่ 2

2. กำหนดค่า Postfix และ Dovecot ด้วยตนเอง

สมมติว่าคุณใช้ CyberPanel เวอร์ชันเก่าบางเวอร์ชัน หรือคุณได้สร้างเว็บไซต์แล้วก่อนที่จะอัปเกรดเป็น v1.9.4 คุณสามารถสร้าง mail.domain.com เป็นโดเมนย่อยสำหรับโดเมนหลักของคุณ และอย่าลืมออก SSL สำหรับโดเมนนี้ด้วย

ขั้นตอนที่ 1: เปิดไฟล์ /etc/postfix/main.cf โดยใช้โปรแกรมแก้ไขใดๆ

sudo นาโน /etc/postfix/main.cf

ขั้นตอนที่ 2: แสดงความคิดเห็นสองบรรทัดต่อไปนี้ในไฟล์นั้นโดยเพิ่มเครื่องหมาย # ที่จุดเริ่มต้น

# smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem 
# smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem

ขั้นตอนที่ 3: เพิ่มบรรทัดต่อไปนี้หลังจากเปลี่ยน อย่าลืมแทนที่ YourPrimaryMailServerDomain ด้วยโดเมนของคุณเอง

# จัดเตรียมใบรับรองหลักสำหรับเซิร์ฟเวอร์ เพื่อใช้สำหรับการเชื่อมต่อขาออก 
smtpd_tls_chain_files = /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/privkey.pem, /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/fullchain.pem

ขั้นตอนที่ 4: เพื่อรองรับ SNI คุณต้องเพิ่มบรรทัดต่อไปนี้ในตอนท้าย

# ระบุแผนที่ที่จะใช้เมื่อเปิดใช้งานการสนับสนุน SNI 
tls_server_sni_maps = แฮช:/etc/postfix/vmail_ssl.map

หลังจากทำตามขั้นตอนข้างต้นแล้ว ไฟล์ของคุณควรมีลักษณะดังนี้

# smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
# smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
# จัดเตรียมใบรับรองหลักสำหรับเซิร์ฟเวอร์ เพื่อใช้สำหรับการเชื่อมต่อขาออก
smtpd_tls_chain_files = /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/privkey.pem, /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/fullchain.pem
# ระบุแผนที่ที่จะใช้เมื่อเปิดใช้งานการสนับสนุน SNI
tls_server_sni_maps = แฮช:/etc/postfix/vmail_ssl.map

ขั้นตอนที่ 5: สร้างไฟล์ใหม่ใน /etc/postfix ด้วยชื่อ vmail_ssl.map

sudo touch /etc/postfix/vmail_ssl.map

ขั้นตอนที่ 6: แก้ไขไฟล์เพื่อเพิ่มใบรับรอง SSL ของโดเมนของคุณในรายการในลักษณะนี้

mail.yourprimarymailserverdomain.com /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/privkey.pem /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/fullchain.pem

ขั้นตอนที่ 7 (ไม่บังคับ): หากคุณมีมากกว่าหนึ่งโดเมนที่จะรองรับ ให้เพิ่มทั้งหมดหนึ่งโดเมนต่อบรรทัด ไฟล์ผลลัพธ์ควรมีลักษณะดังนี้

# คอมไพล์ด้วย postmap -F hash:/etc/postfix/vmail_ssl.map เมื่ออัปเดต
# หนึ่งโฮสต์ต่อบรรทัด
mail.yourprimarymailserverdomain.com /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/privkey.pem /etc/letsencrypt/live/mail.yourprimarymailserverdomain.com/fullchain.pem
mail.yoursecondarymailserverdomain.com /etc/letsencrypt/live/mail.yoursecondarymailserverdomain.com/privkey.pem /etc/letsencrypt/live/mail.yoursecondarymailserverdomain.com/fullchain.pem
# เพิ่มโดเมนด้วยคีย์และใบรับรองตามต้องการ

ขั้นตอนที่ 8: เปิด /etc/dovecot/dovecot.conf

sudo nano /etc/dovecot/dovecot.conf

ขั้นตอนที่ 9: ต่อท้ายไฟล์ต่อไปนี้ แทนที่ domain.com ด้วยโดเมนของคุณเอง

local_name mail.domain.com {
  ssl_cert = </etc/letsencrypt/live/mail.domain.com/fullchain.pem
  ssl_key = </etc/letsencrypt/live/mail.domain.com/privkey.pem
}

ขั้นตอนที่ 10: รวบรวม postmap อีกครั้งด้วย SNI โดยใช้คำสั่งต่อไปนี้

postmap -F แฮช:/etc/postfix/vmail_ssl.map

ขั้นตอนที่ 11: รีสตาร์ท Postfix

systemctl รีสตาร์ท postfix

ขั้นตอนที่ 12: รีสตาร์ท Dovecot

systemctl รีสตาร์ท dovecot

เชื่อมต่ออีกครั้งโดยใช้ไคลเอนต์อีเมล และคุณไม่ควรเห็นข้อผิดพลาด

อ้างอิง: https://cyberpanel.net/docs/6-self-signed-ssl-error-on-outlook-thunderbird/

ขอให้โชคดี. :)

โพสต์คำตอบ

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