Skip to main content

[LLMP – 4] Cài đặt Web Server Lighttpd trên Red Hat CentOS 7 – Cài đặt Let’s Encrypt

[LLMP – 4] Cài đặt Web Server Lighttpd trên Red Hat CentOS 7 – Cài đặt Let’s Encrypt

Tiếp nối theo phần trước ở phần này thì tương đối đơn giản hơn, ở phần này mình sẽ hướng dẫn các bạn tạo ra chứng chỉ SSL KEY để có thể sử dụng trong bất kỳ giao thức nào hỗ trợ SSL (các giao thức hỗ trợ gồm có https, smtp, ftps...)
SSL hay Secure Sockets Layer là giao thức hoạt động với cách thức như thế nào mà bảo mật cao đến như vậy bạn có thể tìm hiểu kỹ ở bài này Giải thích cơ chế hoạt động của SSL.
Thay vì xin chứng chỉ bạn có thể tự tạo một chứng chỉ của riêng bạn với chứng chỉ tự ký bằng hướng dẫn ở bài này.
Nếu bạn muốn xài chứng chỉ miễn phí từ CloudFlare có thể xem bài này hướng dẫn.

Cài đặt Let’s Encrypt:

Let’s Encrypt là gì?

Let’s Encrypt là một phần mềm mã nguồn mở chức năng của nó là để kết nối đến tổ chức Nghiên cứu An toàn Internet (ISRG) do liên minh của một số tập đoàn lớn lập ra nhằm bảo vệ sự an toàn trên mạng Internet.

[LLMP – 4] Cài đặt Web Server Lighttpd trên Red Hat CentOS 7 – Cài đặt Let’s Encrypt

Cách thức cài đặt Let’s Encrypt như thế nào?

Bạn get source Let’s Encrypt về bằng câu lệnh git: (vào thư mục /opt/letsencrypt)

cd ~
yum -y install git
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
/opt/letsencrypt/letsencrypt-auto -h

Cách xin chứng chỉ bằng Let’s Encrypt như thế nào?

Đầu tiên là tắt những gì đang chạy chiếm port 80 hoặc 443 trên máy chủ đi (thường hay là Lighttpd, Apache hoặc Nginx):

service lighttpd stop

Trỏ domain cần xin chứng chỉ ví dụ your-domain.gq về IP của máy chủ đang cài Let’s Encrypt

Sau đó bạn mới có thể tiến hành xin chứng chỉ cho domain:

/opt/letsencrypt/letsencrypt-auto certonly --standalone --agree-tos --email [email protected] -d your-domain.gq -d www.your-domain.gq -d mail.your-domain.gq 

[email protected] là email quản lý chứng chỉ
-d your-domain.gq -d www.your-domain.gq -d mail.your-domain.gq là mình muốn xin 1 chứng chỉ mà có thể chứng cho 3 domain your-domain.gq, www.your-domain.gq, mail.your-domain.gq, bạn muốn xin thêm bao nhiêu cũng được miễn là phải trỏ domain đó về máy chủ của bạn đã cài Let’s Encrypt.
your-domain.gq, www.your-domain.gq, mail.your-domain.gq đều trỏ về IP máy chủ này

Chứng chỉ sẽ được nằm tại vị trí /etc/letsencrypt/live/your-domain.gq/ bao gồm các file sau:

/etc/letsencrypt/live/your-domain.gq/cert.pem
/etc/letsencrypt/live/your-domain.gq/chain.pem
/etc/letsencrypt/live/your-domain.gq/fullchain.pem
/etc/letsencrypt/live/your-domain.gq/privkey.pem

Cách thức phần mềm Let’s Encrypt hoạt động?

Khi kích phần mềm Let’s Encrypt xin một chức chỉ cho domain nào đó ví dụ your-domain.gq chẳng hạn, Let’s Encrypt client sẽ ngay lập tức tạo một sự lắng nghe ở port 80 hoặc 443 tại máy chủ của bạn. Đồng thời gửi một gói tin về cho tổ chức ISRG là bạn xin chứng cho domain your-domain.gq. Máy chủ của tổ chức ISRG sẽ kiểm tra xem lắng nghe ở địa chỉ your-domain.gq với port 80, 443 có phải là phần mềm Let’s Encrypt client đã xin hay không. Nếu phải nó sẽ tiến hành chứng chứng chỉ cho bạn.
Nhưng ngược lại nếu vì lý do nào đó mà:
+Domain này trỏ đi IP khác => không kiểm tra được Let’s Encrypt client => không chứng chứng chỉ!
+Let’s Encrypt client không được cấp quyền lắng nghe port 80, 443 => không kiểm tra được Let’s Encrypt client => không chứng chứng chỉ!

Một điều nữa cần lưu ý là chứng chỉ này chỉ có giá trị trong vòng 90 ngày, bạn phải gia hạn nó sau 1-2 tháng sử dụng. Khi gia hạn thì Let’s Encrypt client không cần phải mắc công lắng nghe lại port 80, 443 gì nữa nó chỉ cần check thấy domain vẫn trỏ về IP như cũ lần trước nó xin chứng chỉ thì nó sẽ cấp gia hạn cho bạn. Nói chung, lúc xin thì cần lắng nghe port nhưng lúc gia hạn chứng chỉ thì không cần.

[LLMP – 4] Cài đặt Web Server Lighttpd trên Red Hat CentOS 7 – Cài đặt Let’s Encrypt

Cách làm Let’s Encrypt gia hạn chứng chỉ tự động?

Mỗi khi gần đến lúc hết hạn chẳng lẽ mình phải vào gõ lệnh gia hạn, nên vì thế chúng ta sẽ tạo một crontab cho Let’s Encrypt tự động gia hạn sau mỗi 1 tháng chẳng hạn. Bằng cách như sau:

echo '@monthly root /opt/letsencrypt/letsencrypt-auto certonly --standalone --renew-by-default -d your-domain.gq -d www.your-domain.gq -d mail.your-domain.gq >> /var/log/letsencrypt-renew.log && cd /etc/letsencrypt/live/your-domain.gq && cat privkey.pem cert.pem > ssl.pemfile && service lighttpd restart' | sudo tee --append /etc/crontab

/opt/letsencrypt/letsencrypt-auto certonly --standalone --renew-by-default -d your-domain.gq -d www.your-domain.gq -d mail.your-domain.gq là lệnh gia hạn chứng chỉ cho 3 domain kia
service lighttpd restart là câu lệnh restart web server nào có dùng chứng chỉ cho nó nhận chứng chỉ mới.

Và kinh nghiệm là chứng chỉ Let’s Encrypt không cho bạn gia hạn chứng chỉ liên tục nhé, phải hơn 5 ngày mới được gia hạn một lần, đừng bạn nào có ý định mỗi ngày gia hạn 1 lần nhá.

Vậy là xem ra đã đầy đủ các thành phần lắm rồi, bài tiếp theo cuối cùng sẽ vận dụng tất cả chúng để có thể chạy được một web site cụ thể Phần 5 Tổng chạy hệ thống

Cám ơn bạn đã đọc hết bài viết, hãy bấm chia sẻ lên mạng xã hội để nhớ rằng bạn đã từng nắm được kiến thức do bài viết này cung cấp rồi:
Share

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Share