Hướng Dẫn Tạo & Cài Đặt Chứng Chỉ SSL Miễn Phí Let’s Encrypt

Bùi Kiệt Anh
9 phút
Cách lấy chứng chỉ TLS/SSL miễn phí Let's Encrypt

Chứng chỉ SSL là tiêu chuẩn an ninh công nghệ toàn cầu mà tất cả các trang web HTTPS đều cần để thiết lập kênh kết nối an toàn tới máy chủ cũng như tối ưu hoá công cụ tìm kiếm. Với máy chủ CentOS sử dụng hệ thống quản trị Apache và Cpanel, bạn hoàn toàn có thể tạo chứng chỉ SSL miễn phí với Let’s Encrypt.

Giới thiệu Let’s Encrypt CA

Let’s Encrypt CA là chứng nhận mở được phát triển bởi Internet Security Research Group (ISRG), dịch vụ cung cấp các chứng chỉ kỹ thuật số cần thiết để kích hoạt giao thức bảo mật HTTP TLS cho trang web.

Let’s Encrypt mong muốn tạo ra một trang web an toàn và bảo mật, thân thiện nhất với người dùng dựa trên các nguyên tắc hoạt động chính: Miễn phí, tự động, an toàn, công khai, tiêu chuẩn mở, hợp tác.

Cách thức hoạt động của Let’s Encrypt

Let’s Encrypt sẽ giúp bạn thiết lập giao thức HTTPS để máy chủ tự động nhận chứng chỉ trình duyệt tin cậy mà không cần bất kỳ sự can thiệp nào của con người.

Điều này được thực hiện bằng cách chạy trình quản lý chứng chỉ trên máy chủ với 2 bước: Xác thực tên miền và yêu cầu cấp chứng chỉ.

Xác thực tên miền với Let’s Encrypt CA

Let’s Encrypt sẽ tạo cặp khóa bảo mật công khai mới để xác minh máy chủ kiểm soát một hoặc nhiều tên miền. Điều này tương tự như quy trình CA truyền thống là tạo tài khoản và thêm miền xác thực vào tài khoản đó.

Để bắt đầu quá trình, Let’s Encrypt sẽ tiến hành đặt ra bộ quy định truy vấn những thông tin cần thiết để xác thực tên miền với một trong hai lựa chọn cấp phép:

  • Cấp phép bản ghi DNS của máy chủ bao gồm thông tin về cơ sở dữ liệu, tên miền, địa chỉ IP,…

Ví dụ: uptopz.com

Hình ảnh minh họa trình quản lý cung cấp thông tin bản ghi uptopz.com cho Let’s Encrypt để xác thực tên miền
Hình ảnh minh họa trình quản lý cung cấp thông tin bản ghi uptopz.com cho Let’s Encrypt để xác thực tên miền
  • Cấp phép giao thức HTTP cùng URI (Uniform Resource Identifier: Định danh tài nguyên thống nhất, là tập cha của URL, chuỗi ký tự xác thực cả vị trí và tên miền của một địa chỉ website).

Ví dụ: https://uptopz.com/

Hình ảnh minh họa trình quản lý cung cấp thông tin bản ghi https://uptopz.com/ cho Let’s Encrypt để xác thực tên miền
Hình ảnh minh họa trình quản lý cung cấp thông tin bản ghi https://uptopz.com/ cho Let’s Encrypt để xác thực tên miền

Let’s Encrypt đưa ra bộ quy định bắt buộc rằng mỗi tên miền phải được xác thực và quản lý bởi cặp khoá bảo mật riêng. Phần mềm sẽ tạo một trình quản lý cụ thể trên chính trang web để tiến hành xác thực tên miền, khi quá trình hoàn thành, trình quản lý sẽ thông báo về hệ thống chủ CA (Tổ chức phát hành chứng chỉ) rằng website đã sẵn sàng hoàn tất xác thực.

Khi nhận được kết quả hoàn thành, Let’s Encrypt sẽ gửi một cặp khóa riêng cho trình quản lý để kiểm soát tên miền đó.

Cấp và thu hồi chứng chỉ Let’s Encrypt

Sau khi hoàn tất quá trình xác thực tên miền, việc yêu cầu cấp, gia hạn hoặc thu hồi chứng chỉ rất đơn giản. Chỉ cần gửi thông báo quản lý chứng chỉ và xác nhận chúng bằng cặp khóa bảo mật công khai được ủy quyền riêng.

Để yêu cầu cấp chứng chỉ cho tên miền, trình quản lý sẽ tự động tạo CSR (Certificate Signing Request: Yêu cầu ký chứng chỉ, là một văn bản chứa thông tin như tên miền, tổ chức, địa chỉ,…mã hoá từ máy chủ, ký bằng khóa công khai, được tạo ra để gửi đến nhà cung cấp yêu cầu cấp chứng thực số SSL) PKCS #10 gửi đến Let’s Encrypt CA.

Yêu cầu ký chứng chỉ sẽ bao gồm xác nhận cặp khoá bảo mật công khai của tên miền và khóa kiểm soát của trình quản lý để Let’s Encrypt CA biết rằng trang web đó đã được xác thực ủy quyền.

Sau khi Let’s Encrypt CA nhận được xác minh của hai khoá bảo mật, nếu mọi thứ hoàn tất đúng theo quy định, nó sẽ cấp chứng chỉ cho tên miền dựa trên khóa công khai từ Yêu cầu ký chứng chỉ.

Hình ảnh minh họa trình quản lý gửi CSR của tên miền uptopz.com cho Let’s Encrypt và nhận về chứng nhận SSL (minh hoạ bảo mật bằng biểu tượng chìa khoá)
Hình ảnh minh họa trình quản lý gửi CSR của tên miền uptopz.com cho Let’s Encrypt và nhận về chứng nhận SSL (minh hoạ bảo mật bằng biểu tượng chìa khoá)

Tương tự, khi muốn thu hồi hoặc gia hạn chứng chỉ, trình quản lý cũng sẽ gửi yêu cầu và chờ xác nhận từ hệ thống chủ CA.

Cài đặt chứng chỉ SSL miễn phí Let’s Encrypt trên máy chủ CentOS với Cpanel Hosting

Hướng dẫn chi tiết các bước lấy và cài đặt chứng chỉ bảo mật TLS/SSL miễn phí Let’s Encrypt trên máy chủ CentOS sử dụng phần mềm điều khiển Cpanel:

Bước 1: Truy cập Lets Encrypt trong Cpanel

Truy cập vào Cpanel → Tìm đến phần Security → Chọn mở Lets Encrypt™ SSL.

Lets Encrypt™ SSL có biểu tượng ổ khóa trong vòng tròn màu xanh ở bước 1 cài đặt SSL miễn phí Let's Encrypt trên máy chủ CentOS với Cpanel Hosting
Lets Encrypt™ SSL có biểu tượng ổ khóa trong vòng tròn màu xanh ở bước 1 cài đặt SSL miễn phí Let’s Encrypt trên máy chủ CentOS với Cpanel Hosting

Bước 2: Cho phép cấp chứng chỉ mới

Tìm mục Issue a new certificate hiển thị danh sách tên miền → Chọn +Issue để thêm chứng chỉ cho tên miền tương ứng.

Tuỳ chọn + Issue màu xanh nằm phía bên phải màn hình ở bước 2 cài đặt SSL miễn phí Let's Encrypt trên máy chủ CentOS với Cpanel Hosting
Tuỳ chọn + Issue màu xanh nằm phía bên phải màn hình ở bước 2 cài đặt SSL miễn phí Let’s Encrypt trên máy chủ CentOS với Cpanel Hosting

Bước 3: Kiểm tra tình trạng cấp chứng chỉ mới

Sau khi chọn +Issue, quá trình thêm chứng chỉ sẽ mất khoảng vài phút, khi hoàn thành bạn sẽ nhận được thông báo thành công và hiển thị trạng thái Installed cho domain tương ứng ở mục Your domains with Lets Encrypt™ certificates.

Hình ảnh minh hoạ miền uptopz.com hiển thị trạng thái installed ở bước 3 cài đặt SSL miễn phí Let's Encrypt trên máy chủ CentOS với Cpanel Hosting
Hình ảnh minh hoạ miền uptopz.com hiển thị trạng thái installed ở bước 3 cài đặt SSL miễn phí Let’s Encrypt trên máy chủ CentOS với Cpanel Hosting

Cài đặt SSL miễn phí Let’s Encrypt trên máy chủ CentOS với Apache

Để cài đặt chứng chỉ SSL Let’s Encrypt miễn phí trên máy chủ CentOS sử dụng Apache, thực hiện theo các bước hướng dẫn dưới đây.

Bước 1: Đăng nhập máy chủ thông qua giao thức SSH

Đăng nhập vào máy chủ thông qua SSH với quyền root và chạy lệnh sau:

# yum install -y git
# cd /opt/
# git clone https://github.com/letsencrypt/letsencrypt
# cd letsencrypt/

Ở câu lệnh trên phần cd hiển thị vị trí thư mục /opt/letsencrypt, hãy nhớ rõ vị trí lưu trữ cho trường hợp sau này khi cần chạy lại lệnh.

Bước 2: Tạm tắt NGINX và Apache

Tiếp theo, thực hiện tắt tạm thời NGINX và Apache với câu lệnh dưới đây:

# service nginx stop
# service httpd stop

Bước 3: Thêm chứng chỉ SSL từ Let’s Encrypt cho Hostname (tên máy chủ)

  • Câu lệnh để thêm chứng chỉ SSL cho phần mềm điều khiển Apache:
# ./letsencrypt-auto certonly –standalone -d hostname
  • Cung cấp thông tin Email để khôi phục chứng chỉ → Chọn Agree và Enter để xác nhận.
  • Chứng chỉ được mặc định thời gian sử dụng là 3 tháng, để bật tính năng tự động gia hạn, sử dụng lệnh:
# cd /opt/letsencrypt
# ./letsencrypt-auto renew

Bước 4: Tạo Symbolic link

Tạo Symbolic link (hay Symlink là liên kết tượng trưng, tạo lối tắt từ thư mục này trỏ đến tài liệu hoặc thư mục khác ở dạng đường dẫn tương đối hoặc tuyệt đối) tại thư mục /usr/local/vesta/ssl để chứa các tệp tin chứng chỉ:

# rm -rf /usr/local/vesta/ssl/certificate.crt
# ln -s /etc/letsencrypt/live/hostname/cert.pem /usr/local/vesta/ssl/certificate.crt
# rm -rf /usr/local/vesta/ssl/certificate.key
# ln -s /etc/letsencrypt/live/hostname/privkey.pem /usr/local/vesta/ssl/certificate.key

Sau khi hoàn thành các bước hướng dẫn trên, hãy khởi động lại phần mềm điều khiển Apache và truy cập vào trang quản trị, bạn sẽ thấy thông báo chứng chỉ SSL hợp lệ.

Lưu ý: Ở những câu lệnh phía trên, khi sử dụng hãy thay tên máy chủ ở phần Hostname.

Nếu bạn không muốn đánh mất lưu lượng truy cập và khiến người dùng cảm thấy “lo ngại” khi các trình duyệt bắt đầu hiện cảnh báo “truy cập không an toàn” khi họ nhấp vào các liên kết đến trang của bạn trên Serp, thì đừng chậm trễ nữa, nhanh chóng lấy chứng chỉ Let’s Encrypt miễn phí và cài đặt bảo mật ngay cho trang web của mình. Hy vọng những chia sẻ vừa rồi giúp bạn thực hành mọi thứ dễ dàng hơn.

Cảm ơn bạn đã không ngừng ủng hộ các bài đăng tại Uptopz.com. Hẹn gặp lại bạn trong các hướng dẫn tiếp theo của chúng tôi.

Bùi Kiệt Anh
SEOer và người phát triển nội dung tại UptopZ Media. Bắt đầu bén duyên với ngành SEO từ năm 2016, Kiệt Anh chuyên tổng hợp tin tức liên quan đến thuật toán và xu hướng mới nhất của các công cụ tìm kiếm để tạo nội dung hướng dẫn chiến lược tối ưu từ khóa, cải thiện thứ hạng và tăng cường lưu lượng truy cập hữu ích cho website của chính bạn.
Chia sẻ bài viết