แต่ละเซิร์ฟเวอร์ที่อยู่เบื้องหลัง load balancer ต้องการใบรับรอง SSL ของตัวเองหรือไม่


66

หากคุณมี 5 เว็บเซิร์ฟเวอร์ที่อยู่เบื้องหลัง load balancer (เช่น haproxy) และพวกเขากำลังให้บริการเนื้อหาสำหรับโดเมนเดียวกันคุณต้องการใบรับรอง SSL สำหรับเซิร์ฟเวอร์ทั้งหมดหรือคุณสามารถใช้ใบรับรองเดียวกันในแต่ละเซิร์ฟเวอร์ได้หรือไม่?

ฉันรู้ว่าคุณสามารถใส่คำขอ SSL ทั้งหมดบนเซิร์ฟเวอร์เฉพาะ แต่ต้องใช้ข้อมูลเซสชันแบบกระจายและหวังว่าจะไม่เกิดขึ้น

คำตอบ:


66

หากคุณมี 5 เว็บเซิร์ฟเวอร์ที่อยู่เบื้องหลัง load balancer (... ) คุณจำเป็นต้องมีใบรับรอง SSL สำหรับเซิร์ฟเวอร์ทั้งหมดหรือไม่

มันขึ้นอยู่กับ.

ถ้าคุณทำโหลดบาลานซ์บน TCP หรือ IP เลเยอร์ (OSI ชั้น 4/3, aka L4, L3) แล้วใช่เซิร์ฟเวอร์ HTTP ทั้งหมดจะต้องติดตั้งใบรับรอง SSL

หากคุณโหลดบาลานซ์ในเลเยอร์ HTTPS (L7) คุณจะต้องติดตั้งใบรับรองบน ​​load balancer เพียงอย่างเดียวและใช้ HTTP ที่ไม่ได้เข้ารหัสแบบธรรมดาผ่านเครือข่ายท้องถิ่นระหว่าง load balancer และ webservers (เพื่อประสิทธิภาพที่ดีที่สุดใน เว็บเซิร์ฟเวอร์)

หากคุณมีการติดตั้งขนาดใหญ่แสดงว่าคุณกำลังใช้อินเทอร์เน็ต -> L3 โหลดบาลานซ์ -> เลเยอร์ของ L7 SSL concentrators -> โหลดบาลานซ์ -> เลเยอร์ของแอปพลิเคชันเซิร์ฟเวอร์ L7 HTTP ...

วิลลี่ Tarreau, ผู้เขียนของ HAProxy มีภาพรวมที่ดีจริงๆของวิธีการที่ยอมรับของ load balancing HTTP

หากคุณติดตั้งใบรับรองในแต่ละเซิร์ฟเวอร์ต้องแน่ใจว่าได้รับใบรับรองที่รองรับสิ่งนี้ โดยปกติสามารถติดตั้งใบรับรองบนเซิร์ฟเวอร์หลายเครื่องตราบใดที่เซิร์ฟเวอร์ให้บริการปริมาณการใช้งานสำหรับชื่อโดเมนที่ผ่านการรับรองเท่านั้น แต่ตรวจสอบสิ่งที่คุณกำลังซื้อผู้ออกใบรับรองสามารถมีกลุ่มผลิตภัณฑ์ที่สับสน ...


1
คุณสามารถซื้อใบรับรองด้วยชื่อสำรองของหัวเรื่องจากผู้ออกหลายรายในขณะนี้ ฟิลด์ SAN อนุญาตใบรับรองที่ถูกต้องสำหรับ FQDN หลายรายการ คำเตือน ... อาจมีปัญหาบางอย่างกับเว็บไคลเอ็นต์รุ่นเก่า (IE6!) ในบางกรณีลูกค้าจะไม่อ่านแอตทริบิวต์ SAN หากแอตทริบิวต์เรื่องมี FQDN ที่ไม่ถูกต้อง
Ryan Fisher

4
บวก 1 สำหรับการเชื่อมโยงไปยังบทความที่ยอดเยี่ยมโดย Willy Tarreau
Nathan Hartley

ในการติดตั้งขนาดกลางถึงใหญ่การทำ SSL offloading ที่ Big IP หรือ load-balancer อื่น ๆ (ตัวเลือกที่สองที่ระบุไว้ด้านบน) มีข้อดีของการทำงานที่เร็วขึ้นปรับขนาดได้มากขึ้นซับซ้อนน้อยลง (โดยทั่วไปหนึ่งใบรับรองบน ​​LB) สิทธิ์การใช้งาน (หลายโดเมนและ SAN certs รับราคาแพง)
Darrell Teague

15

คุณควรจะสามารถใช้ใบรับรองเดียวกันในแต่ละเซิร์ฟเวอร์ หากเว็บไซต์ของคุณคือ www.gathright.com คุณควรจะซื้อใบรับรองสำหรับ FQDN นั้นได้ จากนั้นคุณติดตั้งลงในเซิร์ฟเวอร์ทั้งห้าของคุณที่อยู่ด้านหลังตัวปรับสมดุล

หรือคุณสามารถขอรับใบรับรองแยกต่างหากสำหรับแต่ละเว็บเซิร์ฟเวอร์ แต่รวม 'www.gathright.com' เป็น "ชื่อสำรองของหัวเรื่อง" ซึ่งหมายความว่า 5 certs แต่ละรายการจะใช้ได้สำหรับ SSL กับ FQDN ทั่วไปและ SSL ไปยังเซิร์ฟเวอร์เฉพาะ FQDN


6
เพื่อชี้แจงการตอบสนองนี้คุณจะติดตั้งใบรับรองบนเซิร์ฟเวอร์ที่สร้างการร้องขอ จากนั้นคุณจะส่งออกใบรับรองจากเซิร์ฟเวอร์นั้นพร้อมกับรหัสส่วนตัวเพื่อนำเข้าใบรับรองบนเซิร์ฟเวอร์อื่น
ชาร์ลส์

D'โอ้! ใช่ฉันลืมที่จะพูดถึงว่าคุณต้องส่งออกคีย์ส่วนตัว ขอบคุณชาร์ลส์
Ryan Fisher

แต่ถ้าฉันใช้ SAN certs ในแต่ละเซิร์ฟเวอร์พวกเขาแต่ละคนต้องการรหัสส่วนตัวที่เหมือนกันหรือไม่
anschoewe

@ anchoewe ไม่ พวกเขาแต่ละคนจะมีรหัสส่วนตัวของตัวเองและคุณจะต้องจ่ายราคา x5 หากคุณมีคอมพิวเตอร์ 5 เครื่อง
Alexis Wilke

1
@AlexisWilke - ไม่แน่ใจว่ามันหมายถึงอะไร: หากพวกเขาใช้ใบรับรอง SAN พวกเขาต้องการเพียงหนึ่งใบรับรองดังนั้นจึงมีกุญแจหนึ่งปุ่มและด้วยราคา 1 รายการ SAN certs สามารถใช้กับเซิร์ฟเวอร์หลายเครื่องเพื่อให้บริการหนึ่งโดเมนขึ้นไป ราคาขึ้นไปเมื่อมีการเพิ่มโดเมนไม่เมื่อมีการเพิ่มเซิร์ฟเวอร์
dwanderson

12

ใช่คุณสามารถใช้ใบรับรองเดียวกันและคีย์ส่วนตัวที่เชื่อมโยงกับเซิร์ฟเวอร์ทั้งหมดของคุณหากพวกเขาอยู่ด้านหลัง load balancer หรือ load balancing reverse proxy และหากพวกเขาทั้งหมดให้บริการเนื้อหาสำหรับโดเมนเดียวกัน

ใบรับรองเมื่อลงนามโดยหน่วยงานผู้ออกใบรับรองยืนยันว่าหน่วยงานผู้ออกใบรับรองรับรองชื่อในรายการใบรับรอง สำหรับใบรับรองสำหรับเว็บไซต์นั่นหมายถึงชื่อโดเมนของเว็บไซต์ เบราว์เซอร์ของคุณคาดว่าเซิร์ฟเวอร์ที่กำลังพูดถึงหากกำลังพูดถึง HTTPS แสดงใบรับรองที่มีชื่อเดียวกันกับชื่อโดเมนที่เบราว์เซอร์คิดว่ากำลังพูดถึง (ตัวอย่างเช่น VeriSign ไม่น่าจะลงนามใบรับรอง Hacker Joe สำหรับ bankofamerica.com ดังนั้นแม้ว่า Hacker Joe จะจัดการกับการรับส่งข้อมูลระหว่างคุณและ bankofamerica.com Hacker Joe จะไม่มีใบรับรองที่ลงนามสำหรับ bankofamerica.com และเบราว์เซอร์ของคุณ จะวางธงคำเตือนสีแดงขนาดใหญ่ไว้ทั่วทุกแห่ง)

สิ่งสำคัญคือชื่อบนใบรับรองตรงกับชื่อโดเมนที่เบราว์เซอร์คิดว่ากำลังคุยอยู่ คุณสามารถใช้ใบรับรองเดียวกัน (พร้อมกับกุญแจส่วนตัวที่เกี่ยวข้อง) ซึ่งมีชื่อที่ถูกต้องในหลาย ๆ เว็บเซิร์ฟเวอร์ในเว็บคลัสเตอร์ตราบใดที่มันอยู่ด้านหลังตัวโหลดบาลานซ์

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


6

การตั้งค่าของเราทำงานได้ดีมาก:

https trafic
     |
   pound
     |
http traffic
     |
  haproxy
     |
http traffic 
     |
web server 1 ... web server n

ด้วยวิธีนี้ปอนด์ถอดรหัสการรับส่งข้อมูลจากที่นี่ในทุกสิ่งนั้นคือ http ตรง ข้อดี: การกำหนดค่าน้อยลงบนเว็บเซิร์ฟเวอร์หนึ่งเครื่องมือสำหรับแต่ละงาน คุณสามารถใช้ CPU สูงสุดในเครื่องปอนด์และทำให้เว็บเซิร์ฟเวอร์ "ปกติ" คุณควรได้รับอย่างน้อยสองอย่าง (ปอนด์, haproxy, เว็บเซิร์ฟเวอร์) หากสถานะการออนไลน์เป็นสิ่งสำคัญ


2
สิ่งนี้จะถือว่าคอมพิวเตอร์ส่วนหลังของคุณอยู่ในเครือข่ายส่วนตัวที่ปลอดภัย ในเมฆนั่นไม่ใช่กรณีเสมอไป ...
อเล็กซิสวิลเก

3

AFAIR คุณสามารถใช้ใบรับรองเดียวกันในแต่ละเซิร์ฟเวอร์ คุณยังสามารถใช้ตัวเร่งความเร็ว SSL และลดปริมาณการรับส่งข้อมูล SSL ทั้งหมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.