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

- 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ụ: http://uptopz.com/

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ỉ.

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.

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.

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.

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:
# 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 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:
- 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:
# ./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ỉ:
# 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.