Hướng dẫn bảo mật Web Server Apache với Let’s Encrypt trên Ubuntu 16.04

Email


Hướng dẫn này sẽ chỉ cho bạn cách thiết lập chứng chỉ TLS / SSL từ Let’s Encrypt trên một máy chủ Ubuntu 16.04 chạy Apache làm máy chủ web. Chứng chỉ SSL được sử dụng trong các web server để mã hóa lưu lượng truy cập giữa cloud server và máy tính cá nhân, cung cấp thêm tính bảo mật Apache với Let’s Encrypt cho những người dùng truy cập ứng dụng của bạn. Let’s Encrypt rất dễ dàng để thiết lập cũng như cho phép cài đặt các chứng chỉ tin cậy miễn phí.

Điều kiện chuẩn bị

Để hoàn thành hướng dẫn này, bạn sẽ cần:
– Một cloud server Ubuntu chạy phiên bản 16.04 trở lên với tài khoản non-root sudo-enable
– Máy chủ web Apache được cài đặt với một hoặc nhiều tên miền được cài đặt cấu hình sẵn thông qua các máy ảo chỉ định ServerName.
Khi bạn đã sẵn sàng để tiếp tục việc bảo mật Apache với Let’s Encrypt, hãy đăng nhập vào máy chủ của bạn bằng cách sử dụng tài khoản sudo-enabled.

Bước 1 – Cài đặt client Let’s Encrypt

Chứng chỉ Let’s Encrypt được mã hóa từ phần mềm client đang chạy trên cloud server. Phần mềm chính hãng được gọi là Certbot, và các nhà phát triển Cerbot luôn duy trì kho phần mềm Ubuntu riêng của họ với các phiên bản cập nhật mới nhất. Do đó, cách tốt nhất là sử dụng Cerbot để cài đặt thay cho Ubuntu mặc định.
Đầu tiên, thêm kho lưu trữ:

sudo add-apt-repository ppa: certbot / certbot

Sau đó, ấn ENTER để chấp nhận.
Tiếp theo, cập nhật danh sách gói để lấy thông tin gói của kho lưu trữ mới:

sudo apt-get update

Và cuối cùng, cài đặt Certbot từ kho lưu trữ bằng apt-get:

sudo apt-get install python-certbot-apache

Client certbot Let’s Encrypt đã sẵn sàng để sử dụng.

Bước 2 – Cài đặt Chứng chỉ SSL

Việc tạo chứng chỉ SSL cho Apache bằng Certbot khá đơn giản. Phần mềm client sẽ tự động nhận và cài đặt chứng chỉ SSL mới phù hợp với domain, được cung cấp dưới dạng các thông số.
Để thực hiện cài đặt và nhận được chứng chỉ chỉ bao gồm một miền duy nhất, hãy chạy lệnh certbot sau đây, với example.com là miền của bạn:

sudo certbot --apache -d example.com

Nếu bạn muốn cài đặt một chứng chỉ cho nhiều tên miền hoặc tên miền phụ, bạn có thể chuyển chúng như các tham số bổ sung cho lệnh. Tên miền đầu tiên trong danh sách các tham số sẽ là tên miền cơ sở được sử dụng bởi Let’s encrypt để tạo chứng chỉ. Vì vậy, bạn nên chuyển tên miền chính trở thành tên đầu tiên trong danh sách, tiếp theo là bất kỳ tên miền phụ bổ sung nào:

sudo certbot --apache -d example.com -d www.example.com

Trong ví dụ này, giả định tên miền cơ sở là example.com.
Nếu bạn có nhiều máy ảo, bạn nên chạy certbot một lần cho mỗi máy để tạo ra một chứng chỉ mới cho từng máy. Bạn có thể phân phối nhiều tên miền và tên miền phụ trên máy ảo của mình dưới bất kỳ hình thức nào.
Sau khi chạy lệnh, bạn sẽ được đưa qua các bước tuỳ chọn để thiết lập chứng chỉ của mình. Chẳng hạn như cung cấp địa chỉ email để khôi phục khoá mất cắp hoặc gửi thông báo. Ngoài ra bạn cũng được chọn khởi chạy cả hai giao thức httphttps song song hoặc chuyển tất cả về https. Thường thì phương án sau an toàn hơn trừ khi bạn có nhu cầu đặc biệt về http.
Khi cài đặt xong, bạn sẽ có thể tìm thấy các tập tin chứng chỉ được tạo ra tại / etc / letsencrypt / live. Bạn có thể xác minh tình trạng của chứng chỉ SSL với liên kết sau (đừng quên thay example.com bằng tên miền cơ sở của bạn nhé):

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

Bây giờ bạn có thể truy cập trang web của mình bằng cách sử dụng tiền tố https.
Đọc thêm về https tại: https://blog.cystack.net/how-does-https-actually-work/

Bước 3 – Thiết lập tự động gia hạn của Certbot

Let’s Encrypt chỉ có hiệu lực trong vòng 90 ngày, do đó việc thiết lập tự động gia hạn là rất quan trọng. Để làm điều này chúng ta sử dụng tập lệnh cron được đặt trong /etc/cron.d. Tác vụ này sẽ làm mới bất kỳ chứng chỉ nào còn 30 ngày hoạt động.
Để kiểm tra quá trình gia hạn, bạn có thể thực hiện dry run với certbot:

sudo certbot renew --dry-run

Nếu không có lỗi nào xảy ra, tất cả đã được thiết lập. Khi cần thiết, Certbot sẽ làm mới giấy chứng nhận của bạn và tải lại Apache để nhận các thay đổi. Nếu quá trình tự động gia hạn thất bại, Let’s Encrypt sẽ gửi một tin nhắn đến email mà bạn đã cung cấp trước đó để cảnh báo bạn khi chứng chỉ của bạn sắp hết hạn.

Kết luận

Bài viết này hướng dẫn các bạn cách thức để cài đặt chứng chỉ SSL miễn phí để bảo mật Apache với Let’s Encrypt một trang web lưu trữ trên máy chủ. Để biết các cập nhật quan trọng và biết thêm chi tiết về Certbot Client, bạn nên xem chi tiết tại blog chính thức của Let’s Encrypt và tài liệu Certbot.

Nhận những bài viết
chất lượng do chúng tôi chọn lọc








Email