Cài đặt Let’s Encrypt Wildcard SSL miễn phí trên VPS/Server
19 Mar
0

Cài đặt Let’s Encrypt Wildcard SSL miễn phí trên VPS/Server

Posted By: Tan Times Read: 807

Đầu năm 2018, Let’s Encrypt thông báo sắp sửa cung cấp chứng chỉ Wildcard SSL . Sau nhiều lần trì hoãn thì cuối cùng ngày hôm nay, chúng ta đã có thể đăng ký kích hoạt chứng chỉ này hoàn toàn miễn phí.

Đây là một cột mốc quan trọng giúp tiến dần hơn tới mục tiêu biến HTTPS thành giao thức được sử dụng 100% trên Internet. Trước đây, Let’s Encrypt chỉ phát hành chứng chỉ Domain Validation SSL – chứng thực cho Domain Name.

Cụ thể, Let’s Encrypt Wildcard SSL là chứng chỉ SSL có thể dùng cho tất cả các subdomain của tên miền có dạng *.domain.com. Bạn chỉ cần kích hoạt một lần là toàn bộ subdomain về sau có thể cài đặt sử dụng chứng chỉ ngay được. Wildcard SSL lý tưởng cho việc sử dụng nhiều tên miền phụ như WordPress Multisite (dạng subdomain), gian hàng online…

Quy trình cài đặt chứng chỉ Wildcard SSL hơi khác so với cài đặt Let’s Encrypt thông thường, ngoài ra không phải ai cũng có nhu cầu sử dụng Wildcard nên Học VPS sẽ viết một bài hướng dẫn riêng. Wildcard SSL cũng có giới hạn thời gian sử dụng 3 tháng nên bạn cần cấu hình certbot tự động gia hạn sử dụng crontab.

Lưu ý: nếu đang dùng CloudFlare, hãy tắt chức năng ẩn IP bằng cách click chuyển đám mây từ Vàng sang Xám. Xem thêm hướng dẫn cài đặt CloudFlare.

1. Chuẩn bị hệ thống

– Cài đặt Let’s Encrypt (bỏ qua nếu đã thực hiện)

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

– Wildcard SSL yêu cầu Cerbot phiên bản 0.22.0 trở lên. Việc kiểm tra phiên bản sẽ tự động cập nhật Certbot lên bản mới nhất.

# cd /opt/letsencrypt 
# ./letsencrypt-auto --version
Upgrading certbot-auto 0.21.1 to 0.22.0...
Replacing certbot-auto...
certbot 0.22.0

2. Kích hoạt chứng chỉ Wildcard SSL

Wildcard SSL chỉ dành cho các subdomain dạng *.domain.com, không thể bảo mật cho domain.com. Vì vậy, nếu cần dùng bạn nên kích hoạt đồng thời domain SSL và Wildcard SSL trong 1 chứng chỉ.

Ví dụ trong bài mình sẽ hướng dẫn phát hành chứng chỉ cho cả domain hocvps.com và toàn bộ các subdomain *.hocvps.com.

# cd /opt/letsencrypt
# ./letsencrypt-auto certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d hocvps.com -d *.hocvps.com

Let’s Encrypt sẽ cài đặt những công cụ cần thiết. Sau đó, bạn hãy nhập địa chỉ mail, đồng ý với các quy định.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): admin@gmail.com
-------------------------------------------------------------------------------

Nhập địa chỉ email sử dụng để gửi thông báo.

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: N

Chấp nhận quy định nhấn A và đồng ý nhận tin tức qua email, Y/N đều được.

Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for hocvps.com
dns-01 challenge for hocvps.com
-------------------------------------------------------------------------------
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.
Are you OK with your IP being logged?
-------------------------------------------------------------------------------
(Y)es/(N)o: N
-------------------------------------------------------------------------------

Đồng ý chia sẻ thông tin IP Log hay không Y/N

Please deploy a DNS TXT record under the name
_acme-challenge.hocvps.com with the following value:
5am86r64Bbx0cd1rCT2NapwNGsVLQkInx73WgM4vp-w
Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue
-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.hocvps.com with the following value:
dWY-f4K22BSI1DEOqnfJ-v0TXPgcaXLhsKx7lAgRLNs
Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

Đây là bước quan trọng nhất, xác thực quyền sở hữu domain bằng cách tạo 2 record TXT với nội dung hiển thị trên màn hình. Xong nhấn Enter.

Chú ý:

 

  • Nhiều DNS Server update record rất chậm, mất vài giờ hoặc một vài ngày mới nhận record TXT. Để kiểm tra domain đã update record chưa, các bạn có thể dùng tool DNS Text Lookup.
  • Nếu record chưa được update, quá trình kích hoạt sẽ Fail. Bạn đợi đến khi record nhận rồi chạy lại lệnh từ đầu.
  • TXT record này tương ứng theo tên miền nên không thay đổi mỗi khi chạy lệnh kích hoạt.

 

Nếu không có vấn đề gì xảy ra, bạn xe nhận được thông báo chúc mừng Congratulations! như bên dưới:

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/hocvps.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/hocvps.com/privkey.pem
   Your cert will expire on 2018-06-16. To obtain a new or tweaked
   version of this certificate in the future, simply run
   letsencrypt-auto again. To non-interactively renew *all* of your
   certificates, run "letsencrypt-auto renew"
 - 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

Kiểm tra lại nội dung chứng chỉ

# ./letsencrypt-auto certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log
-------------------------------------------------------------------------------
Found the following certs:
Certificate Name: hocvps.com
    Domains: hocvps.com *.hocvps.com
    Expiry Date: 2018-06-16 14:51:20+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/hocvps.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/hocvps.com/privkey.pem
-------------------------------------------------------------------------------

Như vậy, bạn đã phát hành thành công chứng chỉ Let’s Encrypt – bao gồm cả DV SSL và Wildcard SSL. Bước tiếp theo, hãy cài đặt trên Webserver như Hướng dẫn cài đặt chứng chỉ bảo mật Let’s Encrypt (phần 2/ Cấu hình Nginx) và cấu hình tự động gia hạn với crontab (phần 4/ Tự động gia hạn Let’s Encrypt).

3. Một số vấn đề gặp phải

– Tùy theo nhu cầu sử dụng, có thể phát hành đồng thời/riêng lẻ các chứng chỉ của một domain. Ví dụ hocvps.comhoidap.hocvps.com hay *.hocvps.com và *.hoidap.hocvps.com.

# ./letsencrypt-auto certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log
-------------------------------------------------------------------------------
Found the following certs:
  Certificate Name: hocvps.com
    Domains: hocvps.com
    Expiry Date: 2018-06-16 14:51:20+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/hocvps.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/hocvps.com/privkey.pem
  Certificate Name: hocvps.com-0001
    Domains: *.hocvps.com
    Expiry Date: 2018-06-16 14:54:34+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/hocvps.com-0001/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/hocvps.com-0001/privkey.pem
  Certificate Name: hoidap.hocvps.com
    Domains: hoidap.hocvps.com
    Expiry Date: 2018-06-16 14:56:41+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/sub.hocvps.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/sub.hocvps.com/privkey.pem
-------------------------------------------------------------------------------

– Xác thực domain thất bại nếu TXT Record sai, thông báo:

Domain: hocvps.com
   Type:   unauthorized
   Detail: Incorrect TXT record
   "xxx" (and 1 more) found at _acme-challenge.hocvps.com

Value của TXT Record _acme-challenge sẽ không đổi qua các lần xác thực domain nên bạn hãy kiểm tra thật cẩn thận TXT Record với tool DNS Text Lookup rồi chạy lại lệnh phát hành là được.

Tags: sll
Comments
Write Comment
Bản quyền thuộc về tlptech.vn
CÔNG TY TNHH DỊCH VỤ CÔNG NGHỆ TÂN LỢI PHÁT © 2014