NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
20/04/2023
Lượt xem

Làm thế nào để bảo mật Nginx bằng Let’s Encrypt trên CentOS 7?

20/04/2023
10 phút đọc
Lượt xem

Đánh giá

5/5 - (196 bình chọn)

Nhờ có Let’s Encrypt, cơ quan cấp chứng chỉ số (Certificate Authority – CA), bạn sẽ dễ dàng cài đặt chứng chỉ TLS/SSL miễn phí, từ đó có thể mã hóa HTTPS trên web server. Đồng thời, nó cung cấp công cụ Certbot để tự động xử lý các công việc đó làm cho quá trình xử lý trở nên nhanh hơn. Bài viết dưới đây sẽ hướng dẫn bạn cách lấy và cài đặt chứng chỉ để bảo mật Nginx bằng Let’s Encrypt trên CentOS 7.

Cần chuẩn bị gì để có thể bảo mật Nginx bằng Let’s Encrypt trên CentOS 7

Trước khi làm theo các bước trong bài viết này, bạn cần chuẩn bị:

  • Một máy chủ CentOS 7 với người dùng không phải root và có quyền sudo
  • Một tên miền website. Trường hợp bạn chưa có tên miền, có thể liên hệ với Vietnix để đăng ký một tên miền phù hợp cho website nhé.
  • Cấu hình DNS tên miền đến IP của máy chủ của . Let’s Encrypt sẽ xác minh bạn sở hữu tên miền được cấp chứng chỉ. Ví dụ, nếu bạn muốn lấy chứng chỉ cho example.com thì tên miền đó phải được trỏ đến máy chủ để quá trình xác minh hoạt động. Trong bài viết, Vietnix sẽ sử dụng example.com và www.example.com làm tên miền. Vì vậy bắt buộc có cả hai bản ghi DNS.
Cần chuẩn bị gì để có thể bảo mật Nginx bằng Let’s Encrypt trên CentOS 7
Cần chuẩn bị gì để có thể bảo mật Nginx bằng Let’s Encrypt trên CentOS 7

Sau khi đã chuẩn bị đầy đủ, hãy tiến hành cài đặt Let’s Encrypt theo hướng dẫn dưới đây.

Ngoài ra, bạn có thể liên hệ với Vietnix để được tư vấn thuê máy ảo (VPS) tốc độ cao có cầu hình phù hợp với nhu cầu và đa dạng hệ điều hành CentOS, Ubuntu, Debian, Windows Server,… Đặc biệt, khi sở hữu VPS Vietnix, bạn tự do quản trị và cài đặt các phần mềm, ứng dụng trên máy chủ của mình.

Bước 1 — Cài đặt Certbot Let’s Encrypt Client

Bước đầu tiên khi sử dụng Let’s Encrypt để lấy chứng chỉ SSL là cài đặt certbot trên máy chủ của bạn. Cách tốt nhất là cài đặt thông qua kho lưu trữ EPEL.

Bật cho phép truy cập vào kho lưu trữ EPEL trên máy chủ của bạn bằng cách nhập:

sudo yum install epel-release

Sau khi kho lưu trữ đã được kích hoạt, bạn có thể lấy gói certbot-nginx bằng cách nhập:

sudo yum install certbot-nginx

Phần mềm certbot Let’s Encrypt client hiện đã được cài đặt và sẵn sàng để sử dụng.

Bước 2 — Cài đặt và cấu hình Nginx

Nếu chưa cài đặt Nginx bạn có thể cài đặt ngay bây giờ. Kho lưu trữ EPEL đã được kích hoạt từ phần trước đó, vì vậy bạn có thể cài đặt Nginx bằng cách nhập:

sudo yum install nginx

Sau đó, bắt đầu sử dụng Nginx bằng systemctl:

sudo systemctl start nginx

Certbot có thể tự động cấu hình SSL cho Nginx nhưng cần phải tìm server block chính xác trong cấu hình của bạn. Điều này được thực hiện bằng cách tìm kiếm server_name phù hợp với tên miền bạn muốn cấp chứng chỉ. Nếu bạn sử dụng bản cài đặt mới của Nginx, bạn có thể cập nhật file cấu hình mặc định bằng vi hoặc bất kỳ trình chỉnh sửa văn bản nào :

sudo vi /etc/nginx/nginx.conf

Tìm dòng server_name hiện có:

server_name _;

Thay thế dấu gạch dưới _ ở cuối bằng tên miền của bạn:

server_name example.com www.example.com;

Lưu file và thoát khỏi trình chỉnh sửa. Nếu bạn đang sử dụng vi, nhập :x, sau đó nhập y khi được hỏi để lưu và thoát. Xác minh các chỉnh sửa của cấu hình bằng cách nhập:

sudo nginx -t

Nếu chạy không xuất hiện lỗi, bạn hãy tải lại Nginx để tải cấu hình mới:

sudo systemctl reload nginx

Certbot hiện có thể tìm thấy và cập nhật server block chính xác. Tiếp theo, bạn sẽ cập nhật tường lửa cho phép lưu lượng HTTPS.

Bước 3 — Cập nhật tường lửa

Nếu bạn đã bật tường lửa, hãy đảm bảo cổng 80 và 443 mở cho phép lưu lượng vào từ hai cổng này. Nếu bạn không chạy tường lửa thì có thể bỏ qua bước này.

Nếu bạn đang chạy tường lửa firewalld, bạn có thể mở các cổng trên bằng cách nhập lệnh:

sudo firewall-cmd --add-service=http sudo firewall-cmd --add-service=https sudo firewall-cmd --runtime-to-permanent

Nếu bạn đang chạy tường lửa iptables, các lệnh cần chạy phụ thuộc nhiều vào bộ quy tắc. Để đặt các quy tắc ban đầu, bạn có thể thêm quyền truy cập HTTP và HTTPS thông qua lệnh:

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Bây giờ bạn đã sẵn sàng chạy Certbot và lấy chứng chỉ.

Bước 4 — Lấy chứng chỉ

Certbot cung cấp nhiều cách để lấy chứng chỉ SSL thông qua các plugin khác nhau. Plugin Nginx sẽ tự động cấu hình lại Nginx và tải lại cấu hình khi cần thiết:

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

Đây là lệnh chạy certbot với plugin --ngin dùng -d chỉ định các tên mà bạn muốn áp dụng chứng chỉ.

Nếu đây là lần đầu tiên chạy certbot, bạn sẽ được nhắc nhập địa chỉ email và đồng ý với các điều khoản dịch vụ. Sau đó, certbot sẽ liên lạc với máy chủ Let’s Encrypt để chạy xác minh bạn kiểm soát miền mà bạn yêu cầu chứng chỉ.

Cấu hình sẽ được cập nhật và Nginx sẽ tải lại để lấy cấu hình mới. certbot sẽ kết thúc với một thông báo quá trình đã thành công và nơi lưu trữ chứng chỉ của bạn:

Output IMPORTANT NOTES:  - Congratulations! Your certificate and chain have been saved at:    /etc/letsencrypt/live/your_domain/fullchain.pem    Your key file has been saved at:    /etc/letsencrypt/live/your_domain/privkey.pem    Your certificate will expire on 2022-10-20. 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

Chứng chỉ của bạn được tải xuống, cài đặt và hoạt động. Hãy thử tải lại trang web bằng https:// và chú ý đến chỉ báo bảo mật của trình duyệt của bạn. Trang web được bảo mật đúng cách thường hiển thị với một biểu tượng khóa màu xanh lá cây.

Bước 5 – Cài đặt tự động gia hạn

Chứng chỉ của Let’s Encrypt chỉ có giá trị trong chín 90 nhằm khuyến khích người dùng tự động hóa quá trình gia hạn chứng chỉ của mình. Bạn cần thiết lập một lệnh chạy định kỳ để kiểm tra chứng chỉ hết hạn và tự gia hạn chúng.

Sử dụng cron để chạy kiểm tra gia hạn hàng ngày. Cron là một dịch vụ hệ thống chạy các tác vụ định kỳ. Đầu tiên, bạn mở cron và chỉnh sửa file crontab.

sudo crontab -e

Trình chỉnh sửa văn bản sẽ mở crontab mặc định. Đó là một file văn bản trống. Dán vào dòng sau đây, sau đó lưu và đóng file:

. . .  15 3 * * * /usr/bin/certbot renew --quiet

Phần 15 3 * * * của có nghĩa là “chạy lệnh sau đây lúc 3:15 sáng hàng ngày”. Bạn có thể chọn bất kỳ thời gian nào bạn muốn.

Lệnh renew cho Certbot kiểm tra tất cả các chứng chỉ được cài đặt trên hệ thống và cập nhật chứng chỉ nào hết hạn trong ít hơn 30 ngày. --quiet cho Certbot biết không xuất thông tin hoặc không đợi người dùng nhập vào.

cron sẽ chạy lệnh này hàng ngày. Tất cả các chứng chỉ đã cài đặt sẽ được tự động gia hạn và tải lại khi còn 30 ngày hoặc ít hơn thì hết hạn.

Ngoải ra thì trên CentOS 7, thiết lập khóa SSH là một phương pháp bảo mật tốt cho việc truy cập máy chủ từ xa. Việc sử dụng khóa SSH không chỉ đảm bảo tính bảo mật cao hơn so với đăng nhập bằng mật khẩu, mà còn giúp tiết kiệm thời gian và tăng hiệu quả làm việc.

Lời kết

Trong hướng dẫn này, bạn đã cài đặt Let’s Encrypt client certbot, tải xuống chứng chỉ SSL cho tên miền của mình, cấu hình Nginx để sử dụng các chứng chỉ và thiết lập tự động gia hạn chứng chỉ. Nếu bạn có thắc mắc về việc sử dụng Certbot, hãy để lại bình luận ở bên dưới bài viết này để được giải đáp.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG