Các nguyên tắc bảo mật cơ bản trong Kubernetes

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

Nếu host bị xâm nhập, toàn bộ hệ thống Kubernetes sẽ không được đảm bảo. Do đó, mình cần phải có các biện pháp như:
Kiểm soát truy cập:
  • 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)
Bảo mật cơ sở hạ tầng: Ngoài ra, cần thực hiện các biện pháp bảo mật cho cả cơ sở hạ tầng vật lý (physical infrastructure) hoặc ảo hóa (virtual infrastructure) lưu trữ Kubernetes.

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.

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em