Hướng dẫn làm lời chào khi vao centos

Để 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.

Show

    Mục lụ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:

    Hướng dẫn làm lời chào khi vao centos

    + Đượ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

    Hướng dẫn làm lời chào khi vao centos

    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.

    sudo mkdir /etc/ssl/private

    sudo chmod 700 /etc/ssl/private

    Bạn tạo một cặp khóa và chứng chỉ self-signed với OpenSSL bằng lệnh sau:

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

    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:

    Output

    Country Name (2 letter code) [XX]:US

    State or Province Name (full name) []:Example

    Locality Name (eg, city) [Default City]:Example

    Organization Name (eg, company) [Default Company Ltd]:Example Inc

    Organizational Unit Name (eg, section) []:Example Dept

    Common Name (eg, your name or your server's hostname) []:your_domain_or_ip

    Email Address []:[email protected]

    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õ:

    sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

    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:

    sudo vi /etc/httpd/conf.d/your_domain_or_ip.conf

    Dán vào đó đoạn cấu hình dưới đây:

    ServerName your_domain_or_ip

    DocumentRoot /var/www/html

    SSLEngine on

    SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt

    SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

    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:

    . . .

    . . .

    # Begin copied text

    # from https://cipherli.st/

    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM

    # Requires Apache 2.4.36 & OpenSSL 1.1.1

    SSLProtocol -all +TLSv1.2

    # SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1

    # Older versions

    # SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

    SSLHonorCipherOrder On

    # Disable preloading HSTS for now. You can use the commented out header line that includes

    # the "preload" directive if you understand the implications.

    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"

    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains"

    # Requires Apache >= 2.4

    SSLCompression off

    SSLUseStapling on

    SSLStaplingCache "shmcb:logs/stapling-cache(150000)"

    # Requires Apache >= 2.4.11

    # SSLSessionTickets Off

    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:

    sudo vi /etc/httpd/conf.d/non-ssl.conf

    + Tiếp theo tạo một khối VirtualHost phù hợp với các yêu cầu:

    ServerName your_domain_or_ip

    Redirect "/" "https://your_domain_or_ip/"

    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:

    sudo apachectl configtest

    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:

    sudo systemctl restart httpd.service

    + 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:

    sudo firewall-cmd --add-service=http

    sudo firewall-cmd --add-service=https

    sudo firewall-cmd --runtime-to-permanent

    + Nếu chạy tường lửa, bạn thêm truy cập HTTP và HTTPS bằng cách:

    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ướ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ỉ:

    https://your_domain_or_ip

    + 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:

    https://your_domain_or_ip

    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.

    Hướng dẫn làm lời chào khi vao centos

    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.

    Hướng dẫn làm lời chào khi vao centos

    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.