Https with Let’s Encrypt on CentOS 7
Https with Let’s Encrypt on CentOS 7
Tác giả chinhnv - 11/08/2019

Https with Let’s Encrypt on CentOS 7

Https là gì? Tại sao trang web của bạn nên có Https?

Https là gì?

– HTTPS viết tắt của Hyper Text Transfer Protocol Secure (giao thức truyền tải siêu văn bản bảo mật) là phiên bản an toàn của HTTP, giao thức mà nhờ đó dữ liệu được gửi giữa trình duyệt và trang web bạn đang kết nối. Chữ ‘S’ ở cuối HTTPS là viết tắt của “Secure” (Bảo mật).

Kết quả hình ảnh cho https

Nó có nghĩa là tất cả các giao tiếp giữa trình duyệt và trang web đều được mã hóa. HTTPS thường được sử dụng để bảo vệ các giao dịch trực tuyến có tính bảo mật cao như giao dịch ngân hàng và đặt hàng mua sắm trực tuyến.

Tại sao phải có chứng chỉ SSL (Https)?

– Tất cả các thông tin liên lạc được gửi qua các kết nối HTTP đều nằm trong văn bản thuần và có thể được đọc bởi bất kỳ hacker nào có thể đột nhập vào kết nối giữa trình duyệt và trang web của bạn. Việc này có thể là một mối nguy hiểm nếu nó có chứa thông tin liên lạc nằm trong đơn đặt hàng, chi tiết thẻ tín dụng hoặc số an sinh xã hội của bạn. Với kết nối HTTPS, tất cả các thông tin liên lạc đều được mã hóa an toàn. Điều này có nghĩa là ngay cả khi ai đó đã đột nhập vào kết nối, họ sẽ không thể giải mã bất kỳ dữ liệu nào đi qua giữa bạn và trang web.

Lợi ích của giao thức HTTPS

Lợi ích chính của chứng chỉ HTTPS là:

  • Thông tin khách hàng, như số thẻ tín dụng, được mã hóa.
  • Khách truy cập có thể xác minh bạn là một doanh nghiệp đã đăng ký và bạn sở hữu tên miền.
  • Nhận được niềm tin của khách hàng và hoàn tất việc mua hàng từ các trang web sử dụng HTTPS.

Vậy cách cài đặt và đăng ký Https trên Centos 7 cho trang website của bạn sẽ được chúng tôi giới thiệu ngay dưới đây:

Bước 1 – Cài đặt chương trình mã hóa máy chủ Certbot

  • Để thêm kho lưu trữ CentOS 7 EPEL, hãy chạy lệnh sau:

$ sudo yum install epel-release

  • Bây giờ bạn có quyền truy cập vào kho lưu trữ, cài đặt tất cả các gói cần thiết:

$ sudo yum install certbot python2-certbot-apache mod_ssl

Bước 2 – Lấy chứng chỉ

  • Để thực hiện cài đặt tương tác và nhận chứng chỉ chỉ bao gồm một tên miền, hãy chạy lệnh certbot với:

$ sudo certbot --apache -d tenmien.com -d www.tenmien.com

– Bạn cũng sẽ có thể chọn giữa bật cả truy cập http và https hoặc buộc tất cả các yêu cầu chuyển hướng sang https. Để bảo mật tốt hơn, nên chọn tùy chọn 2: Chuyển hướng nếu bạn không có nhu cầu đặc biệt để cho phép các kết nối không được mã hóa. Chọn lựa chọn của bạn sau đó nhấn ENTER.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):2

Khi quá trình cài đặt thành công, bạn sẽ thấy một thông báo tương tự như sau:

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

Bước 3 – Kiểm tra trạng thái chứng chỉ của bạn

– Truy cập link này để kiểm tra https://www.ssllabs.com/ssltest/analyze.html?d=tenmien.com

– Bạn sẽ đến một trang ngay lập tức bắt đầu kiểm tra kết nối SSL đến máy chủ của bạn:

blank

– Khi quá trình kiểm tra kết thúc, trang sẽ hiển thị một lớp chữ đánh giá mức độ bảo mật và chất lượng của cấu hình máy chủ của bạn. Tại thời điểm viết bài này, cài đặt mặc định sẽ cho điểm A:

blank

– Và chúng ta có thể truy cập được tên miền đã đăng ký https: https:tenmien.com

Bước 4 – Thiết lập tự động gia hạn

– Trước tiên, hãy kiểm tra lệnh mà bạn sẽ sử dụng để gia hạn chứng chỉ. Máy khách certbot Let Encrypt có lệnh gia hạn tự động kiểm tra các chứng chỉ hiện được cài đặt và cố gắng gia hạn chúng nếu chúng còn chưa đến 30 ngày kể từ ngày hết hạn. Bằng cách sử dụng tùy chọn --dry-run, bạn có thể chạy mô phỏng nhiệm vụ này để kiểm tra cách thức gia hạn hoạt động:

$ sudo certbot renew --dry-run

– Kết quả sẽ trông giống như thế này:

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/example.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator apache, Installer apache
Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for example.com
http-01 challenge for www.example.com
Waiting for verification...
Cleaning up challenges
Resetting dropped connection: acme-staging-v02.api.letsencrypt.org

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of apache server; fullchain is
/etc/letsencrypt/live/example.com/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/example.com/fullchain.pem (success)
...

– Chỉnh sửa crontab để tạo một công việc mới sẽ chạy đổi mới hai lần mỗi ngày. Để chỉnh sửa crontab cho người dùng root, hãy chạy:

$ sudo crontab -e

– Nhập chế độ chèn bằng cách nhấn i và thêm vào dòng sau:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

Lưu lại và thoát file crontab -e

Kết luận: Như vậy bên trên VC Shopee đã hướng dẫn các bạn làm thế nào để có thể đăng ký được Https cho website trên server Centos 7, mọi ý kiến các bạn hãy bình luận phía dưới để chúng tôi hướng dẫn và có cách xử lý khi các bạn gặp lỗi. Chúc các bạn thành công!