Bài 17: SSL/TLS và HTTPS với Let’s Encrypt

Bài 17: SSL/TLS và HTTPS với Let’s Encrypt

Bài này chi tiết hóa SSL/TLS và HTTPS theo hướng dễ hiểu, có lệnh thực hành, tình huống production, checklist và bài tập.

Sau bài này anh sẽ biết:

  • Hiểu SSL/TLS và HTTPS dùng để giải quyết vấn đề gì trong production.
  • Nắm các lệnh/cấu hình quan trọng.
  • Biết quy trình thực hành từng bước trong lab.
  • Có checklist kiểm tra trước khi áp dụng production.

1. Bối cảnh thực tế

Ssl/tls và https không phải kiến thức lý thuyết riêng lẻ. Trong vận hành production, nó giúp giảm downtime, giảm rủi ro bảo mật và giúp hệ thống dễ khôi phục hơn khi có sự cố.

2. Các khái niệm cần nắm

  • Trạng thái hiện tại: trước khi sửa phải biết hệ thống đang chạy thế nào.
  • Thay đổi nhỏ: thay đổi từng bước để dễ rollback.
  • Log/metric: dùng để xác nhận thay đổi đúng hay sai.
  • Rollback: luôn có đường quay lại khi cấu hình lỗi.

3. Lab thực hành

Mục tiêu lab: chạy các lệnh kiểm tra, tạo thay đổi nhỏ và xác nhận kết quả.
dig +short example.com
ss -tulpn | grep -E ':80|:443'
sudo nginx -t
sudo certbot --nginx -d example.com -d www.example.com
sudo certbot renew --dry-run
curl -I https://example.com
openssl s_client -connect example.com:443 -servername example.com 

Khi thực hành, anh nên ghi lại output trước và sau. Đây là thói quen rất quan trọng của SysAdmin/DevOps.

4. Tình huống thực tế

Website đã chạy HTTP. Anh cần trỏ DNS đúng IP, mở port 80/443, kiểm tra Nginx, cấp cert bằng Let’s Encrypt, test HTTPS và test tự động gia hạn.

5. Quy trình triển khai an toàn

  1. Xác định mục tiêu thay đổi.
  2. Backup file cấu hình hoặc tạo snapshot nếu thay đổi rủi ro.
  3. Kiểm tra trạng thái hiện tại bằng lệnh phù hợp.
  4. Thay đổi trên lab/staging trước nếu có.
  5. Áp dụng production trong khung giờ phù hợp.
  6. Kiểm tra log, service, port, endpoint sau thay đổi.
  7. Ghi lại thay đổi và phương án rollback.

6. Lỗi thường gặp

  • Làm trực tiếp production mà không backup.
  • Sửa nhiều thứ cùng lúc nên không biết lỗi do đâu.
  • Không đọc log sau khi reload/restart service.
  • Không ghi lại command đã chạy.
Lưu ý production: Nếu thay đổi có thể làm mất kết nối, dừng service hoặc ảnh hưởng dữ liệu, hãy chuẩn bị rollback trước khi chạy lệnh.

7. Checklist

  • Đã kiểm tra trạng thái hiện tại.
  • Đã backup cấu hình/dữ liệu liên quan.
  • Đã test syntax/config nếu có.
  • Đã xác nhận service hoạt động sau thay đổi.
  • Đã ghi lại thay đổi vào tài liệu vận hành.

8. Bài tập

  1. Dựng lab nhỏ cho chủ đề này.
  2. Chạy toàn bộ lệnh kiểm tra.
  3. Tạo một lỗi nhỏ có kiểm soát và sửa lại.
  4. Viết checklist 5 bước dùng cho production.

Tác giả: Mạnh Hoàng

Tôi là Hoàng Mạnh, người sáng lập blog SysadminSkills.com. Tôi viết về quản trị hệ thống, bảo mật máy chủ, DevOps và cách ứng dụng AI để tự động hóa công việc IT. Blog này là nơi tôi chia sẻ những gì đã học được từ thực tế – đơn giản, ngắn gọn và áp dụng được ngay.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *