Cấu hình ssl cho linux

Để cài đặt chứng thư số SSL lên Apache trên Linux, bạn thực hiện như sau:

Bước 1: Giải nén file đính kèm sẽ được hai file certificate.crt và cabundle.crt

– Tải hai file này lên server, đưa vào trong thư mục /usr/local/ssl/certificate (đây là thư mục hôm trước bạn đã tạo ra để chứa CSR và private key).

Bước 2: Login vào SSH bằng tài khoản root

– Lúc này trong thư mục /usr/local/ssl/certificate sẽ có 3 file: private.key, certificate.crt, cabundle.crt. Trong thư mục này sẽ có thêm fiile certreq.csr tuy nhiên bạn không cần dùng file này nữa.

Bước 3: Mở file cấu hình của Apache (thường là /etc/httpd/conf/httpd.conf hoặc /etc/httpd/conf.d/ssl.conf hoặc /etc/httpd/conf/extra/httpd-ssl.conf). Dùng vi để tìm và chỉnh sửa nội dung của đoạn sau:

SSLCertificateFile /usr/local/ssl/certificate/certificate.crt
SSLCertificateKeyFile /usr/local/ssl/certificate/private.key
SSLCACertificateFile /usr/local/ssl/certificate/cabundle.crt

Tùy vào cấu hình Apache của máy chủ, mà bạn sẽ chỉnh các dòng trên ở trong phần cấu hình chính, hoặc thêm vào phần cấu hình VirtualHost.

Bước 4: Sau khi cấu hình xong, bạn lưu lại và restart lại Apache:

service httpd restart

– Mở port 443 trên Firewall (Nếu bạn dùng software firewall như iptables chẳng hạn thì có thể tìm thấy file config tại: /etc/sysconfig/iptables)

1. Yêu cầu chuẩn bị

Một máy chủ Linux CentOS7

Một máy Windows cài đặt SecureCRT.

Một Switch kết nói Server Linux và PC.

2. Nội dung thực hiện

Kết nói các  thiệt bị theo mô hình.

Đặt địa chỉ IP trên Server theo mô hình.

Sử dụng SecureCRT kết nối và thực hiện các nhiệm vụ cơ bản sau:

  •     Cài đặt gói dịch vụ HTTPD trên máy chủ Linux ( Web server )
  •     Cài đặt gói mod_ssl cho máy chủ web.
  •     Cài đặt gói OpenSSL cho máy chủ dịch vụ Web ( nếu chưa cài đặt ).
  •     Tạo Certificate cho tên miền dnu.vn.
  •     Kích hoạt giao thức HTTPS cho miền.
  •     Đưa đường dẫn chứa key đã tạo cho miền vào tệp tin cấu hình chính.
  •     Khởi động lại dịch vụ HTTPD.
  •     Kiểm tra truy cập Web thông qua giao thức HTTPS trên Client.

3. Video hướng dẫn

Bảo mật cho Apache server là một trong những việc quan trọng nhất của Webmaster. Ở bài viết này, An Ninh Mạng sẽ hướng dẫn cấu hình Apache HTTP Secure Server, dùng chứng chỉ SSL cài cho Apache web server, trên nền tảng hệ điều hành CentOS 7. Cách này cũng có thể được thực hiện trên hệ thống chạy Fedora hoặc Redhat.

Hệ thống chuẩn bị :

Hệ điều hành : CentOS 7.

Địa chỉ IP : 192.168.28.134

Subnet Mask : 255.255.255.0

Hostname : storage-server.anninhmang.local

Tiến hành tạo Certificates :

Đi đến thư mục Certs :

# cd /etc/pki/tls/certs

Chạy dòng lệnh sau để tiến hành tạo File Server key :

Cấu hình ssl cho linux

Writing RSA key :

# openssl rsa -in server.key -out server.key

Enter pass phrase cho server.key:

writing RSA key

Generate CSR key file :

Cấu hình ssl cho linux

Sign key và tạo Expiration days :

# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 1000

Signature ok

subject=/C=NL/ST=Amsterdam/L=Default City/O=anninhmang/OU=anninhmang Hosting/CN=storage-server.anninhmang.local/[email protected]

Getting Private key

Cấu hình ssl cho linux

Cấu hình SSL Key với Apache :

# yum -y  install httpd mod_ssl

Cấu hình ssl cho linux

Enable và Start dịch vụ Apache :

Cấu hình ssl cho linux

Cấu hình file ‘/etc/httpd/conf.d/ssl.conf’ :

Mở file ra :

#mv /etc/httpd/conf.d/ssl.conf  /etc/httpd/conf.d/ssl.conf.orig

#vi /etc/httpd/conf.d/ssl.conf
LoadModule ssl_module modules/mod_ssl.so

Listen 443

SSLPassPhraseDialog builtin

SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)

SSLSessionCacheTimeout 300

SSLRandomSeed startup file:/dev/urandom 256

SSLRandomSeed connect builtin

SSLCryptoDevice builtin



DocumentRoot "/var/www/html"

ServerName 127.0.0.1:443

ErrorLog logs/ssl_error_log

TransferLog logs/ssl_access_log

LogLevel warn

SSLEngine on

SSLProtocol all -SSLv2

SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

SSLCertificateFile /etc/pki/tls/certs/server.crt

SSLCertificateKeyFile /etc/pki/tls/certs/server.key



SSLOptions +StdEnvVars





SSLOptions +StdEnvVars



SetEnvIf User-Agent ".*MSIE.*" \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

Save và exit.

Restart Apache  :

Check lại để xem Port 80 và 443 đã được mở chưa :

Cấu hình ssl cho linux

Nếu chưa tiến hành mở 2 cổng 80 và 443 trên Iptables :

vi /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT

Reload  and  restart iptables

Nếu đang sử dụng Firewalld, nhập thêm dòng lệnh :

firewall-cmd --permanent --add-port=80/tcp

firewall-cmd --permanent --add-port=443/tcp

và reload lại Firewall :

service iptables restart

hoặc

firewall-cmd --reload

Mở trình duyệt lên và kiểm tra theo đường dẫn : https:// 192.168.28.134

Cấu hình ssl cho linux

Cấu hình ssl cho linux

Như vậy là chúng ta đã hoàn thành phần cài đặt SSL cho Apache Server.

  • cài ssl cho apache
  • cấu hình ssl cho apache
  • cấu hình ssl cho web server
  • cấu hình https cho website
  • hướng dẫn cấu hình https
  • cài đặt ssl cho apache