Score:0

haproxy SSL/TLS Passthrough Proxy ไม่ทำงาน?

ธง gb

ฉันต้องการตั้งค่า haproxy เป็น tcp-proxy อย่างง่าย ด้านล่างนี้คือการกำหนดค่าของฉันเมื่อฉันพยายามส่งอีเมลผ่าน Thunderbird (ชี้ smtp ไปที่ ip_of_my_host:8123) หรือสคริปต์ python อย่างง่าย ฉันได้รับข้อผิดพลาดเกี่ยวกับใบรับรองที่ไม่ถูกต้องหรือข้อผิดพลาดของใบรับรอง ฉันคิดว่าเลเยอร์ 4 ไม่สนใจเรื่องนี้เลย SSL/TLS เป็นคุณสมบัติ L7 ไม่ใช่หรือ แล้วจะตั้งค่าอย่างไรให้ถูกต้อง?

 smtp ส่วนหน้า
  ผูก *:8123
  โหมด tcp
  default_backend smtp-แบ็กเอนด์

  แบ็กเอนด์ smtp-แบ็กเอนด์
  โหมด tcp
  เซิร์ฟเวอร์ s1 smtp.gmail.com:465

https://serversforhackers.com/c/using-ssl-certificates-with-haproxy

ด้วย SSL Pass-Through ไม่จำเป็นต้องสร้างหรือใช้ใบรับรอง SSL ภายใน HProxy เซิร์ฟเวอร์ส่วนหลังสามารถจัดการการเชื่อมต่อ SSL ได้เช่นเดียวกับ พวกเขาต้องการหากมีเซิร์ฟเวอร์เพียงเครื่องเดียวที่ใช้ในสแต็กโดยไม่มี a โหลดบาลานเซอร์

แก้ไข:

  1. สคริปต์หลาม (https://realpython.com/python-send-email/) ไม่ทำงานเลย ฉันได้รับข้อผิดพลาด "ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] การตรวจสอบใบรับรองล้มเหลว: ชื่อโฮสต์ไม่ตรงกัน ใบรับรองไม่ถูกต้องสำหรับ 'jenkins' (_ssl.c:1131)"
  2. Thunderbird ถามเกี่ยวกับใบรับรอง หลังจากที่ฉันอนุญาตแล้ว ฉันสามารถส่งอีเมลผ่าน haproxy ได้
  3. eMClient เหมือนกับ Thunderbird
  4. Mailbird ทำงานอย่างมีเสน่ห์โดยไม่ต้องแจ้งเตือนอะไรเลย เพียงแค่ส่งอีเมลผ่าน haproxy

ดังนั้นฉันสามารถยอมรับได้ว่า passthrough นั้นใช้งานได้ แต่ขึ้นอยู่กับแอปพลิเคชัน

นี่คือผลลัพธ์ของ : openssl s_client -connect 192.168.1.116:8124

เชื่อมต่อแล้ว(00000003)
ไม่สามารถใช้ SSL_get_servername
deep=2 C = US, O = Google Trust Services LLC, CN = GTS Root R1
ตรวจสอบผลตอบแทน:1
เชิงลึก=1 C = สหรัฐอเมริกา O = Google Trust Services LLC, CN = GTS CA 1C3
ตรวจสอบผลตอบแทน:1
ความลึก=0 CN = smtp.gmail.com
ตรวจสอบผลตอบแทน:1
---
ห่วงโซ่ใบรับรอง
 0 วินาที:CN = smtp.gmail.com
   i:C = สหรัฐอเมริกา, O = Google Trust Services LLC, CN = GTS CA 1C3
 1 วินาที:C = สหรัฐอเมริกา, O = Google Trust Services LLC, CN = GTS CA 1C3
   i:C = US, O = Google Trust Services LLC, CN = GTS Root R1
 2 วินาที:C = US, O = Google Trust Services LLC, CN = GTS Root R1
   i:C = BE, O = GlobalSign nv-sa, OU = Root CA, CN = GlobalSign Root CA
---
ใบรับรองเซิร์ฟเวอร์
-----เริ่มต้นใบรับรอง-----
MIIFUTCCBDmgAwIBAgIQSRYB+y12VG0SAAAAAAWnWjANBgkqhkiG9w0BAQsFADBG
MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFFrydXN0IFNlcnZpY2VzIExM
QzETMBEGA1UEAxMKR1RTIENBIDFDMzAeFw0yMjAzMTcxMTE5MzFaFw0yMjA2MDkx
MTE5MzBaMBkxFzAVBgNVBAMTDnNtdHAuZ21haWwuY29tMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAwoXST3b7VMOyFK4HgPcsnwBRZXjb0ZRHZK1LrFJn
kPQpzn/R41Q6YGaWhWd7EdF7fM4ufDiPLQeLER59sX6charYaUQ3XQEk9K8SHBvN
2eIP6ZjLb8GK/xq9dK2aaWWVARDciAIllp1IK+gsiLVMNCJWfVayw+4jPAfbIoe/
KqOXz5TdK/p2/PGdgil21f5EpScGLJpi9Vs/RbDg/oJpRfGKcSzzcxSfVvJjrQQo
q/facRtzjIa5fn2rLwOYS+HGdMOkIIGKAlwVUch6FgYfKmg+JNPGaq5M4PAicLYC
andcj63NQgvbPd67Si1gaHoCE75wZln1nwv/zJb8Hzu7NwIDAQABo4ICZjCCAmIw
DgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQC
MAAwHQYDVR0OBBYEFHS2ZnkMI1DpD4xSgXjLUmX8jhRiMB8GA1UdIwQYMBaAFIp0
f6+Fze6VzT2c0OJGFPNxNR0nMGoGCCsGAQUFBwEBBF4wXDAnBggrBgEFBQcwAYYb
aHR0cDovL29jc3AucGtpLmdvb2cvZ3RzMWMzMDEGCCsGAQUFBzAChiVodHRwOi8v
cGtpLmdvb2cvcmVwby9jZXJ0cy9ndHMxYzMuZGVyMBkGA1UdEQQSMBCCDnNtdHAu
Z21haWwuY29tMCEGA1UdIAQaMBgwCAYGZ4EMAQIBMAwGCisGAQQB1nkCBQMwPAYD
VR0fBDUwMzAxoC+gLYYraHR0cDovL2NybHMucGtpLmdvb2cvZ3RzMWMzL3pkQVR0
MEV4X0ZrLmNybDCCAQMGCisGAQQB1nkCBAIegfQEgfEA7wB1ACl5vvCeOTkh8FZz
n2Old+W+V32cYAr4+U1dJlwlXceEAAAABf5fRoMMAAAQDAEYwRAIgTH4pY6FHZHdo
mlC7sDEEGlVQKHZOWv0V5qX4fA9Tph4CIHdaggWPpGFZIBDLe4dmRjAr0DwWmwny
gQ1JjsTG6q5+AHYAQcjKsd8iRkoQxqE6CUKHXk4xixsD6+tLx2jwkGKWBvYAAAF/
l9Gg8gAABAMARzBFAiBgHDhRWJ8a0jA72hxlRfFUNrQaKqwloW5rltsuRp1E4wIh
AOeFjPUuzL82QRgMzzZ/xA9JtiLM16CTMnFkSmMEmc9BMA0GCSqGSIb3DQEBCwUA
A4IBAQD0JS9BZ+M0kltH4suc75AKXIwPU7qvdf4pYQLeYr0SQb2tV3wBukPpzS/U
3rZIWhxw09Pl9/AmT+Zq2jlZSlhsOMUy+G/k8YXKXgubmqxshbzT20WZrfbwjMxU
wEkDqUulDCwAp6foHRmq4Fpev2jfyw5YiES4ckgwbVfYSoX4+KcSZJo8FNgP83r/
66wsNSR8SP9Irb2bXdsyS0VYh9XkuFyNiA21YAajfJe67i5zDKRWHqwfIBTRgd+J
uOMxobxHDFksjSa6/jrA5meI2k549uraj3C8kvF0H7gQmj4gC7T+BIgZNC8ktkop
/gNu7ubTqU/7jBt/TxvAQRnQASZN
-----จบใบรับรอง-----
เรื่อง=CN = smtp.gmail.com

ผู้ออก = C = สหรัฐอเมริกา, O = Google Trust Services LLC, CN = GTS CA 1C3

---
ไม่มีการส่งชื่อ CA ของใบรับรองไคลเอ็นต์
สรุปการลงนามเพียร์: SHA256
ประเภทลายเซ็นเพียร์: RSA-PSS
คีย์อุณหภูมิเซิร์ฟเวอร์: X25519, 253 บิต
---
การจับมือ SSL อ่าน 4681 ไบต์และเขียน 363 ไบต์
การยืนยัน: ตกลง
---
ใหม่ TLSv1.3 การเข้ารหัสคือ TLS_AES_256_GCM_SHA384
รหัสสาธารณะของเซิร์ฟเวอร์คือ 2048 บิต
ไม่สนับสนุนการเจรจาใหม่อย่างปลอดภัย
การบีบอัด: ไม่มี
การขยายตัว: ไม่มี
ไม่มีการเจรจา ALPN
ข้อมูลต้นไม่ได้ถูกส่ง
ตรวจสอบรหัสส่งคืน: 0 (ตกลง)
---
---
ตั๋วเซสชันใหม่หลังงานจับมือมาถึงแล้ว:
เซสชัน SSL:
    โปรโตคอล : TLSv1.3
    รหัส : TLS_AES_256_GCM_SHA384
    รหัสเซสชัน: B92656EA56305FBE58002428D4E3A798D6E2C771989210B180A04AA8956ADFD6
    เซสชัน-ID-ctx:
    การเริ่มต้นใหม่ PSK: E35D5877C3D7768E597B3E977E6699ABE845D0B0F1EEF12C59914BAA062E7B1BFD523C9E2C89D13EAE4F691FB4A755A9
    ตัวตน PSK: ไม่มี
    คำใบ้ประจำตัว PSK: ไม่มี
    ชื่อผู้ใช้ SRP: ไม่มี
    คำใบ้อายุการใช้งานตั๋วเซสชัน TLS: 172800 (วินาที)
    ตั๋วเซสชั่น TLS:
    0000 - 01 5f fd b4 ca df f2 bc-32 6e 8b 6b 4c 91 2a c2 ._......2n.kL.*.
    0010 - d1 3f a5 73 2c 56 6f e0-ce 0d 33 39 c1 21 f1 42 .?.s,Vo...39.!.B
    0020 - 29 73 14 4c 1e e4 ce 9d-a5 0f 5a 65 49 72 b6 0f )s.L......ZeIr..
    0030 - 6b d5 f4 68 cd ba 7c 46-71 f2 e6 8e f9 54 49 5b k..h..|Fq....TI[
    0040 - 1a 71 fd 6e 8e 19 a5 93-80 30 38 28 6d db 27 57 .q.n.....08(m.'W
    0050 - a6 86 aa 6c 4d ab 01 1a-2b a9 62 d0 a5 d5 94 58 ...lM...+.b....X
    0060 - 02 62 8a c1 89 46 ถึง bc-53 57 92 c5 b7 72 11 32 .b...F..SW...r.2
    0070 - e6 05 22 e2 88 6c 46 4a-bf 5d 06 17 2f 49 86 aa .."..lFJ.]../I..
    0080 - 89 37 4e 48 88 1f 57 32-61 ac ea d6 91 d6 07 85 .7NH..W2a.......
    0090 - 18 63 0e bd bb f2 25 03-05 8c 4e bb 90 8e 3f 12 .c....%...N...?.
    00a0 - 69 54 97 e9 23 64 7c 26-91 39 f1 05 db 92 2a f7 iT..#d|&.9....*.
    00b0 - eb 6f 42 51 19 73 33 29-92 52 1d a9 99 60 a8 f8 .oBQ.s3).R...`..
    00c0 - 14 78 21 50 d0 37 36 62-3c 70 2f c7 41 cf cd 5d .x!P.76b<p/.A..]
    00d0 - a3 b0 d7 1a 0f b5 b2 7a-7b dc 2b 10 af ae 68 94 .......z{.+...h.
    00e0 - 8d 59 d3 7d a7 dd fb 2e-8a ff c2 9e .Y.}........

    เวลาเริ่มต้น: 1648990924
    หมดเวลา : 7200 (วินาที)
    ตรวจสอบรหัสส่งคืน: 0 (ตกลง)
    ความลับหลักเพิ่มเติม: ไม่
    ข้อมูลต้นทางสูงสุด: 0
---
อ่าน R BLOCK
---
ตั๋วเซสชันใหม่หลังงานจับมือมาถึงแล้ว:
เซสชัน SSL:
    โปรโตคอล : TLSv1.3
    รหัส : TLS_AES_256_GCM_SHA384
    รหัสเซสชัน: 19DC37EC5E7DC298C40A28812BACBBAF30D53BEB2B53EDC681BB32847542F93E
    เซสชัน-ID-ctx:
    การเริ่มต้นใหม่ PSK: 13A0BEF271F8B729BBC484EA4DB724F3D28EE3A225D210B9C7EC5056EE86656B234BBD45E405CF7791EB5E1F45A48366
    ตัวตน PSK: ไม่มี
    คำใบ้ประจำตัว PSK: ไม่มี
    ชื่อผู้ใช้ SRP: ไม่มี
    คำใบ้อายุการใช้งานตั๋วเซสชัน TLS: 172800 (วินาที)
    ตั๋วเซสชั่น TLS:
    0000 - 01 5f fd b4 ca df f2 bc-32 6e 8b 6b 4c 91 2a c2 ._......2n.kL.*.
    0010 - c1 f4 fe 02 6c 1e ab ​​8d-e6 a4 6a 16 d8 eb c6 d7 ....l.....j.....
    0020 - 2f 9b e4 87 ed 76 73 ae-2b c7 a7 36 81 a0 64 1a /....vs.+..6..d.
    0030 - 58 39 67 9c 2d bd be 74-b4 05 6a d8 a4 73 02 81 X9g.-..t.j..s..
    0040 - a5 13 2f 3f 83 f6 9f 57-49 61 41 b3 64 52 e2 8f ../?...WIaA.dR..
    0050 - 2d 0c 36 af b2 bb c8 3d-21 77 9b 0f 06 8d 55 c2 -.6....=!w....U.
    0060 - 6b 02 d1 05 dd 7c 51 70-f3 ee c2 66 07 1c 53 d9 k....|Qp...f..S.
    0070 - b7 6d 52 28 8e 5b 76 53-3d 07 3c 3c 4c ab f6 31 .mR(.[vS=.<<L..1
    0080 - 76 f9 a9 a2 ee a2 65 24-7d 2e 9a 6c 9a 4d 5d bd v.....e$}..l.M].
    0090 - 80 4f 37 32 b8 59 d3 b7-e1 ae 54 15 61 0a d6 e3 .O72.Y....T.a...
    00a0 - b8 7c bf 0f c6 47 74 64-71 42 fe 03 13 3b 0c 87 .|...GtdqB...;..
    00b0 - 0c 7f e7 3c 10 93 b9 d9-33 26 6b 6c f1 c4 c2 89 ....<....3&kl....
    00c0 - 18 75 b2 c7 11 8a 64 1b-09 36 56 00 27 9e d0 30 .u....d..6V.'..0
    00d0 - 7e f1 1e e5 f4 ซีซี 15 ba-0c 41 ee 28 13 3b c8 33 ~........ก.(.;.3
    00e0 - 79 d6 a0 e5 59 61 03 53-da 91 7b 32 y...Ya.S..{2

    เวลาเริ่มต้น: 1648990924
    หมดเวลา : 7200 (วินาที)
    ตรวจสอบรหัสส่งคืน: 0 (ตกลง)
    ความลับหลักเพิ่มเติม: ไม่
    ข้อมูลต้นทางสูงสุด: 0
---
อ่าน R BLOCK
220 smtp.gmail.com ESMTP a3-20020a195f43000000b0044a997dea6bsm821316lfj.288 - gsmtp
vidarlo avatar
ar flag
ส่งจริงใบอะไร แบ็กเอนด์ใช้ใบรับรองใด คุณสามารถยืนยันได้โดยใช้ `openssl s_client -connect ip:port` โปรด [แก้ไข] คำถามของคุณเพื่อรวมข้อมูลนี้
Score:1
ธง in

เนื่องจากคุณผ่านการเชื่อมต่อไปยัง Gmail ไคลเอ็นต์จึงได้รับใบรับรอง Gmail ซึ่งเห็นได้ชัดว่าใช้ได้กับโฮสต์ Gmail เท่านั้น

ใบรับรองต้องมีชื่อโฮสต์ที่คุณกำลังเชื่อมต่อด้วย มิฉะนั้นจะไม่ถูกต้อง

เนื่องจากใบรับรอง Gmail ไม่มีที่อยู่ IP หรือชื่อโฮสต์ใดๆ ของคุณ จึงถือว่าไม่ถูกต้องในมุมมองของไคลเอ็นต์

คุณต้องกำหนดค่าเซิร์ฟเวอร์ DNS ในเครื่องของคุณเพื่อแก้ไข smtp.gmail.com เป็นที่อยู่ IP ของคุณเอง หรือคุณต้องใช้การยกเลิก SSL บน haproxy ของคุณ

Joshua avatar
gb flag
ฉันควรใช้การยกเลิก SSL ด้วยใบรับรองที่ลงนามด้วยตนเองหรือไม่
in flag
หากคุณไม่รังเกียจที่จะต้องเชื่อถือใบรับรองในไคลเอนต์ทั้งหมด ... ในทางกลับกัน การเข้ารหัสนั้นฟรีและการตั้งค่า CA ของคุณเองก็ไม่ใช่เรื่องยาก ขึ้นอยู่กับกรณีการใช้งานของคุณ

โพสต์คำตอบ

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