NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
14/04/2023
Lượt xem

Hướng dẫn cách lấy chứng chỉ SSL trên Ubuntu 20.04 bằng Certbot (Standalone mode)

14/04/2023
10 phút đọc
Lượt xem

Đánh giá

5/5 - (173 bình chọn)

Let’s Encrypt cung cấp các chứng chỉ SSL miễn phí thông qua hệ thống API tự động. Và Certbot là một trong những phần mềm hỗ trợ cài đặt SSL Let’s Encrypt phổ biến nhất. Hãy tìm hiểu cách sử dụng Certbot thông qua bài viết hướng dẫn cách lấy chứng chỉ SSL trên Ubuntu 20.04 bằng Certbot (Standalone mode) dưới đây của Vietnix.

Giới thiệu về Certbot

Certbot cung cấp một loạt các giải pháp xác thực tên miền, tìm nạp chứng chỉ và tự động cấu hình Apache lẫn Nginx. Trong phạm vi bài viết này, Vietnix sẽ giúp bạn tìm hiểu về Certbot (Standalone mode) và cách ứng dụng phần mềm này trong các công tác bảo mật, chẳng hạn như bảo vệ mail server hay các công cụ messsage-broker như RabbitMQ.

Giới thiệu về certbot
Giới thiệu về certbot

Bài viết sẽ không đi sâu vào các thao tác thực hiện cấu hình SSL. Tuy vậy sau khi thực hiện đầy đủ các bước được hướng dẫn dưới đây, bạn sẽ thiết lập được tính năng tự động tải lại dịch vụ để nhận chứng chỉ SSL hợp lệ và đã được gia hạn.

Yêu cầu về cách lấy chứng chỉ SSL trên Ubuntu 20.04 bằng Certbot (Standalone mode)

Trước khi bắt đầu cần chuẩn bị:

  • Một máy chủ Ubuntu 20.04 với tài khoản người dùng thông thường (được cấp quyền sudo ) và đã được cấu hình tường lửa cơ bản.
  • Một tên miền thực tế đã trỏ vào máy chủ của bạn, trong bài viết này sẽ lấy đại diện là your_domain.
  • Tắt hết các port 80, 443 còn đang hoạt động trên máy chủ. Nếu thực hiện thao tác trên web server đang chạy ở hai cổng này thì bạn phải sử dụng một chế độ khác, ví dụ như webroot mode ở Certbot.

Bước 1 – Cài đặt Certbot

Certbot sẽ đề xuất người dùng sử dụng snap package để cài đặt phần mềm này. Các gói này hầu như tương thích với mọi phiên bản Linux. Tuy nhiên để quản lý chúng hiệu quả thì người dùng sẽ phải cài đặt công cụ snapd trước. Trước hết, hãy đảm bảo snap core của bạn đã được cập nhật phiên bản mới nhất với lệnh:

sudo snap install core; sudo snap refresh core

Trong trường hợp máy chủ đang cài Certbot phiên bản cũ thì cần xoá đi trước khi thực hiện các bước tiếp theo:

sudo apt remove certbot

Sau đó, tiến hành cài đặt certbot bằng câu lệnh:

 sudo snap install --classic certbot

Cuối cùng, cần liên kết lệnh certbot từ thư mục cài đặt snap tới đường dẫn của bạn. Điều này sẽ giúp việc khởi chạy diễn ra nhanh chóng chỉ bằng cách gõ certbot. Snaps thường ít xâm phạm nên chúng sẽ không gây ảnh hưởng tới các package khác trong hệ thống:

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Sau khi cài đặt được Certbot, hãy tới với bước tiếp theo để có thể khởi chạy ứng dụng này.

Bước 2 – Khởi chạy Certbot

Certbot cần phải đáp ứng các yêu cầu về mã hoá từ Let’s Encrypt API để chứng minh quyền sở hữu của bạn với tên miền đã cung cấp ở phần đầu. Bạn có thể sử dụng cả 2 port 80 (HTTP) và 443 (HTTPS) để thực hiện những yêu cầu này. Mở cổng thích hợp với lệnh:

sudo ufw allow 443
Output  Rule added Rule added (v6)

Lúc này bạn đã có thể khởi chạy Certbot để lấy chứng chỉ SSL. Tùy chọn --standalone sẽ phù hợp nhất để báo cho Certbot thực hiện các yêu cầu mã hóa bằng chính các web server đã được tích hợp sẵn. Sau đó dùng cờ -d để chỉ định một hoặc nhiều tên miền muốn yêu cầu chứng chỉ SSL:

sudo certbot certbonly --standalone -d your_domain

Sau khi chạy lệnh, bạn sẽ nhận được yêu cầu nhập địa chỉ email và chấp nhận các điều khoản. Thực hiện xong các bước theo yêu cầu, màn hình sẽ hiện lên thông báo cập nhật trạng thái thành công và nơi lưu trữ chứng chỉ:

Output  IMPORTANT NOTES: Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/your_domain/fullchain.pem Key is saved at: /etc/letsencrypt/live/your_domain/privkey.pem This certificate expires on 2022-02-10. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background.  ---------------------------------------------------------------------------------------------- If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le

Tiếp theo Vietnix sẽ hướng dẫn bạn về chức năng các file của chứng chỉ vừa tải về ở phần trên và cách kiểm tra chúng.

Bước 3 – Cấu hình ứng dụng

Việc thực hiện cấu hình SSL cho ứng dụng nằm ngoài phạm vi của bài viết này bởi từng ứng dụng sẽ có những yêu cầu khác nhau về cấu hình. Tuy nhiên, bạn vẫn nên kiểm tra lại những file được Certbot download về bằng lệnh ls. Lệnh này sẽ giúp liệt kê các thư mục chứa khoá (key) và chứng chỉ (certificate):

sudo ls /etc/letsencrypt/live/your_domain
Output cert.pem chain.pem fullchain.pem privkey.pem README

File README đóng vai trò chứa các thông tin cần thiết của từng file trong thư mục. Tuy nhiên trong hầu hết các tình huống bạn sẽ chỉ cần để ý tới hai file dưới đây:

  • privkey.pem: File này sẽ chứa các khoá riêng tư (private key) nên cần phải được đảm bảm giữ an toàn, bí mật tuyệt đối. Đó là lý do tại sao thư mục /etc/letsencrypt thường bị hạn chế các quyền rất nghiêm ngặt và chỉ có root user mới được phép truy cập vào. Trong một số phần mềm, file này sẽ có một tên gọi khác, ví dụ như: ssl-certificate-key hay ssl-certificate-key-file.
  • fullchain.pem: File chứa các chứng chỉ Intermediate Certificate. Hầu hết các phần mềm sẽ lưu chứng chỉ tại file này dưới những cái tên như ‘SSL-certificate’.

Một số phần mềm sẽ lưu chứng chỉ bằng định dạng khác, tại một thư mục khác với nhiều quyền người dùng. Tốt nhất là bạn hãy giữ nguyên các file trong thư mục letsencrypt và không thực hiện bất cứ thay đổi về quyền nào. Trong trường hợp việc thay đổi các đặc quyền là bắt buộc thì bạn sẽ cần tới các đoạn script để thực hiện di chuyển và thay đổi quyền đối với từng file. Và chúng phải được chạy mỗi lần Certbot thực hiện gia hạn chứng chỉ.

Bước 4 – Quản lý thao tác tự động gia hạn chứng chỉ

Các chứng chỉ của Let’s Encrypt chỉ giới hạn trong vòng 90 ngày với mục đích khuyến khích người dùng tự động hoá thao tác gia hạn chứng chỉ. certbot package được cài đặt ở bước đầu sẽ thực hiện yêu cầu này bằng cách thêm các đoạn script gia hạn vào thư mục /etc/cron.d. Đoạn script này sẽ được chạy 2 lần 1 ngày và sẽ thực hiện gia hạn bất cứ chứng chỉ nào chỉ còn hạn sử dụng 30 ngày.

Bên cạnh việc tự động gia hạn chứng chỉ, bạn sẽ còn cần chạy thêm các tác vụ khác. Cần phải khởi động hoặc tải lại máy chủ để cập nhật chứng chỉ mới. Đồng thời như đã đề cập ở bước 3, bạn sẽ cần thao tác với các tệp chứng chỉ để giúp chúng tương thích với phần mềm đang sử dụng. Certbot có cung cấp một tùy chọn để giải quyết vấn đề này, đó là renew_hook.

Để thêm renew_hook, bạn cần thực hiện một số thay đổi đối với file cấu hình gia hạn của Certbot. Trong đó Certbot đã ghi lại toàn bộ các chi tiết trong lần nạp chứng chỉ đầu tiên và sẽ thực hiện lại các tuỳ chọn đã được ghi lại này trong quá trình này. Mở file config bằng câu lệnh:

sudo nano /etc/letsencrypt/renewal/your_domain.conf

Quan sát file text vừa mở sẽ thấy rất nhiều các tuỳ chọn. Lúc này, bạn có thể thêm hook vào dòng cuối cùng để tại lại bất cứ dịch vụ nào để cập nhật chứng chỉ vừa gia hạn:

renew_hook = systemctl reload your_service

Tuỳ thuộc vào tình huống cụ thể mà có thể thay đổi nội dung của câu lệnh. Thông thường đối với hệ điều hành Ubuntu sẽ sử dụng lệnh systemctl để tái khởi động một dịch vụ. Lưu rồi thoát file, tiếp đến chạy lệnh dưới đây để đảm bảo mọi thứ đã ổn:

sudo certbot renew --dry-run

Lưu ý: Nếu cảm thấy quá trình thao tác phức tạp, hoặc bạn thực hiện thao tác không thành công vì lý do nào đấy thì có thể tham khảo đăng ký sử dụng SSL bản quyền của Vietnix. Với thời hạn sử dụng tới 1 năm cùng mức giá rẻ chỉ từ 160.000 VND, đây sẽ là giải pháp SSL tiện dụng và giúp tiết kiệm chi phí vận hành cho web. Liên hệ với đội ngũ Vietnix để được tư vấn chi tiết và kích hoạt dịch vụ nhanh chóng ngay hôm nay.

Lời kết

Trong phạm vi bài viết hướng dẫn cách lấy chứng chỉ SSL trên Ubuntu 20.04 bằng Certbot này, Vietnix đã hướng dẫn bạn cài đặt thành công phần mềm Certbot và sử dụng chế độ standalone mode để download và tự động gia hạn chứng chỉ SSL (Let’s Encrypt). Điều này sẽ hỗ trợ rất nhiều trong quá trình sử dụng chứng chỉ này cho các dịch vụ khác trên máy chủ của bạn. Nếu còn thắc mắc trong quá trình thực hiện, bạn hãy để lại bình luận bên dưới để mọi người giải đáp và hỗ trợ nhé.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG