Giới thiệu

MSc | AI/ML | Cyber Security | DevOps | ITIL | Compliance | Cloud | System | Virtualization | DBA | SAN...

Security/DevSecOps tại VietSunshine CyberSecurity

System & Network Engineer tại HQG

Từng học Thạc sĩ khoa học máy tính - Đại học quốc tế Sài Gòn

Từng học Đại học công nghệ thông tin - ĐHQG TPHCM

Sống tại Hồ Chí Minh, Việt Nam

Đến từ Lộc Ninh, Bình Phước, Việt Nam

Xem nhiều hơn

Bài mới

Series [K8S]: Phần 3 Install Rancher on Kubernetes
Series [K8S]: Phần 2 Install Ceph Cluster Kubernetes
Series [K8S]: Phần 1 Install Kubernetes Cluster v1.28
Series [CA]: Phần 2 Create SAN Certificate
Linux Route Two Card Network
Resize LVM Disk On Redhat
Series [Powershell]: Phần 1 Encrypting Script Using AES
Series [SIEM]: Phần 05 Postman With Qradar API
Series [CA]: Phần 1 Install CA Windows Server

Chuỗi Series [Harbor]: Phần 2 Cài Đặt Và Cấu Hình Harbor

Mở Đầu

Trong bài viết này, chúng ta sẽ tiếp tục với Chuỗi Series [Harbor]: Phần 2 Cài Đặt Và Cấu Hình Harbor được xây dựng trên môi trường Lab, tập trung vào việc triển khai Docker Registry – thành phần không thể thiếu trong quá trình lưu trữ và quản lý Docker Images cho các dự án. Khi triển khai ứng dụng trên Kubernetes (K8S), việc sử dụng Docker Registry là điều bắt buộc để lưu trữ và phân phối các image của container.

Docker Registry – Giải pháp lưu trữ đa dạng

Tùy thuộc vào đặc thù của từng công ty và hệ thống, bạn có thể chọn giải pháp Docker Registry phù hợp. Với các hệ thống trên cloud, bạn hoàn toàn có thể tận dụng những dịch vụ Docker Registry đã được cung cấp sẵn từ các nhà cung cấp dịch vụ cloud như AWS, GCP, hoặc Azure. Tuy nhiên, nếu bạn đang làm việc với hệ thống On-Premise, việc tự xây dựng một Docker Registry riêng sẽ là giải pháp phù hợp nhất.

Các lựa chọn Docker Registry phổ biến

Hiện nay, có rất nhiều giải pháp Docker Registry cho bạn lựa chọn, tùy thuộc vào nhu cầu và khả năng tích hợp với các hệ thống hiện có. Dưới đây là một số lựa chọn phổ biến:

  1. Gitlab Registry: Đi kèm với bộ GitLab, giải pháp này rất tiện lợi nếu bạn đã sử dụng GitLab cho quản lý mã nguồn. GitLab Registry tích hợp chặt chẽ với CI/CD, giúp bạn dễ dàng quản lý image và pipeline phát triển.
  2. Private Docker Registry: Giải pháp Docker Registry cơ bản và dễ triển khai nhất. Nó cung cấp khả năng lưu trữ và quản lý Docker Image tại chỗ, giúp kiểm soát và bảo mật tốt hơn cho hệ thống nội bộ.
  3. Harbor Registry: Đây là một trong những giải pháp Docker Registry mạnh mẽ nhất hiện nay. Harbor cung cấp nhiều tính năng nâng cao như quét lỗ hổng bảo mật (vulnerability scanning), kiểm tra tính toàn vẹn và phân quyền dựa trên vai trò (RBAC). Đây là lựa chọn tuyệt vời cho các doanh nghiệp yêu cầu sự bảo mật và kiểm soát chặt chẽ đối với các Docker Image của mình.

Chuẩn Bị Tài Nguyên Cài Đặt

Để cài đặt và cấu hình harbor, cần chuẩn bị máy chủ/ảo hóa yêu cầu dưới đây:

Thông Số Kỹ Thuật
Tài nguyên OS Tối thiểu Khuyến nghị
CPU  

 

Redhat/Centos/Ubuntu

2 CPU 4 CPU
Mem 4 GB 8 GB
Disk 40 GB 160 GB

Sơ Đồ Thực Hiện Lab Harbor

Harbor Architect

Cài Đặt Và Cấu Hình Harbor

Cài Đặt Docker

Để cài đặt và cấu hình harbor, cần thực hiện cài đặt docker đầu tiên, các bước cài đặt:

Lệnh cài đặt:

sudo yum install -y yum-utils

sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

Chuỗi Series [Harbor]: Phần 2 Cài Đặt Và Cấu Hình Harbor

sudo yum install -y docker-ce

Chuỗi Series [Harbor]: Phần 2 Cài Đặt Và Cấu Hình Harbor

Cài Đặt Docker Compose

Để cài đặt và cấu hình harbor, cần thực hiện cài đặt docker compose – là thành phần bắt buộc để có thể qua bước tiếp theo cài đặt harbor, các bước thực hiện:

Lệnh cài đặt:

curl -SL https://github.com/docker/compose/releases/download/v2.29.6/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Chuỗi Series [Harbor]: Phần 2 Cài Đặt Và Cấu Hình Harbor

sudo systemctl restart docker

sudo systemctl enable docker

Tải Harbor

wget https://github.com/goharbor/harbor/releases/download/v2.1.4/harbor-offline-installer-v2.1.4.tgz

tar xvzf harbor-offline-installer*.tgz

cd harbor

cp harbor.yml.tmpl harbor.yml

Cài Đặt OpenSSL

Để cấu hình HTTPS, bạn phải tạo chứng chỉ SSL. Bạn có thể sử dụng các chứng chỉ được ký bởi một CA bên thứ ba đáng tin cậy, hoặc bạn có thể sử dụng các chứng chỉ tự ký. Phần này mô tả cách sử dụng OpenSSL để tạo một CA, và cách sử dụng CA của bạn để ký một chứng chỉ máy chủ và một chứng chỉ khách hàng. Bạn cũng có thể sử dụng các nhà cung cấp CA khác, chẳng hạn như Let’s Encrypt.

Tạo CA Certificate

openssl genrsa -out ca.key 4096

openssl req -x509 -new -nodes -sha512 -days 3650 \

-subj “/C=CN/ST=HCM/L=HCM/O=VSS/OU=IT/CN=vsslab.com” \

-key ca.key \

-out ca.crt

Tạo Server Certificate

openssl genrsa -out vsslab.com.key 4096

openssl req -sha512 -new \

-subj “/C=CN/ST=HCM/L=HCM/O=VSS/OU=IT/CN=vsslab.com” \

-key vsslab.com.key \

-out vsslab.com.csr

Tạo x509 v3 extension làm SAN

cat > v3.ext <<-EOF

authorityKeyIdentifier=keyid,issuer

basicConstraints=CA:FALSE

keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment

extendedKeyUsage = serverAuth

subjectAltName = @alt_names

 

[alt_names]

DNS.1=vsslab.com

DNS.2=vsslab

DNS.3=harbor

DNS.4=harbor.vsslab.com

IP.1=10.10.3.160

EOF

Sử dụng v3.ext file để tạo certificate cho Harbor

openssl x509 -req -sha512 -days 3650 \

-extfile v3.ext \

-CA ca.crt -CAkey ca.key -CAcreateserial \

-in vsslab.com.csr \

-out vsslab.com.crt

Convert vsslab.com.crt tới vsslab.com.cert, sử dụng cho Docker

openssl x509 -inform PEM -in vsslab.com.crt -out vsslab.com.cert

Sao chép server certificate, key và CA files vào Docker certificates

mkdir -p /etc/docker/certs.d/harbor.vsslab.com

cp vsslab.com.cert /etc/docker/certs.d/harbor.vsslab.com/
cp vsslab.com.key /etc/docker/certs.d/harbor.vsslab.com/
cp ca.crt /etc/docker/certs.d/harbor.vsslab.com/

Thực hiện restart Docker

systemctl restart docker

Thay đổi certificate và cấu hình

harbor yml

Thực hiện Deploy Harbor

./install

Kiểm tra cert harbor

Web cert harbor

Cài đặt cert cho server

cp vsslab.com.crt /etc/pki/ca-trust/source/anchors/

sudo update-ca-trust extract

Kiểm tra kết nối HTTPS

docker login harbor.vsslab.com

Check connection HTTPS

Thực hiện login tới web quản trị

https:<IP/FQDN>

Tài khoản: admin/Harbor12345

Harbor Web login

Cấu hình Harbor

Tạo project

Login vào Harbord bằng giao diện web: https://<FQDN/IP> và đăng nhập tài khoản admin

Thực hiện tạo project tên bmc

project harbor

Tạo Endpoint

Tạo một endpoint tại Administration -> Registry

endpoint harbor

Vậy là chúng ta đã hoàn thành việc cài đặt, cấu hình cơ bản trên Harbor,

Ở phần tiếp theo, chúng ta sẽ đi tiếp chuỗi Series [Harbor] cho Cấu Hình 2 Harbor Replicate vùng DMZ và Internal

Mời các bạn đón theo dõi cập nhật mới nhé!

Theo dõi
Thông báo của
guest
0 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận

LƯỢT TRUY CẬP

Đang Online 0
Hôm nay 7
Hôm qua 22
Tổng truy cập 29567

Xem nhiều

Series [K8S]: Phần 3 Install Rancher on Kubernetes
Series [K8S]: Phần 2 Install Ceph Cluster Kubernetes
Series [K8S]: Phần 1 Install Kubernetes Cluster v1.28
Series [CA]: Phần 2 Create SAN Certificate

Video