➔ Trở về Trang chủ
OrangeCloud Insights
Security••⏱️ 4 phút đọc•Biên tập: OrangeCloud Insights (AI-assisted)•Nguồn: aws.amazon.com – Ajinkya Patil
Bảo mật Kubernetes đa người dùng: Giải pháp mTLS và Kinesis Video Streams

Bảo mật Kubernetes đa người dùng: Giải pháp mTLS và Kinesis Video Streams

Tóm tắt kỹ thuật (TL;DR)

"This article details an architecture for securing multi-tenant Kubernetes clusters, specifically addressing unencrypted protocols like ADB, VNC, and WebRTC. It proposes using namespace-scoped mutual TLS (mTLS) gateways, managed TURN relay via Amazon Kinesis Video Streams, and JWT identity chains to enhance security and scalability. The solution aims to replace less secure patterns like bastion hosts and self-managed TURN servers."

🛡️ Tác động Bảo mật7/10

Việc sử dụng các giao thức không mã hóa như ADB và VNC có thể dẫn đến rò rỉ dữ liệu và tấn công trung gian (man-in-the-middle). Giải pháp này giảm thiểu rủi ro bằng cách áp dụng mTLS và mã hóa toàn bộ luồng dữ liệu.

💼 Tác động Vận hành6/10

Việc triển khai giải pháp này giúp các doanh nghiệp giảm chi phí vận hành liên quan đến quản lý server TURN và bastion host. Đồng thời, nó nâng cao bảo mật cho các ứng dụng sử dụng các giao thức không an toàn, giảm thiểu rủi ro về tuân thủ quy định.

AWS vừa công bố kiến trúc bảo mật cho Kubernetes đa người dùng, tập trung vào các giao thức không mã hóa như ADB, VNC và WebRTC. Giải pháp này sử dụng gateway mTLS (mutual TLS) giới hạn trong namespace, dịch vụ TURN relay được quản lý qua Amazon Kinesis Video Streams và chuỗi JWT (JSON Web Tokens) để tăng cường bảo mật và khả năng mở rộng.

Kiến trúc này thay thế các phương pháp kém an toàn hơn như sử dụng bastion host và tự quản lý server TURN. Với các kỹ sư DevOps tại Việt Nam đang triển khai Kubernetes, việc giảm thiểu rủi ro từ các giao thức cũ là rất quan trọng.

Thách thức: Giao thức không xác thực trong Kubernetes đa người dùng

ADB, công cụ dòng lệnh giao tiếp với thiết bị Android, cần proxy hoặc API tùy chỉnh để xác thực; kênh không mã hóa của nó có thể lộ dữ liệu. VNC, giao thức truy cập máy tính từ xa, và các dịch vụ TCP tương tự cũng gặp vấn đề tương tự: thông tin đăng nhập chỉ cục bộ, không liên kết với nguồn xác thực tập trung.

Trong triển khai Cuttlefish (môi trường Android ảo của Google), phương pháp trước đây định tuyến lưu lượng qua bastion host đến control plane của Amazon EKS (Elastic Kubernetes Service), như Hình 1. Phương pháp này phổ biến nhưng không tối ưu cho môi trường yêu cầu độ trễ thấp.

Hạn chế của hạ tầng TURN tự quản lý

TURN server (media relay) cần thiết khi các bên giao tiếp nằm sau NAT Gateway và không thể thiết lập kết nối trực tiếp. Triển khai ban đầu sử dụng STUNner, một gateway STUN/TURN mã nguồn mở cho WebRTC. STUNner gây ra ba vấn đề về vận hành và bảo mật: thiếu tích hợp với dịch vụ AWS và IdP (Identity Provider), gánh nặng quản lý và mở rộng, và gián đoạn kết nối WebRTC khi tải cao.

Server báo hiệu WebRTC cũng tạo rủi ro bảo mật. WebRTC mã hóa media bằng DTLS và SRTP, nhưng không định nghĩa xác thực hoặc mã hóa cho server báo hiệu, đòi hỏi triển khai tùy chỉnh. Kiến trúc này vẫn giữ server báo hiệu mặc định của Cuttlefish, với xác thực dựa trên JWT và TLS termination ở endpoint.

Gateway mTLS giới hạn namespace và relay media được quản lý

Kiến trúc mới giữ lại cách ly namespace, xác thực dựa trên JWT, API ủy quyền tùy chỉnh và patch Cuttlefish. Các thành phần tái sử dụng bao gồm Envoy Gateway cho proxy TCP xác thực mTLS, cert-manager và AWS Private CA để xoay vòng chứng chỉ, và Kinesis Video Streams làm nhà cung cấp TURN được quản lý. Gateway mTLS yêu cầu network policy mặc định từ chối trong mỗi namespace.

Câu hỏi thường gặp

mTLS là gì?

mTLS (mutual TLS) là cơ chế xác thực hai chiều, trong đó cả client và server đều trình bày chứng chỉ để xác minh lẫn nhau. Điều này tăng cường bảo mật so với các giao thức chỉ sử dụng tên người dùng/mật khẩu.

Kinesis Video Streams được sử dụng để làm gì trong kiến trúc này?

Kinesis Video Streams cung cấp dịch vụ TURN relay được quản lý, giúp xử lý các kết nối media (như WebRTC) khi các bên giao tiếp nằm sau NAT Gateway. Nó giảm gánh nặng vận hành so với việc tự triển khai và quản lý server TURN.

JWT đóng vai trò gì trong giải pháp này?

JWT (JSON Web Tokens) được sử dụng để xác thực người dùng và liên kết họ với vai trò trong hệ thống. Chuỗi JWT được liên kết với AWS Security Token Service (AWS STS) để theo dõi hoạt động của từng người dùng trong audit log.

Góc nhìn của Orange Cloud

Theo chúng tôi, việc sử dụng Kinesis Video Streams để quản lý TURN relay là một điểm đáng chú ý. Nó giúp giảm gánh nặng vận hành so với việc tự quản lý server TURN. Các doanh nghiệp Việt Nam có thể tiết kiệm chi phí và thời gian bảo trì bằng cách tận dụng dịch vụ này. Tuy nhiên, cần cân nhắc chi phí sử dụng Kinesis Video Streams so với việc tự triển khai. Hiện tại, giải pháp này phù hợp hơn với các ứng dụng yêu cầu độ tin cậy cao và khả năng mở rộng, hơn là các dự án nhỏ.

Xem nguồn tin gốc để kiểm tra kỹ hơn các thông số kỹ thuật:Xem nguồn tin gốc ➔