1. 程式人生 > >Apache服務中的ssl加密(企業級)

Apache服務中的ssl加密(企業級)

SSL

SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通訊提供安全及資料完整性的一種安全協議。TLS與SSL在傳輸層對網路連線進行加密。
Secure Socket Layer,為Netscape所研發,用以保障在Internet上資料傳輸之安全,利用資料加密(Encryption)技術,可確保資料在網路上之傳輸過程中不會被擷取及竊聽。一般通用之規格為40 bit之安全標準,美國則已推出128 bit之更高安全標準,但限制出境。只要3.0版本以上之I.E.或Netscape瀏覽器即可支援SSL。
當前版本為3.0。它已被廣泛地用於Web瀏覽器與伺服器之間的身份認證和加密資料傳輸。
SSL協議位於TCP/IP協議與各種應用層協議之間,為資料通訊提供安全支援。SSL協議可分為兩層: SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供資料封裝、壓縮、加密等基本功能的支援。 SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用於在實際的資料傳輸開始前,通訊雙方進行身份認證、協商加密演算法、交換加密金鑰等。
在這裡插入圖片描述

一.配置ssl安全協議

[[email protected] html]# yum install mod_ssl -y
[[email protected] html]# yum install crypto-utils.x86_64 -y
[[email protected] html]# genkey www.westos.com
[[email protected] html]# vim /etc/httpd/conf.d/ssl.conf 
100 #SSLCertificateFile /etc/pki/tls/certs/localhost.crt
101 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
108 #SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
109 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
[
[email protected]
html]# systemctl restart httpd.service 在網頁https://172.25.254.249

1.在服務端下載mod_ssl crypto-utils兩個軟體
crypto-utils 加密工具
mod_ssl ssl加密協議建立工具
在這裡插入圖片描述
2.加密www.westos.com
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
3.加密完成後,會生成兩個關於加密資訊的檔案,將這兩個檔案新增到ssl服務的配置檔案裡面
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
4.在火牆服務裡面新增https,HTTPS的預設埠為443,並重新啟服務動
在這裡插入圖片描述
在這裡插入圖片描述
5.在網頁上https://ip
在這裡插入圖片描述
6.獲取加密,加密協議生效
在這裡插入圖片描述

二.設定虛擬主機網頁重寫

mkdir /var/www/westos.com/login/html
vim /var/www/westos.com/login/html/index.html
<h1>login's page</h1>
[[email protected] html]# vim /etc/httpd/conf.d/login.conf
<VirtualHost *:443>
        ServerName login.westos.com
        DocumentRoot /var/www/westos.com/login/html
        Customlog logs/login.log combined
        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
        SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
<Directory "/var/www/westos.com/login/html">
        Require all granted
</Directory>
<VirtualHOST *:80>
        serverName login.westos.com
        RewriteEngine On
        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
[[email protected] html]# systemctl restart httpd.service 

1.建立一個login.westos.com的虛擬主機,釋出目錄在/var/www/westos.com/login/html/index.html
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
2.編輯虛擬主機發布目錄的配置檔案
在這裡插入圖片描述
^(/.*)$ ##客戶在瀏覽器位址列中輸入所有字元
https:// ##強制客戶加密訪問
%{HTTP_HOST} ##客戶請求主機
$1 ##“ 1 ( / . ) 1”表示 ^(/.*) 的值
[redirect=301] @@永久重寫 302臨時
在這裡插入圖片描述
3.重新啟動服務,並在真機上新增本地解析login.westos.com,再在網頁上訪問,會發現自動跳轉ssl加密協議
在這裡插入圖片描述
在這裡插入圖片描述
獲取ssl加密協議
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述