Làm thế nào để ai đó truy cập vào cluster Kubernetes và các hành động của họ được kiểm soát như thế nào? Bài viết này TTnguyen sẽ giới thiệu về các nguyên tắc bảo mật cơ bản trong Kubernetes.
I. Security Hosts
- Vô hiệu hóa truy cập từ xa (remote access)
- Tắt xác thực dựa trên mật khẩu (password-based authentication)
- Chỉ cho phép xác thực dựa trên khóa SSH (SSH key-based authentication)
II. Secure Kubernetes
Kube-apiserver là trung tâm điều khiển của Kubernetes, quản lý mọi hoạt động. Vì vậy, kiểm soát truy cập vào API server là biện pháp bảo mật đầu tiên. Mình sẽ cần xác định ai được phép truy cập và họ có thể thực hiện những hành động gì.
Xác thực (Authentication):
- Xác định người dùng nào được truy cập vào API server.
- Phương thức xác thực: mật khẩu, token, certificate, xác thực bên ngoài như LDAP, Service Account.
Ủy quyền (Authorization):
- Xác định những hành động người dùng có thể thực hiện sau khi xác thực:
- Phương pháp ủy quyền: RBAC, Attribute-based access control, Node authorizers, webhooks…
Mã hóa TLS: Tất cả các thông tin liên lạc giữa các thành phần của Kubernetes (ETCD, kube-controller-manager, scheduler, API server, Kubelet, kube-proxy) được bảo mật bằng mã hóa TLS.
Chính sách mạng (Network policies): Sử dụng chính sách mạng để hạn chế truy cập giữa các Pod.
Hy vọng bài viết đã cung cấp một cái nhìn tổng quan về các cơ chế bảo mật trong Kubernetes. Cảm ơn bạn đã tham khảo kubernetes cơ bản trên ttnguyen.net.