Hãy cùng xem xét để nhận chứng chỉ SSL / TLS MIỄN PHÍ từ ZeroSSL và triển khai nó trong các máy chủ web Apache và Nginx.

Giới thiệu

Bạn có thể đã nghe rất nhiều về thuật ngữ như HTTP và HTTPS. Trong những ngày đầu, một giao thức đã được xác định, được đặt tên là Giao thức truyền siêu văn bản (HTTP). Đó là một cách để giao tiếp từ trình duyệt đến máy chủ web. Khi giao tiếp này xảy ra, dữ liệu di chuyển trên giao thức HTTP, chỉ di chuyển ở các định dạng văn bản rõ ràng. Do đó, người ta nhận ra rằng giao tiếp HTTP không an toàn và tin tặc có thể tấn công và chặn các tin nhắn quan trọng và nhạy cảm.

Để giải quyết vấn đề này, HTTPS giao thức đi vào hình ảnh. Nó là một giao thức an toàn và từ viết tắt của Giao thức truyền siêu văn bản an toàn. Nó chỉ đơn giản là thực hiện mã hóa dữ liệu khi giao tiếp xảy ra và dữ liệu di chuyển từ trình duyệt web đến máy chủ web. Vì vậy, nếu có bất kỳ tin tặc nào lấy thông tin đó, thì nó đã được mã hóa tất cả.

HTTPS hoạt động như thế nào?

Giao thức HTTPS hoạt động trên một trong hai điều, đó là SSL (Lớp cổng bảo mật) hoặc TLS (Bảo mật lớp vận chuyển). Cả hai công cụ đều sử dụng PKI (Cơ sở hạ tầng khóa công khai). PKI, lần lượt, sử dụng hai khóa, tức là. khóa công khai và riêng tư. Bất cứ điều gì được mã hóa bằng khóa chung đều có thể được giải mã bằng khóa riêng và ngược lại.

Khi chúng tôi cài đặt chứng chỉ SSL / TLS trên trang web của mình,mã hóa dữ liệuTính năng được bật. SSL được sử dụng làm điểm kiểm tra để đảm bảo tính bảo mật của dữ liệu được trao đổi qua Internet giữa trình duyệt người dùng và máy chủ trang web.

Nhận chứng chỉ ZeroSSL

ZeroSSL là cơ quan cấp chứng chỉ (CA) giúp mọi người dễ dàng cài đặt chứng chỉ để bảo mật trang web. Bạn có thể nhận được tối đa 3 chứng chỉ với 90 ngày hiệu lực miễn phí.

Không có SSL

  • Đăng ký với ZeroSSL
  • Sau khi đăng nhập, trang dưới đây sẽ xuất hiện. Bấm vào ‘Giấy chứng nhận mới.

  • Nhập URL bạn muốn bảo mật và nhấp vàoBước tiếp theo.Càng

  • Chọn chứng chỉ 90 ngày và tiếp theo

  • Hãy cùng tiến hành với tùy chọn CSR tự động tạo

  • Tiếp tục với kế hoạch Free Free

Tiếp theo, bạn sẽ cần xác minh quyền sở hữu tên miền. có một vài tùy chọn.

  • DNS – nếu bạn có thể thêm mục nhập bản ghi DNS
  • Email – nếu bạn có thể nhận email đến [email được bảo vệ]
  • Tải lên tệp – nếu bạn có thể tải lên một tệp trên thư mục gốc của tên miền

Chọn những gì làm việc cho bạn. Tôi sẽ tiến hành nhập DNS.

  • Tôi đã thêm CNAME và sẵn sàng xác minh tên miền.

  • Cuối cùng, sau khi được xác minh, chứng chỉ SSL đã sẵn sàng để tải xuống.

Đây là chứng chỉ tải về của tôi.

Đã đến lúc thực hiện nó.

Triển khai trên Apache

Sau đây, tôi sẽ cài đặt Apache trên Ubuntu.

Đăng nhập vào máy chủ và cài đặt bằng lệnh apt-get.

sudo apt-get cài đặt apache2

Hãy cùng tìm hiểu xem Apache có đang chạy bằng lệnh systemctl không.

[email được bảo vệ]: ~ # trạng thái hệ thống apache2
● apache2.service – Máy chủ HTTP Apache
Đã tải: đã tải (/lib/systemd/system/apache2.service; enable; nhà cung cấp cài sẵn: đã bật)
Thả vào: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Hoạt động: hoạt động (chạy) kể từ Thứ bảy 2020-05-23 16:15:56 UTC; 3s trước
Quá trình: 7852 ExecStop = / usr / sbin / apachectl stop (code = exited, status = 0 / SUCCESS)
Quá trình: 14179 ExecStart = / usr / sbin / apachectl start (code = exited, status = 0 / SUCCESS)
PID chính: 14196 (apache2)
Nhiệm vụ: 55 (giới hạn: 2362)
Cgroup: /system.slice/apache2.service
├─14196 / usr / sbin / apache2 -k bắt đầu
├─14199 / usr / sbin / apache2 -k bắt đầu
└─14200 / usr / sbin / apache2 -k bắt đầu

23 tháng 5 16:15:56 geekflare-lab systemd [1]: Bắt đầu Máy chủ HTTP Apache…
23 tháng 5 16:15:56 geekflare-lab apachectl [14179]: AH00558: apache2: Không thể xác định một cách đáng tin cậy tên miền đủ điều kiện của máy chủ, sử dụng 127.0.1.1. Đặt ‘Phục vụ
23 tháng 5 16:15:56 geekflare-lab systemd [1]: Bắt đầu Máy chủ HTTP Apache.

Tuyệt, nó đang chạy.

Tên miền của tôi (lab.geekflare.com) đã trỏ đến máy chủ Apache này.

Nhưng như bạn có thể thấy, nó không được bảo mật và do đó, chúng tôi sẽ định cấu hình chứng chỉ mà chúng tôi nhận được từ ZeroSSL.

  • Hãy để chúng tôi tạo một thư mục có tên sslCA bên dưới / etc để lưu trữ các tệp chứng chỉ.

cd / vv
mkdir sslCA

  • Chuyển các tập tin vào thư mục mới được tạo trên máy chủ

[email được bảo vệ]: / etc / sslCA # ll
tổng số 20
gốc root drwxr-xr-x 2 4096 18 tháng 5 12:13 ./
gốc rễ drwxr-xr-x 92 4096 ngày 22 tháng 5 06:07 ../
-rw-r – r– 1 root 2430 18 tháng 5 05:37 ca_bundle.crt
-rw-r – r– 1 root root 2292 18 tháng 5 05:37 cert.crt
-rw-r – r– 1 root 1702 18 tháng 5 05:37 private.key

  • Kích hoạt mô-đun SSL

sudo a2enmod SSL

  • Chúng tôi sẽ phải khởi động lại máy chủ web để những thay đổi có thể được nhận ra.

sudo dịch vụ apache2 khởi động lại

  • Bước tiếp theo là định cấu hình các tệp chứng chỉ trên tệp cấu hình SSL SSL.

cd / etc / apache2 / mods có sẵn

  • Tên của tập tin là ssl.conf. Chúng ta cần thêm vào sau đây trong chỉ thị.

SSLEngine trên
SSLCertertFile /etc/SSLCA/cert ve.crt
SSLCertertKeyFile /etc/SSLCA/private.key
SSLCertertChainFile /etc/SSLCA/ca_bundle.crt

  • Lưu tệp và thoát: wq!

Sau khi thực hiện khởi động lại, SSL sẽ được kích hoạt trên trang web. Hãy để Truy cập trang web bằng cách sử dụng https: //

Và, như bạn thấy,Kết nối là chắc chắn. Điều đó có nghĩa là chứng chỉ SSL của chúng tôi đã được áp dụng thành công cho máy chủ web của chúng tôi.

Triển khai trên Nginx

Nginx được đặt trong kho lưu trữ mặc định của Ubuntu, do đó, có thể cài đặt nó từ đây bằng cách sử dụng hệ thống đóng gói phù hợp.

  • Lệnh dưới đây được sử dụng để cài đặtNginxGiáo dục.

sudo apt cài đặt nginx

  • Sau khi cài đặt thành công, chúng ta có thể khởi động Nginx bằng lệnh bên dưới.

hệ thống bắt đầu nginx

  • Kiểm tra trạng thái của Nginx.

[email được bảo vệ]: ~ # trạng thái systemctl nginx
● nginx.service – Máy chủ web hiệu suất cao và máy chủ proxy ngược
Đã tải: đã tải (/lib/systemd/system/nginx.service; enable; nhà cung cấp cài sẵn: đã bật)
Hoạt động: hoạt động (đang chạy) kể từ Thứ ba 2020-05-19 06:54:00 UTC; 4 ngày trước
Tài liệu: người đàn ông: nginx (8)
Quá trình: 8634 ExecStop = / sbin / start-stop-daemon –quiet –stop –retry QUIT / 5 –pidfile /run/nginx.pid (code = exited, status = 0 / SUCCESS)
Quá trình: 8661 ExecStart = / usr / sbin / nginx -g daemon trên; master_ process trên; (mã = đã thoát, trạng thái = 0 / THÀNH CÔNG)
Quá trình: 8653 ExecStartPre = / usr / sbin / nginx -t -q -g daemon trên; master_ process trên; (mã = đã thoát, trạng thái = 0 / THÀNH CÔNG)
PID chính: 8664 (nginx)
Nhiệm vụ: 2 (giới hạn: 2362)
Cgroup: /system.slice/nginx.service
├─8664 nginx: quy trình tổng thể / usr / sbin / nginx -g daemon trên; master_ process trên;
└─8707 nginx: quy trình công nhân

Ngày 19 tháng 5 06:54:00 geekflare-lab systemd [1]: Bắt đầu một máy chủ web hiệu suất cao và máy chủ proxy ngược…
Ngày 19 tháng 5 06:54:00 geekflare-lab systemd [1]: nginx.service: Không thể phân tích cú pháp PID từ tệp /run/nginx.pid: Đối số không hợp lệ
Ngày 19 tháng 5 06:54:00 geekflare-lab systemd [1]: Bắt đầu Một máy chủ web hiệu suất cao và máy chủ proxy ngược.

  • Theo dự kiến, trình duyệt sẽ hiển thị cảnh báo vì kết nối đến trang web này không an toàn.

Hãy nhanh chóng triển khai chứng chỉ để đảm bảo an toàn cho trang web bằng HTTPS.

  • Hãy để từ chối tạo tập tin example.com tại vị trí /etc/nginx/conf.d. Nội dung tập tin sẽ trông như dưới đây.

người phục vụ {
nghe 443 SSL default_server;
nghe [::]: 443 SSL default_server;
server_name lab.geekflare.com lab.geekflare.com;
root / var / www / html;
}

  • Bây giờ, nó bắt buộc phải thêm một tên tệp chứng chỉ trong tệp nginx.conf nằm trong thư mục của Cameron / etc / nginx..
  • Thêm các mục sau trong chỉ thị http

ssl_cert ve /etc/sslCA/cert ve.crt;
ssl_cert ve_key /etc/sslCA/private.key;

  • Khởi động lại Nginx để xác minh các thay đổi

systemctl khởi động lại nginx

Và chúng ta đi đây.

Quan tâm đến việc học Nginx? Kiểm tra này khóa học cơ bản.

Kiểm tra cấu hình SSL / TLS

Cấu hình mặc định có thể dễ bị tổn thương và tôi thực sự khuyên bạn nên kiểm tra trang web của bạn sau khi thực hiện chứng chỉ. Có một số công cụ trực tuyến bạn có thể kiểm tra ở đây.

Phần kết luận

Tôi hy vọng điều này cung cấp cho bạn ý tưởng lấy chứng chỉ từ ZeroSSL và triển khai nó trong hai máy chủ web phổ biến nhất.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me