Giới thiệu về Let’s Encrypt
Let’s Encrypt là dịch vụ cung cấp những dịch vụ bảo mật miễn phí như chứng chỉ SSL. Để sử dụng dịch vụ này dễ dàng, Let’s Encrypt dùng một công cụ có tên là Certbot. Certbot giúp tự động lấy những chứng chỉ SSL và cài đặt chúng trên máy chủ web của bạn một cách dễ dàng. Trong đó, máy chủ web chính là nơi mà trang web của chúng ta được lưu trữ. Những máy chủ web này sẽ sử dụng những chứng chỉ này để đảm bảo thông tin truyền tải qua trang web là an toàn.
Một ưu điểm không thể bỏ qua dó là Let’s Encrypt không chỉ giúp tạo ra chứng chỉ SSL miễn phí, mà còn tự động gia hạn chứng chỉ. Việc này giúp cho việc trang web của bạn luôn được bảo mật thường xuyên mà không tốn nhiều thời gian để gia hạn chứng chỉ.
Yêu cầu chuẩn bị
Trước khi đi đến các bước lấy chứng chỉ SSL Với Certbot Standalone Mode trên Ubuntu 20.04 bạn cần chuẩn bị những yêu cầu sau đây:
- Chuẩn bị máy chủ: Hãy đảm bảo bạn có một máy chủ chạy trên hệ điều hành Ubuntu 20.04. Bằng cách bạn hãy đăng nhập vào máy chủ với một người dùng có quyền sudo.
- Tạo người dùng và tường lửa: Việc thiết lập người dùng mới với quyền sudo và tạo cấu hình tường lửa cơ bản sẽ giúp cho máy chủ của bạn được bảo mật an toàn.
- Xác định tên miền: Đảm bảo bạn sở hữu một tên miền và đã cấu hình nó để trỏ đến địa chỉ IP của máy chủ.
- Kiểm tra cổng: Đảm bảo rằng cổng 80 hoặc 443 trên server không được sử dụng bởi bất kỳ dịch vụ nào khác.
Sau khi hoàn thành các bước chuẩn bị trên, lúc này hệ thống của bạn đã sẵn sàng thực hiện các bước lấy chứng chỉ SSL với certbot standalone mode trên Ubuntu 20.04. Hãy cùng LANIT theo dõi tiếp các bước hướng dẫn sau đây nhé!
Các bước lấy chứng chỉ SSL với certbot standalone mode trên Ubuntu 20.04
Dưới đây là chi tiết các bước hướng dẫn cách lấy chứng chỉ SSL với Certbot Standalone Mode trên Ubuntu 20.04, bạn có thể tham khảo và thực hiện theo nhé!
Bước 1 — Cài đặt Certbot
Certbot đề xuất bạn nên sử dụng gói snap mà họ cung cấp để cài đặt. Những gói snap có thể sử dụng trên hầu hết các phiên bản Linux, nhưng trước tiên bạn cần cài đặt snap để quản trị. Ubuntu 20.04 đã tích hợp sẵn snap, vì vậy, bạn có thể kiểm tra việc cập nhật snap core bằng cách chạy lệnh dưới đây:
sudo snap install core; sudo snap refresh core
Nếu bạn đã từng cài đặt phiên bản cũ của Certbot trên máy chủ và muốn nâng cấp nó, thì lúc này bạn nên gỡ bỏ phiên bản cũ trước khi tiến hành cài đặt cerbot mới:
sudo apt remove certbot
Bước tiếp theo, bạn có thể cài đặt gói certbot thông qua sử dụng lệnh sau đây:
sudo snap install --classic certbot
Sau cùng, bạn có thể tạo liên kết giữa lệnh certbot trong thư mục cài đặt snap với đường dẫn chung của hệ thống, để bạn có thể chạy lệnh bạn chỉ cần nhập lệnh “certbot“. Điều này không cần thiết cho tất cả các gói, nhưng việc sử dụng snap thường an toàn hơn và ít gây xung đột với các gói hệ thống khác:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Lúc này việc cài đặt Certbot đã thành công, bạn có thể chạy nó để lấy chứng chỉ của bạn.
Xem thêm >>> Hướng dẫn cài Free Cloudflare SSL dễ dàng
Bước 2 – Chạy Cerbot
Certbot lúc này cần phải thực hiện một phần thách thức mật mã (cryptographic challenge) mà API của Let’s Encrypt đặt ra để chứng minh rằng bạn có quyền quản lý tên miền của mình. Để thực hiện điều này, Cerbot sử dụng cổng 80 (HTTP) hoặc 443 (HTTPS). Và lúc này bạn cần mở các cổng phù hợp trên tường lửa của bạn để thực hiện chúng. Bạn có thể nhập lệnh như dưới đây:
sudo ufw allow 443
Khi đã chuẩn bị các bước xong, bạn có thể chạy Certbot để lấy chứng chỉ. Bằng việc sử dụng tùy chọn –standalone để yêu cầu Certbot xử lý cryptographic challenge và sử dụng máy chủ web riêng biệt của nó. Cuối cùng, bạn có thể sử dụng -d để chỉ định tên miền mà bạn muốn yêu cầu chứng chỉ. Bạn có thể thêm nhiều tùy chọn -d nếu bạn muốn bao gồm nhiều tên miền một lúc trong một chứng chỉ.
sudo certbot certonly --standalone -d your_domain
Sau khi chạy lệnh trên, bạn sẽ được yêu cầu cung cấp địa chỉ email và bạn cần đồng ý với các điều khoản dịch vụ. Sau khi bạn hoàn thành, bạn sẽ nhận thấy thông báo xác nhận rằng quá trình đã thành công và chứng chỉ của bạn được lưu tại:
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.
Sau khi bạn đã sở hữu chứng chỉ, bước tiếp theo, chúng ta sẽ kiểm tra một số tệp mà bạn đã tải xuống và tìm hiểu về chức năng của chúng.
Xem thêm >>> Cách khắc phục lỗi SSL trên Chrome và Firefox
Bước 3 – Cấu hình ứng dụng
Việc cấu hình SSL cho ứng dụng tùy vào mỗi ứng dụng sẽ có những yêu cấu hình riêng biệt nên sẽ có những cách khác nhau. Tuy nhiên, bạn nên kiểm tra các tệp mà Certbot đã tải về bằng cách sử dụng lệnh ls. Lệnh ls sẽ hiển thị danh sách các thư mục chứa khóa (key) và chứng chỉ (certificate), bạn hãy nhập lệnh sau đây:
sudo ls /etc/letsencrypt/live/your_domain
Kết quả hiện ra sẽ như sau:
cert.pem chain.pem fullchain.pem privkey.pem README
Tệp README trong thư mục này bao gồm những thông tin cần thiết về từng tệp. Tuy nhiên, hầu hết trong các tệp, bạn chỉ cần quan tâm đến hai tệp sau đây, đó là:
- privkey.pem: Tệp này chứa khóa riêng tư (private key) và cần được bảo mật tuyệt đối. Đó chính là lý do thư mục /etc/letsencrypt thường có quyền truy cập hạn chế và chỉ có người dùng root mới có thể truy cập vào được. Trong một số phần mềm, tệp này có thể sử dụng tên khác như ssl-certificate-key hoặc ssl-certificate-key-file.
- fullchain.pem: Tệp này bao gồm chứng chỉ trung gian (Intermediate Certificate). Hầu hết phần mềm sẽ sử dụng tệp này cho chứng chỉ thực và sẽ tham chiếu đến nó trong cấu hình dưới tên đó là ‘SSL-certificate’.
Một số phần mềm sẽ lưu chứng chỉ SSL bằng một số định dạng khác hoặc một thư mục khác với nhiều quyền người dùng. Lúc này, bạn nên giữ nguyên các file trong thư mục letsencrypt và không được thao tác bất cứ thay đổi về quyền nào. Trong trường hợp bắt buộc bạn muốn thay đổi quyền thì lúc bạn sẽ cần tới các đoạn script để thực hiện các quyền thay đổi quyền đối với từng file.
Bước 4 – Gia hạn chứng chỉ tự động
Chứng chỉ của Let’s Encrypt chỉ có giá trị trong vòng 90 ngày, và để khuyến khích người dùng tự động gia hạn, gói certbot sẽ tự động thực hiện gia hạn. Cerbot sẽ thêm một số đoạn mã vào thư mục /etc/cron.d và thực hiện gia hạn chứng chỉ tự động 2 lần/ ngày.
Sau khi thực hiện tự động gia bạn, bạn cần khởi động lại máy chủ hoặc tải lại nó để áp dụng chứng chỉ mới. Certbot cung cấp một tùy chọn là “renew_hook” để giải quyết vấn đề này.
Để thêm renew_hook, bạn cần thao tác một số thay đổi đối với file cấu hình gia hạn của Certbot. Lúc này, 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ạn có thể sử dụng câu lệnh sau:
sudo nano /etc/letsencrypt/renewal/your_domain.conf
Tiếp theo, bạn có thể thêm “hook” vào dòng cuối cùng để thao tác lại bất kỳ dịch vụ nào cần cập nhật chứng chỉ sau khi gia hạn:
renew_hook = systemctl reload your_service
Tuỳ vào những tình huống cụ thể mà có thể thay đổi nội dung của câu lệnh. Đối với hệ điều hành Ubuntu, bạn nên sử dụng lệnh systemctl để tái khởi động một dịch vụ. Bước tiếp theo, bạn hãy lưu rồi thoát file. Và sử dụng lệnh sau đây để đảm bảo mọi thứ vẫn hoạt động bình thường:
sudo certbot renew --dry-run
Làm theo các bước trên bạn đã lấy chứng chỉ SSL với certbot Standalone Mode trên Ubuntu 20.04 thành công.
Bạn cần mua SSL ở một nơi uy tín? LANIT chính là một lựa chọn không thể bỏ qua với bạn. Bất kể bạn cần một giải pháp mua chứng chỉ SSL cho dự án cá nhân nhỏ hay một hệ thống phức tạp để phục vụ hàng triệu khách hàng, chúng tôi đều có khả năng cung cấp cho bạn một giải pháp phù hợp nhất.
Đừng ngần ngại! Hãy liên hệ với LANIT ngay theo địa chỉ sau đây:
Trụ sở tại: Toà Báo Công An Nhân Dân, 23 Nghiêm Xuân Yêm, Thanh Liệt, Thanh Trì, Hà Nội.
- Hotline: 0945.96.95.94
- Email: [email protected]
- Website: https://lanit.com.vn/
Lời kết
Như vậy, thông qua cách lấy chứng chỉ SSL trên Ubuntu 20.04 bằng Certbot, bạn đã tìm hiểu cách một cách tự động lấy chứng chỉ SSL cho trang web của mình. Quá trình này không chỉ đảm bảo tính bảo mật mà còn giúp duy trì sự an toàn liên tục trên mạng. Đây là toàn bộ các bước hướng dẫn của LANIT, nếu có bất kỳ thắc mắc nào hãy dể lại bình luận hoặc liên hệ chúng tôi ngay để được giải đáp ngay lập tức nhé!