Mục lục [Ẩn]
Để bảo mật trang web, SSL là yếu tố vô cùng quan trọng, với chức năng mã hóa thông tin truyền tải giữa máy tính của người dùng với trình duyệt web. Liên quan đến nội dung này, trong bài viết dưới đây, chúng tôi sẽ hướng dẫn bạn cách tạo chứng chỉ SSL trên Apache cho CentOS 7 chi tiết nhất để bất kỳ ai cũng có thể thực hiện được.
Cần chuẩn bị gì để tạo chứng chỉ SSL trên Apache cho CentOS 7?
Để thực hiện tạo chứng chỉ SSL trên Apache cho CentOS 7, bạn cần:
+ Được cấp quyền truy cập vào máy chủ CentOS: Bạn bắt buộc cần có quyền truy cập vào CentOS 7 thông qua SSH hoặc phương pháp truy cập khác.
+ Tài khoản dùng non-root và quyền sudo: Để đảm bảo bạn có một tài khoản người dùng không phải là root, nhưng có quyền sudo để thực hiện các thay đổi trên hệ thống.
+ Cài đặt máy chủ web Apache: Hãy đảm bảo rằng bạn đã cài đặt và cấu hình máy chủ web Apache trên CentOS 7 trước khi tiến hành tạo chứng chỉ SSL trên Apache cho CentOS 7.
Sau khi chuẩn bị đầy đủ, bạn có thể đăng nhập vào tài khoản người dùng non-root qua SSH và tiếp tục bước 1 dưới đây.
XEM THÊM:
+ Thuê Hosting WordPress - Lựa chọn phù hợp cho website WordPress
+ Nhân Hòa - Nhà cung cấp dịch vụ hosting giá rẻ, tốc độ cao
+ Hosting tốc độ cao - NVMe Hosting Nhân Hòa chất lượng [SỐ 1] thị trường
Hướng dẫn 5 bước tạo chứng chỉ SSL trên Apache cho CentOS 7 đơn giản
Bước 1: Cài đặt mod_ssl trên máy chủ
mod_ssl là một module Apache cung cấp nhằm hỗ trợ mã hóa SSL. Để cài đặt được chứng chỉ self-signed, việc đầu tiên bạn cần làm chính là cài đặt mod_ssl trên máy chủ bằng lệnh yum:
Module tự bật trong quá trình cài đặt. Sau đó, khi khởi động lại Apache sẽ bắt đầu sử dụng SSL, bạn không cần làm thêm gì khác để cài đặt mod_SSL.
Bước 2: Tạo chứng chỉ SSL hoàn toàn mới
Khi Apache đã sẵn sàng mã hóa, bạn có thể tạo chứng chỉ SSL mới, TTL/SSL hoạt động bằng cách kết hợp đồng thời chứng chỉ công khai và khóa riêng tư, Khóa SSL được giữ bí mật tuyệt đối trên server, được sử dụng nhằm mã hóa nội dung gửi đến các Client và giải mã nội dung được ký bằng khóa SSL liên quan.
Thư mục /etc/ssl/certs được sử dụng để chứa chứng chỉ công khai đã có trên server. Tiếp theo, bạn cũng cần tạo một thư mục /etc/ssl/private để chứa file khóa riêng tư, tính bảo mật của khóa này vô cùng quan trọng. Chính vì vậy, việc khóa quyền truy cập để ngăn chặn truy cập trái phép là rất cần thiết.
Bạn tạo một cặp khóa và chứng chỉ self-signed với OpenSSL bằng lệnh sau:
Trong đó:
+ sudo: Thực hiện với quyền hạn người dùng siêu (superuser) để được cấp quyền truy cập vào các thư mục và tệp hệ thống cần thiết.
+ openssl req: Công cụ OpenSSL được sử dụng với chứng năng là tạo yêu cầu chứng chỉ.
+ -x509: Là một chuẩn cơ bản về quản lý khóa công khai mà cả SSL và TLS sử dụng để kiểm soát khóa và chứng chỉ. Giúp tạo chứng chỉ ký, không yêu cầu chứng nhận bên ngoài.
+ -nodes: Cho phép OpenSSL biết bỏ qua tùy chọn bảo vệ chứng chỉ bằng mật khẩu. Bạn cần Apache để đọc file mà không cần đến sự can thiệp của người dùng mỗi khi server khởi động lại. Mật khẩu giữ nhiệm vụ ngăn cản điều này xảy ra do cần nhập mật khẩu mỗi lần khởi động lại.
+ -days 365: -day là xác định thời hạn có hiệu lực của chứng chỉ, trong trường hợp này là 1 năm.
+ -newkey rsa:2048: Thuật ngữ này dùng để chỉ định bạn muốn tạo ra một chứng chỉ và khóa mới cùng lúc. Nếu bạn chưa tạo khóa được yêu cầu để ký chứng chỉ trong 1 bước trước đó, cần tạo khóa cùng với chứng chỉ. Phần rsa:2048 chỉ định tạo ra một khóa RSA với độ dài 2048 bit.
+ -keyout /etc/ssl/private/apache-selfsigned.key: Cho bạn biết nơi đặt file khóa riêng tư được tạo ra.
+ -out /etc/ssl/certs/apache-selfsigned.crt: Thuật ngữ này cho OpenSSL biết nơi đặt chứng chỉ được tạo ra.
Lưu ý: Nhập tên miền hoặc địa chỉ IP công khai của server khi được yêu cầu nhập Common Name cần khớp chính xác với cách người dùng truy cập vào website của bạn.
Tất cả các câu hỏi sẽ bao gồm như sau:
Cả 2 file sẽ được đặt trong thư mục con của thư mục /etc/ssl. Khi sử dụng OpenSSL, các bạn nên tạo một nhóm Diffie-Hellman sử dụng đàm phán Forward Secrecy tuyệt đối với client.
Cách tạo nhóm Diffie-Hellman bằng cách gõ:
Việc tạo nhóm này sẽ mất vài phút, khi hoàn tất, bạn sẽ có một nhóm DH mạnh tại /etc/ssl/certs/dhparam.pem để sử dụng trong cấu hình của mình.
Bước 3: Thiết lập 1 chứng chỉ hoàn chỉnh
Sau khi có được tất cả các thành phần cần thiết cho một giao diện hoàn chỉnh việc tiếp theo bạn cần làm là thiết lập server ảo để hiển thị chứng chỉ mới.
Đầu tiên mở 1 file mới trong thư mục /etc/httpd/conf.d:
Dán vào đó đoạn cấu hình dưới đây:
Lưu ý: Cập nhật dòng Server Name phù hợp với thanh địa chỉ server của mình và Common Name mà bạn chọn khi tạo chứng chỉ (hostname/tên miền đầy đủ/địa chỉ IP).
Cài đặt thông số SSL
Bước tiếp theo, bạn cần thêm một số tùy chọn SSL để tăng tính bảo mật cho website. Các tùy chọn sử dụng được đề xuất từ Cipherlist.eu. Trang web này được thiết kế với mục đích cung cấp các thiết lập mã hóa dễ sử dụng cho phần mềm phổ biến.
Lưu ý:
+ Các thiết lập Cipherlist.eu cung cấp bảo mật mạnh mẽ, tuy nhiên tương thích kém với client cũ. Trong trường hợp hỗ trợ khách hàng cũ, bạn có thể sử dụng danh sách tương thích thay thế bằng cách nhập vào liên kết có nhãn “Yes, give me a ciphersuite that works with legacy/old software.”
+ Bạn có thể thêm server DNS của mình cho yêu cầu upstream vào chỉ thị resolver. Hoặc thay vì sử dụng Google bạn có thể thay đổi sang DNS khác.
Dán các thiết lập từ trang web khi kết thúc khối VirtualHost:
Khi đã hoàn thành các thay đổi này, bạn lưu và đóng file.
Chuyển hướng HTTP => HTTPS (Không bắt buộc)
Server cung cấp cả lưu lượng HTTPS được mã hóa và lưu lượng HTTP không mã hóa. Để an toàn hơn, bạn có thể chuyển hướng HTTP sang HTTPS tự động (chức năng này hoàn toàn không bắt buộc).
Việc chuyển hướng được thực hiện như sau:
+ Bạn tạo và mở một file có đuôi .conf ở thư mục /etc/httpd/conf.d:
+ Tiếp theo tạo một khối VirtualHost phù hợp với các yêu cầu:
Lưu và đóng file này khi bạn đã hoàn thành.
Bước 4: Thay đổi cấu hình SSL cho apache
Để bắt đầu sử dụng mã hóa SSL, bạn khởi động lại Server Apache để tải lại cấu hình và các module.
+ Đầu tiên cần kiểm tra file cấu hình của bạn có bị lỗi cú pháp không bằng cách nhập:
Nếu Output kết thúc bằng Syntax OK thì bạn có thể tiếp tục, trong trường hợp không thấy hiện phần này, hãy kiểm tra bằng cú pháp của các file và thử lại:
+ Tiếp theo khởi động lại server bằng cách nhập:
+ Cổng 80 và 443 được mở trong tường lửa iptables (Nếu không chạy tường lửa có thể bỏ qua phần này) bằng cách nhập:
+ Nếu chạy tường lửa, bạn thêm truy cập HTTP và HTTPS bằng cách:
Bước 5: Kiểm tra mã hóa
Mở trình duyệt web và nhập https:// theo sau là tên server’s domain hoặc địa chỉ IP server của bạn vào thanh địa chỉ:
+ Mở trình duyệt web và nhập https://*tên server’s domain/địa chỉ IP server* vào thanh địa chỉ:
+ Bạn có thể gặp một số cảnh báo như sau:
ảnh
Lúc này nhấp vào “ADVANCED” và click vào liên kết được cung cấp để tiếp tục vào server, đi đến trang web.
anh
Bên cạnh đó nếu đã cấu hình Apache để chuyển hướng các yêu cầu HTTP sang HTTPS, các bạn cũng có thể kiểm tra chức năng chuyển hướng chính xác chưa:
Nếu kết quả chuyển đến cùng một biểu tượng, đồng nghĩa với việc chuyển hướng của bạn hoạt động chính xác.
3 thắc mắc liên quan
SSL là gì, liệu có an toàn không?
SSL là viết tắt của cụm từ Secure Sockets Layer - một tiêu chuẩn an ninh công nghệ toàn cầu tạo ra nhằm liên kết giữa máy chủ web và trình duyệt web, nhằm đảm bảo tất cả dữ liệu được trao đổi giữa máy chủ web và trình duyệt được bảo mật và an toàn tuyệt đối.
Sử dụng SSL có an toàn không hay có nên sử dụng SSL không, câu trả lời chắc chắn là "CÓ".
+ SSL bảo vệ website và khách hàng của bạn khỏi những lỗ hổng bảo mật, hacker tấn công...
+ Dữ liệu được mã hóa và chỉ người nhận đích thực mới có thể giải mã này.
+ Bảo vệ toàn vẹn dữ liệu, tránh tình trạng thay đổi bởi tin tặc.
+ Ngăn chặn đối tượng thực hiện gửi dữ liệu không thể phủ nhận.
Khi một máy tính kết nối với một Website có SSL điều gì sẽ xảy ra?
+ Trình duyệt yêu cầu website cung cấp thông tin để xác nhận danh tính.
+ Website gửi cho trình duyệt chứng chỉ SSL được cấp.
+ Trình duyệt kiểm tra tính xác thực của SSL, nếu đúng nó sẽ thông báo lại cho website là SSL của nó được chấp thuận.
+ Website gửi ngược lại chữ ký số sẽ dùng với mục đích mã hóa và giải mã trong suốt quá trình giao dịch tiếp theo.
+ Dữ liệu giữa trình duyệt và website sẽđược mã hóa.
Nên mua SSL ở đâu uy tín, giá phải chăng?
Nếu bạn đang tìm kiếm địa chỉ mua SSL uy tín, chất lượng hãy đến với Nhân Hòa. Với kinh nghiệm hơn 22 năm trong lĩnh vực bảo mật thông tin, Nhân Hòa là nhà cung cấp uy tín, đáng tin cậy được các doanh nghiệp, tổ chức và cá nhân lựa chọn.
Ngoài ra, bạn cũng có thể tham khảo gói dịch vụ Cloud VPS giá rẻ, cấu hình đa dạng của Nhân Hòa, hãy liên hệ theo thông tin dưới đây để được hỗ trợ:
+ Tổng đài: 1900 6680
+ Website: https://nhanhoa.com/
+ Fanpage: https://www.facebook.com/nhanhoacom
+ Chỉ đường: https://g.page/nhanhoacom
+ Ưu đãi Nhân Hòa: https://nhanhoa.com/uu-dai-nhan-hoa.html
Lời kết
Trên đây là hướng dẫn tạo chứng chỉ SSL trên Apache cho CentOS 7. Mong rằng những thông tin này hữu ích với các bạn, từ đó giúp bạn có thể mã hóa và bảo mật thông tin website của mình tốt nhất.
XEM THÊM:
+ Địa chỉ mua tên miền uy tín, giá cả phải chăng [CLICK TẠI ĐÂY]
+ Check tên miền đẹp, nhanh gọn ngay hôm nay