Quay lại danh sách
Tin tức công nghệ

Tự Host Kho Lưu Trữ Docker Image và Helm Chart Bảo Mật Tuyệt Đối Bằng Dự Án Harbor Trên VPS Linux

7 tháng 6, 2026

Giới thiệu về xu hướng tự host kho lưu trữ Container

Trong kỷ nguyên của điện toán đám mây và kiến trúc microservices, Docker và Kubernetes đã trở thành những tiêu chuẩn công nghiệp không thể thay thế. Đi kèm với sự phát triển này là nhu cầu quản lý một số lượng lớn các Docker Image và Helm Chart. Thông thường, các doanh nghiệp thường tìm đến các dịch vụ đám mây công cộng như Docker Hub, AWS ECR hay Google Artifact Registry. Tuy nhiên, chi phí băng thông, dung lượng lưu trữ tăng cao cùng với những lo ngại về bảo mật dữ liệu nội bộ đang thúc đẩy một xu hướng mới: Tự host kho lưu trữ riêng (Self-hosted Registry).

Nếu doanh nghiệp của bạn đang tìm kiếm một giải pháp vừa tiết kiệm chi phí, vừa đảm bảo tính riêng tư và bảo mật tuyệt đối cho mã nguồn của mình, thì Harbor chính là câu trả lời hoàn hảo. Được phát triển bởi VMware và hiện là dự án tốt nghiệp (Graduated) của Cloud Native Computing Foundation (CNCF), Harbor không chỉ là một kho lưu trữ thông thường mà còn là một hệ thống quản lý tài nguyên doanh nghiệp toàn diện.

---

Tại sao nên chọn Harbor thay vì Docker Hub hay các giải pháp khác?

Harbor vượt trội hơn các giải pháp lưu trữ mã nguồn mở khác nhờ vào hệ sinh thái tính năng được thiết kế chuyên biệt cho môi trường doanh nghiệp. Dưới đây là những lý do cốt lõi vì sao Harbor trở thành lựa chọn hàng đầu:

  • Quản lý phân quyền mạnh mẽ (RBAC): Harbor cho phép bạn tích hợp với hệ thống định danh sẵn có như LDAP/Active Directory hoặc OIDC (Okta, Keycloak), giúp kiểm soát chi tiết ai có quyền xem, đẩy (push) hoặc kéo (pull) các image.
  • Quét lỗ hổng bảo mật tự động: Tích hợp sẵn các công cụ quét mã độc mạnh mẽ như Trivy hoặc Clair. Mỗi khi một image được tải lên, Harbor sẽ tự động phân tích và cảnh báo nếu phát hiện các lỗ hổng bảo mật (CVE), thậm chí có thể chặn không cho triển khai các image không an toàn.
  • Ký số và xác thực hình ảnh (Image Signing): Sử dụng công nghệ Cosign hoặc Notary để ký số vào image, đảm bảo dữ liệu không bị thay đổi hoặc giả mạo trong quá trình truyền tải từ kho lưu trữ đến môi trường production.
  • Hỗ trợ đa tài nguyên: Ngoài Docker Image, Harbor hỗ trợ quản lý cả Helm Chart, OCI Artifacts, giúp bạn đồng bộ toàn bộ tài nguyên triển khai Kubernetes tại một nơi duy nhất.
  • Hệ thống Replication (Bản sao): Dễ dàng đồng bộ dữ liệu giữa các cụm Harbor khác nhau hoặc đồng bộ với các đám mây công cộng để phục vụ chiến lược Multi-cloud hoặc sao lưu dữ liệu (Backup/DR).
---

Yêu cầu hệ thống và chuẩn bị trước khi cài đặt

Để đảm bảo Harbor hoạt động mượt mà và ổn định trên VPS Linux, hệ thống của bạn cần đáp ứng các tiêu chuẩn tối thiểu sau:

1. Cấu hình phần cứng khuyến nghị

  • CPU: Tối thiểu 2 vCPUs (Khuyến nghị 4 vCPUs nếu bật tính năng quét vulnerability liên tục).
  • RAM: Tối thiểu 4GB RAM (Khuyến nghị 8GB RAM).
  • Ổ cứng: Tối thiểu 40GB SSD (Dung lượng thực tế phụ thuộc vào số lượng và kích thước image của bạn).
  • Hệ điều hành: Ubuntu Server 20.04 LTS / 22.04 LTS hoặc CentOS 8 / Rocky Linux 9.

2. Điều kiện tiên quyết về phần mềm và mạng

Trước khi bắt đầu, hãy chắc chắn rằng VPS của bạn đã được cài đặt sẵn Docker Engine (phiên bản 17.06.0-ce trở lên) và Docker Compose (phiên bản 1.18.0 trở lên). Bên cạnh đó, bạn cần sở hữu một Tên miền (Domain Name) trỏ về IP của VPS và mở các cổng mạng cần thiết là 80 (HTTP) và 443 (HTTPS) trên Firewall.

Lưu ý quan trọng: Tuyệt đối không vận hành Harbor trong môi trường sản xuất bằng giao thức HTTP thông thường. Việc sử dụng chứng chỉ SSL/TLS là bắt buộc để mã hóa thông tin đăng nhập và dữ liệu image khi truyền tải trên Internet.
---

Hướng dẫn triển khai Harbor từng bước trên VPS Linux

Bước 1: Tải về gói cài đặt Harbor

Truy cập vào trang Github Releases của Harbor để lấy liên kết của phiên bản ổn định mới nhất. Trong hướng dẫn này, chúng ta sẽ sử dụng phiên bản cài đặt ngoại tuyến (Offline Installer) để đảm bảo tính ổn định và không phụ thuộc vào tốc độ mạng khi tải tài nguyên:wget [https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz](https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz) tar -xvzf harbor-offline-installer-v2.10.0.tgz cd harbor

Bước 2: Cấu hình tệp tin `harbor.yml`

Khởi tạo tệp cấu hình bằng cách sao chép từ tệp mẫu:cp harbor.yml.tmpl harbor.yml

Mở tệp harbor.yml bằng trình chỉnh sửa (ví dụ: nano harbor.yml) và tiến hành cập nhật các thông số quan trọng sau:

  • hostname: Điền tên miền của bạn (Ví dụ: hub.yourdomain.com).
  • http: Giữ nguyên port 80.
  • https: Bỏ dấu comment, điền port 443 và cung cấp đường dẫn chính xác tới chứng chỉ SSL của bạn (bạn có thể sử dụng Certbot để xin cấp chứng chỉ Let's Encrypt miễn phí):
    certificate: /etc/letsencrypt/live/[hub.yourdomain.com/fullchain.pem](https://hub.yourdomain.com/fullchain.pem)
    private_key: /etc/letsencrypt/live/[hub.yourdomain.com/privkey.pem](https://hub.yourdomain.com/privkey.pem)
  • harbor_admin_password: Đổi mật khẩu quản trị viên mặc định thành một mật khẩu cực kỳ mạnh.
  • data_volume: Thư mục lưu trữ dữ liệu image trên VPS (Mặc định là /data).

Bước 3: Tích hợp các tính năng bảo mật và cài đặt

Harbor cho phép bạn lựa chọn các thành phần mở rộng ngay khi cài đặt. Để tối ưu hóa bảo mật, chúng ta sẽ kích hoạt tính năng quét lỗ hổng mã độc Trivy bằng cách chạy lệnh:./install.sh --with-trivy

Quá trình này sẽ mất từ 3 đến 5 phút để Docker Compose tự động xây dựng và khởi chạy các container thành phần bao gồm: Harbor Core, Database, Registry, Proxy (Nginx), và Trivy. Khi màn hình hiển thị thông báo ----Harbor has been installed and started successfully.----, hệ thống của bạn đã sẵn sàng.

---

Cấu hình tối ưu hóa bảo mật cho Harbor Registry

Sau khi truy cập thành công vào giao diện Web UI của Harbor qua đường dẫn [https://hub.yourdomain.com](https://hub.yourdomain.com) bằng tài khoản admin, việc đầu tiên bạn cần làm là thiết lập các rào cản bảo mật:

1. Chuyển đổi chế độ dự án sang Private

Mặc định, dự án đầu tiên là `library` có thể ở chế độ Public. Hãy tạo các Project mới phục vụ cho doanh nghiệp của bạn và đảm bảo tick chọn ô Private. Điều này ngăn chặn bất kỳ người dùng ẩn danh nào có thể scan hoặc pull image của bạn khi chưa được cấp quyền.

2. Cấu hình Quy tắc quét lỗ hổng tự động (Vulnerability Scanning Policy)

Đi tới mục Configuration -> Vulnerability Scanning, thiết lập lịch trình quét tự động (Ví dụ: Quét vào lúc 0h mỗi ngày - Daily). Đồng thời, truy cập vào Project của bạn, chọn tab Configuration và kích hoạt tính năng "Automatically scan images on push". Tính năng này đảm bảo mọi image vừa được đẩy lên hệ thống sẽ được kiểm tra an toàn ngay lập tức.

3. Thiết lập chính sách chặn Image không an toàn

Trong cài đặt của Project, bật tính năng "Prevent vulnerable images from running" và chọn mức độ nghiêm trọng (Severity) là High hoặc Critical. Nếu hệ thống phát hiện image chứa lỗi nguy hiểm, Harbor sẽ chặn lệnh docker pull từ các cụm máy chủ, ngăn ngừa rủi ro mã độc lây lan vào hệ thống vận hành.

---

Thử nghiệm đẩy và kéo Docker Image từ Harbor

Để kiểm tra hoạt động của hệ thống, từ máy tính cá nhân hoặc một server khác, hãy thực hiện quy trình đăng nhập và đẩy image:

1. Đăng nhập vào hệ thống từ Terminal

docker login hub.yourdomain.com

Nhập tài khoản và mật khẩu (hoặc khuyến nghị sử dụng Robot Account được tạo từ giao diện Harbor để hạn chế lộ mật khẩu chính).

2. Tag và Push Image

docker tag my-app:v1.0 [hub.yourdomain.com/my-project/my-app:v1.0](https://hub.yourdomain.com/my-project/my-app:v1.0)
docker push [hub.yourdomain.com/my-project/my-app:v1.0](https://hub.yourdomain.com/my-project/my-app:v1.0)

Quay trở lại giao diện web, bạn sẽ thấy Image hiển thị trong danh sách kèm theo bảng phân tích chi tiết các lỗ hổng bảo mật từ Trivy.

---

Kết luận và Khuyến nghị vận hành

Tự host kho lưu trữ Harbor trên VPS Linux không chỉ giúp doanh nghiệp làm chủ hoàn toàn dữ liệu, tối ưu hóa chi phí mà còn nâng tầm bảo mật hệ thống lên tiêu chuẩn cao nhất nhờ các tính năng tự động quét lỗ hổng và kiểm soát truy cập nghiêm ngặt. Để hệ thống vận hành bền bỉ, hãy luôn nhớ thực hiện sao lưu định kỳ thư mục dữ liệu, cấu hình dọn dẹp bộ nhớ (Retention Policy) để xóa bỏ các image cũ, tránh tình trạng đầy ổ cứng VPS. Đầu tư một lần vào hạ tầng tự host sẽ mang lại sự an tâm tuyệt đối cho chuỗi cung ứng phần mềm của bạn.