Tôi đang làm việc trên một dự án nơi khách hàng trao đổi dữ liệu với các dịch vụ. Chúng tôi đã thiết kế một proxy giữa dịch vụ và ứng dụng khách ẩn danh dữ liệu của người dùng để bất kỳ ai xâm nhập vào cơ sở dữ liệu sẽ chỉ nhận được một lượng lớn dữ liệu vô ích.
Tất nhiên, lớp proxy của chúng tôi cần mở rộng quy mô, vì vậy chúng tôi đặt nó sau bộ cân bằng tải bằng k8s.
Vấn đề là: Load Balancer hiện là SPOF (điểm lỗi duy nhất) trong hệ thống của chúng tôi. Nếu kẻ tấn công kiểm soát nó để làm chậm lưu lượng và chuyển hướng nó đến chỉ một phiên bản proxy của chúng tôi, thì kẻ đó có thể nhận dạng lại và do đó xâm phạm toàn bộ dịch vụ.
Chúng tôi đang điều tra nhiều cách tiếp cận và một trong số đó là "bộ cân bằng không tải". Trong kiến trúc này, mọi máy khách phải truy xuất từ một máy chủ khác (trong mô hình của chúng tôi, hoàn toàn đáng tin cậy) IP của proxy, sau đó chọn ngẫu nhiên một trong số chúng. Sử dụng kỹ thuật này, kẻ tấn công sẽ phải kiểm soát một tỷ lệ lớn khách hàng để đạt được nhận dạng lại, điều này khó hơn nhiều. Và toàn bộ sẽ tự cân bằng.
Tầm nhìn toàn bộ hệ thống này có một nhược điểm rất lớn, vì nó cần một IP công cộng cho từng phiên bản proxy, nhưng nó hoàn toàn giải quyết được vấn đề chính.
Về mặt kỹ thuật, tất cả những điều này đều khả thi. Nhưng còn thế giới thực thì sao? Tôi có rất ít kinh nghiệm với việc triển khai các dịch vụ sản xuất, vì vậy mọi ý kiến đều được hoan nghênh.