ฉันกำลังทำงานในโครงการที่ลูกค้าแลกเปลี่ยนข้อมูลกับบริการต่างๆ เราออกแบบพร็อกซีระหว่างบริการและไคลเอนต์โดยไม่เปิดเผยข้อมูลของผู้ใช้ ดังนั้นใครก็ตามที่เจาะเข้าไปในฐานข้อมูลจะได้รับแต่ข้อมูลที่ไร้ประโยชน์จำนวนมหาศาล
แน่นอนว่าเลเยอร์พร็อกซีของเราจำเป็นต้องปรับขนาด ดังนั้นเราจึงวางไว้หลังตัวโหลดบาลานเซอร์โดยใช้ k8s
ปัญหาคือ: ปัจจุบัน Load Balancer เป็น SPOF (จุดเดียวของความล้มเหลว) ของระบบของเรา หากผู้โจมตีควบคุมให้ผู้โจมตีชะลอการรับส่งข้อมูลและเปลี่ยนเส้นทางไปยังพร็อกซีของเราเพียงอินสแตนซ์เดียว ผู้โจมตีก็จะสามารถระบุตัวตนซ้ำและทำให้บริการทั้งหมดเสียหายได้
เรากำลังตรวจสอบหลายวิธี และหนึ่งในนั้นคือ "ไม่มีโหลดบาลานเซอร์" ในสถาปัตยกรรมนี้ ไคลเอ็นต์ทุกรายต้องดึง IP พร็อกซีจากเซิร์ฟเวอร์อื่น (ซึ่งในโมเดลของเราเชื่อถือได้อย่างสมบูรณ์) จากนั้นเลือกหนึ่งในนั้นแบบสุ่ม เมื่อใช้เทคนิคนี้ ผู้โจมตีจะต้องควบคุมลูกค้าจำนวนมากเพื่อให้ระบุตัวตนซ้ำได้ ซึ่งยากกว่ามาก และทั้งหมดจะสมดุลในตัวเอง
วิสัยทัศน์ของทั้งระบบนี้มีข้อเสียเปรียบอย่างมาก เนื่องจากมันต้องการ IP สาธารณะสำหรับแต่ละอินสแตนซ์ของพร็อกซี แต่ก็สามารถกำจัดปัญหาหลักได้อย่างสมบูรณ์
ในทางเทคนิคแล้ว ทั้งหมดนี้เป็นไปได้ แต่โลกแห่งความเป็นจริงล่ะ? ฉันมีประสบการณ์น้อยมากในการปรับใช้บริการการผลิต ดังนั้นความคิดเห็นใด ๆ ก็ยินดีต้อนรับ