0

[Series Zero Trust Hạ Tầng] Bài 2: Thực Hành Dựng Lab Teleport – Cài Đặt, Cấu Hình Domain & SSL Let's Encrypt Từ A-Z

Chào các bạn, chào mừng các bạn đã quay trở lại với series Làm chủ Teleport. Ở Bài 1, chúng ta đã cùng nhau tìm hiểu về tư duy Zero Trust và lý do vì sao Teleport lại là kẻ thay thế hoàn hảo cho VPN và các cơ chế SSH Key truyền thống.

Để hiểu sâu một công cụ hạ tầng, cách tốt nhất là "nhúng tay vào bùn". Trong bài viết hôm nay, mình sẽ hướng dẫn các bạn từng bước thiết lập một Teleport Cluster hoàn chỉnh trên một server Linux (Ubuntu), cấu hình tên miền riêng và cài đặt chứng chỉ SSL Let's Encrypt hoàn toàn miễn phí. Sau bài học này, bạn sẽ có một giao diện Web UI cực ngầu để quản lý hạ tầng của mình.

1. Chuẩn Bị Trước Khi Cài Đặt (Prerequisites)

Để lab này chạy mượt mà và thực tế nhất, bạn cần chuẩn bị:

  1. Một Server Linux: Có thể dùng VPS của DigitalOcean, AWS, Linode hoặc một máy ảo Ubuntu (khuyến nghị bản 22.04 LTS hoặc 24.04 LTS) có IP công khai (Public IP).
  2. Một Tên Miền (Domain Name): Bạn cần sở hữu một tên miền (ví dụ: yourdomain.com).
  3. Cấu hình DNS: Trỏ một bản ghi A Record (ví dụ: teleport.yourdomain.com) về IP công khai của con Server Ubuntu ở trên.
  4. Mở Port trên Firewall: Đảm bảo server của bạn đã mở các port sau:
  • 80 (HTTP) và 443 (HTTPS): Để cấp phát SSL và truy cập Web UI.
  • 3022: Port dùng cho traffic SSH của Teleport.

2. Cài Đặt Teleport Lên Server Ubuntu

Teleport cung cấp các kho lưu trữ (repository) chính thức giúp việc cài đặt qua apt trở nên cực kỳ đơn giản. Hãy SSH vào server của bạn và chạy chuỗi lệnh sau:

Bước 1: Thêm khóa GPG của Teleport

sudo curl https://apt.releases.teleport.dev/gpg \
  -o /usr/share/keyrings/teleport-archive-keyring.gpg

Bước 2: Thêm Teleport repository vào danh sách nguồn apt

# Lệnh này tự động nhận diện phiên bản Ubuntu của bạn (focal, jammy, noble...)
. /etc/os-release
echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.gpg] https://apt.releases.teleport.dev/${ID} ${VERSION_CODENAME} stable/v15" \
  | sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null

Lưu ý: Bạn có thể thay đổi v15 thành phiên bản mới nhất tại thời điểm bạn cài đặt nhé.

Bước 3: Cập nhật và tiến hành cài đặt

sudo apt update
sudo apt install teleport -y

3. Tạo File Cấu Hình Và Xin SSL Let's Encrypt Tự Động

Teleport có một tính năng cực kỳ thông minh: Nó tích hợp sẵn cơ chế ACME để tự động tương tác với Let's Encrypt, tự xin và tự gia hạn chứng chỉ SSL mà bạn không cần phải cài thêm Certbot hay Nginx.

Hãy chạy lệnh sau để Teleport tự động sinh ra file cấu hình /etc/teleport.yaml:

sudo teleport configure \
  --cluster-name=teleport.yourdomain.com \
  --public-addr=teleport.yourdomain.com:443 \
  --cert-file=acme \
  --acme \
  --acme-email=your-email@example.com \
  | sudo tee /etc/etc/teleport.yaml

Giải thích các tham số:

  • --cluster-name: Domain của bạn đã trỏ DNS về server này.
  • --cert-file=acme--acme: Ra lệnh cho Teleport tự đi xin SSL Let's Encrypt.
  • --acme-email: Email của bạn để nhận thông báo từ Let's Encrypt nếu có sự cố gia hạn.

4. Khởi Chạy Dịch Vụ Teleport

Bây giờ hệ thống đã sẵn sàng, hãy kích hoạt Teleport chạy dưới dạng một background service (Systemd) để đảm bảo nó luôn tự khởi động cùng hệ thống:

# Reload lại daemon hệ thống
sudo systemctl daemon-reload

# Kích hoạt và chạy Teleport
sudo systemctl enable teleport
sudo systemctl start teleport

Để kiểm tra xem Teleport đã chạy thành công hay chưa, hãy gõ lệnh:

sudo systemctl status teleport

Nếu bạn nhìn thấy trạng thái màu xanh active (running), chúc mừng bạn, "bộ não" Teleport đã hoạt động thành công!

5. Tạo Tài Khoản Admin Đầu Tiên

Dù Teleport hỗ trợ các giải pháp SSO như GitHub hay Google, nhưng ở lần đầu thiết lập, chúng ta cần tạo một tài khoản Local Admin bằng công cụ CLI tctl (Teleport Control Tool).

Chạy lệnh sau trên server:

sudo tctl users add admin --roles=editor,access --logins=root,ubuntu

Giải thích lệnh:

  • users add admin: Tạo user có tên là admin.
  • --roles=editor,access: Cấp cho user này quyền quản trị hệ thống (editor) và quyền truy cập tài nguyên (access).
  • --logins=root,ubuntu: Cho phép user này khi SSH vào các máy con được quyền đóng vai (login) dưới danh nghĩa user root hoặc ubuntu trên máy đó.

Sau khi chạy lệnh, Teleport sẽ trả về một đường link khởi tạo có dạng: [https://teleport.yourdomain.com:443/web/newuser/abcdef123456] (https://teleport.yourdomain.com:443/web/newuser/abcdef123456)...

6. Đăng Nhập Giao Diện Web UI Cực Chất

  1. Copy đường link mà lệnh tctl vừa trả về ở bước trên và dán vào trình duyệt máy tính của bạn.
  2. Giao diện thiết lập mật khẩu của Teleport sẽ hiện ra. Tại đây bạn nhập mật khẩu mới cho tài khoản admin.
  3. Bắt buộc cấu hình 2FA (MFA): Teleport bắt buộc bạn phải bảo mật 2 lớp. Hãy dùng ứng dụng điện thoại như Google Authenticator hoặc Authy để quét mã QR hiển thị trên màn hình và nhập mã Token gồm 6 chữ số để xác nhận.

Sau khi hoàn tất, bạn sẽ được chuyển hướng thẳng vào Dashboard của Teleport Web UI. Tại đây, bạn sẽ thấy một giao diện quản lý cực kỳ trực quan và hiện đại, hiển thị danh sách các máy chủ hiện có (chính là con server bạn vừa cài đặt). Bạn hoàn toàn có thể bấm nút Connect trực tiếp trên Web để SSH vào server mà không cần dùng đến Terminal của máy local nữa!

Tạm kết Bài 2

Như vậy, chúng ta đã cùng nhau hoàn thành một cột mốc rất quan trọng: Tự tay dựng lên một "pháo đài" Teleport Cluster vững chắc, có SSL bảo mật và giao diện quản trị Web UI.

Ở Bài 3, chúng ta sẽ bắt đầu kết nối các tài nguyên khác vào "pháo đài" này: Hướng dẫn cách add thêm các Server Linux khác (Nodes) vào hệ thống, trải nghiệm tính năng "Quay phim màn hình Terminal" (Session Recording) và phân quyền chi tiết (RBAC) cho từng thành viên trong team.

Đừng quên nhấn Upvote bài viết và để lại bình luận nếu bạn gặp bất kỳ lỗi nào trong quá trình cài đặt để mình hỗ trợ nhé! Chúc các bạn cấu hình thành công!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí