Đầ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í.
Trong bài này có
Đâ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.
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 # ./certbot-auto --version Upgrading certbot-auto 0.21.1 to 0.22.2... Replacing certbot-auto... certbot 0.22.2
2. Kích hoạt chứng chỉ Let’s Encrypt 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 cunghocweb.com
và toàn bộ các subdomain *.cunghocweb.com
.
# cd /opt/letsencrypt # ./certbot-auto certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d cunghocweb.com -d *.cunghocweb.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): [email protected] -------------------------------------------------------------------------------
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 cunghocweb.com dns-01 challenge for cunghocweb.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: Y -------------------------------------------------------------------------------
Đồng ý chia sẻ thông tin IP Log (phải đồng ý)
Please deploy a DNS TXT record under the name _acme-challenge.cunghocweb.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.cunghocweb.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ú ý:
- Value1 hiện ra bạn cập nhật trên DNS Domain rồi Enter và tiếp tục với Value2.
- 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.
- Giá trị của TXT Record có thể thay đổi/không đổi qua các lần kích hoạt. Nếu kích hoạt fail, bạn cứ giữ nguyên nội dung TXT Record để dùng vào lần kích hoạt ngay sau đó (value có thể chưa đổi).
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/cunghocweb.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/cunghocweb.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 certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-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ỉ
# ./certbot-auto certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log ------------------------------------------------------------------------------- Found the following certs: Certificate Name: cunghocweb.com Domains: cunghocweb.com *.cunghocweb.com Expiry Date: 2018-06-16 14:51:20+00:00 (VALID: 89 days) Certificate Path: /etc/letsencrypt/live/cunghocweb.com/fullchain.pem Private Key Path: /etc/letsencrypt/live/cunghocweb.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). Đồng thời tham khảo Cấu hình Webserver cho SSL của WP Multisite
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ụ cunghocweb.com
, hoidap.cunghocweb.com
hay *.cunghocweb.com
và *.hoidap.cunghocweb.com
.
# ./certbot-auto certificates Saving debug log to /var/log/letsencrypt/letsencrypt.log ------------------------------------------------------------------------------- Found the following certs: Certificate Name: cunghocweb.com Domains: cunghocweb.com Expiry Date: 2018-06-16 14:51:20+00:00 (VALID: 89 days) Certificate Path: /etc/letsencrypt/live/cunghocweb.com/fullchain.pem Private Key Path: /etc/letsencrypt/live/cunghocweb.com/privkey.pem Certificate Name: cunghocweb.com-0001 Domains: *.cunghocweb.com Expiry Date: 2018-06-16 14:54:34+00:00 (VALID: 89 days) Certificate Path: /etc/letsencrypt/live/cunghocweb.com-0001/fullchain.pem Private Key Path: /etc/letsencrypt/live/cunghocweb.com-0001/privkey.pem Certificate Name: hoidap.cunghocweb.com Domains: hoidap.cunghocweb.com Expiry Date: 2018-06-16 14:56:41+00:00 (VALID: 89 days) Certificate Path: /etc/letsencrypt/live/sub.cunghocweb.com/fullchain.pem Private Key Path: /etc/letsencrypt/live/sub.cunghocweb.com/privkey.pem -------------------------------------------------------------------------------
– Nếu đã sở hữu chứng chỉ cho domain.com
, bạn chỉ cần chạy lệnh như hướng dẫn và chứng chỉ cũ sẽ được cập nhật bổ sung với lựa chọn E(Expand)
------------------------------------------------------------------------------- You have an existing certificate that contains a portion of the domains you requested (ref:/etc/letsencrypt/renewal/hocvps.com.conf) It contains these names: hocvps.com You requested these names for the new certificate: hocvps.com, *.hocvps.com. Do you want to expand and replace this existing certificate with the new certificate? ------------------------------------------------------------------------------- (E)xpand/(C)ancel: E
– Xác thực domain thất bại nếu TXT Record sai, thông báo:
Domain: cunghocweb.com Type: unauthorized Detail: Incorrect TXT record "xxx" (and 1 more) found at _acme-challenge.cunghocweb.com
Tùy trường hợp, value của TXT Record _acme-challenge sẽ thay đổi/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.
Theo HocVPS