https網絡安全協議

HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。

本節索引

一、https協議介紹

二、實驗:實現https

三、http重定向https

四、云主機實現免費的https

封面

一、https協議介紹

HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的

HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳

細內容就需要SSL。?https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默認端口及一個加密

身份驗證層(在HTTP與TCP之間)。

 

發展歷史:

這個系統的最初研發由網景公司(Netscape)進行,并內置于其瀏覽器Netscape Navigator中,提供了身份

驗證與加密通訊方法?,F在它被廣泛用于網絡安全敏感的通訊,例如交易支付方面。

 

主要作用:

1、建立一個信息安全通道,來保證數據傳輸的安全;

2.、確認網站的真實性,凡是使用了 https 的網站,都可以通過點擊瀏覽器地址欄的鎖頭標志來查看網站

認證之后的真實信息,也可以通過 CA 機構頒發的安全簽章來查詢?[2]??。

 

HTTPS與HTTP的區別:

1、https協議需要到ca申請證書,一般免費證書很少,需要交費。

2、http是超文本傳輸協議,信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協議。

3、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。

4、http的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證

的網絡協議,比http協議安全。

 

SSL會話的簡化過程:

(1) 客戶端發送可供選擇的加密方式,并向服務器請求證書

(2) 服務器端發送證書以及選定的加密方式給客戶端

(3) 客戶端取得證書并進行證書驗證

如果信任給其發證書的CA

(a) 驗證證書來源的合法性;用CA的公鑰解密證書上數字簽名

(b) 驗證證書的內容的合法性:完整性驗證

(c) 檢查證書的有效期限

(d) 檢查證書是否被吊銷

(e) 證書中擁有者的名字,與訪問的目標主機要一致

(4) 客戶端生成臨時會話密鑰(對稱密鑰),并使用服務器端的公鑰加密此數據發送給服務器,完成密鑰交換

(5) 服務用此密鑰加密用戶請求的資源,響應給客戶端

注意:SSL是基于IP地址實現,單IP的主機僅可以使用一個https虛擬主機

 

 

二、實驗:實現https

前期準備:

兩臺虛擬機

CA: ? ? ? CentOS 7.4????? IP:192.168.30.10???

戶:CentOS 6.9????? IP:192.168.30.11

實驗預期:

CA服務器為客戶端頒發證書,使其能夠實現https訪問

具體步驟:

CA端:

生成私鑰

(umask 077;openssl genrsa -out etc/pki/CA/private/cakey.pem 2048)

自簽名證書

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650

交互式填寫

國家:CN

省份:beijing

城市:beijing

公司名稱:wxlinux

部門:opt

Common name:wxlinux.com

 

Client端:

生成客戶端私鑰

(umask 066;openssl genrsa -out httpd.key 1024)

生成證書申請

openssl req -new -key httpd.key -out httpd.csr

交互式填寫

國家:CN

省份:beijing

城市:beijing

公司名稱:wxlinux

部門:opt

Common name:http.wxlinux.com

注:國家,省份,公司必須一致才能申請成功

將證書申請發送到CA

scp httpd.csr 192.168.30.10:/root/

 

CA端:

建立已頒發證書信息列表文件;V:生效;R:吊銷;

touch /etc/pki/CA/index.txt

建立證書序列號

echo 0F > /etc/pki/CA/serial?????

頒發證書

openssl ca -in httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 730

 

將證書及CA自授權證書發送到客戶端:

scp /etc/pki/CA/certs/httpd.crt 192.168.30.11:/root/

scp /etc/pki/CA/cacert.pem 192.168.30.11:/root/

 

Client端:

安裝加密模塊

yum install mod_ssl –y

rpm -ql mod_ssl

修改配置文件其中此三行

vim /etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/httpd/conf.d/ssl/httpd.crt

SSLCertificateKeyFile /etc/httpd/conf.d/ssl/httpd.key

SSLCACertificateFile /etc/httpd/conf.d/ssl/cacert.pem

重啟httpd服務

service httpd restart

此時打開瀏覽器已能夠正常訪問https://192.168.30.11/

顯示不安全的頁面,這是由于證書未添加到瀏覽器信任造成的

2

將CA自簽名證書導入到瀏覽器即可安全訪問

 

 

三、http重定向https

當我們區域https協議后,就出現了一個問題,此時http與https是可以同時被訪問的,那么當用戶用http訪

問網站時,還是有安全隱患的,如何解決呢?我們只需要將http重定向到https即可

實現http請求轉發至https的URL方法如下:

方法一:重定向

備注:有安全隱患,每次請求還會先走http協議

Redirect [status] URL-path URL

status狀態:

permanent: ?永久301

Temp: ? ? ? ?臨時302

示例:

Redirect temp / https://www.magedu.com/

 

 

方法二:HSTS

備注:僅第一次訪問會走http協議,建議使用此種方法

HSTS:HTTP Strict Transport Security

服務器端配置支持HSTS后,會在給瀏覽器返回的HTTP首部中攜帶HSTS字段。瀏覽

器獲取到該信息后,會將所有HTTP訪問請求在內部做307跳轉到HTTPS。而無需任何

網絡過程

 

HSTS preload list

作用:使第一次訪問也走https協議

是Chrome瀏覽器中的HSTS預載入列表,在該列表中的網站,使用Chrome瀏覽器訪

問時,會自動轉換成HTTPS。Firefox、Safari、Edge瀏覽器也會采用這個列表

 

實現HSTS示例:

vim /etc/httpd/conf/httpd.conf

Header always set Strict-Transport-Security “max-age=31536000”

RewriteEngine on

RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=302]

 

curl -I? www.taobao.com

Strict-Transport-Security: max-age=31536000

 

四、云主機實現免費的https

現在許多云服務廠商都提供了免費的域名型加密SSL證書,僅對域名所有權進行驗證,快速頒發,較好保

護網站數據安全,適合個人,小微企業應用。

本次就以在騰訊云申請免費SSL證書為例:

 

騰訊云官方網站:https://cloud.tencent.com

 

1登錄進入頁面后點擊上方+號,添加SSL證書管理

3

2點擊申請證書,顯示證書頒發機構為亞洲誠信(TRUSTASIA),證書有效期為一年

4

3.點擊確定后,會要求輸入域名,申請郵箱等信息,按需填寫即可

5

4.接下來會進行域名身份驗證,這里我們選擇選擇手動DNS驗證6

5.點擊確認申請,生成解析記錄

7

接下來我們需要等待10分鐘左右證書審核通過

 

6.回到我們的域名DNS管理頁,添加一條TXT/SPF的解析

HOSTNAME填寫騰訊云解析記錄中的主機記錄

TEXT填寫記錄值

8

7.證書申請完成后,就可以點擊下載了

9

8.根據自己web服務類型,進行后續配置

騰訊云官方證書安裝方法指引文檔:https://cloud.tencent.com/document/product/400/4143

 

 

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/101350

(1)
wangxczwangxcz
上一篇 2018-06-22 17:06
下一篇 2018-06-23

相關推薦

  • 三、(2)用戶及組管理類命令簡述

    簡述who、last、groupadd、useradd、usermod、userdel、passwd命令的使用方法

    2018-04-23
  • 使用diff同patch工具

    Linux命令使用

    Linux筆記 2018-07-14
  • 虛擬機

    虛擬機安裝

    2018-04-01
  • 第三周作業

    第三周作業 1列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 W 命令:顯示信息更加全面 第一行顯示系統的匯總信息,字段分別表示系統當前時間、系統運行時間、登陸內用戶總數及系統平均負載信息。 從第二行開始構成一個表格,共有8個欄目,分別顯示各個用戶正在做的事情及該用戶所占用的系統資料。 USER:顯示登陸用戶帳號名。用…

    2018-07-08
  • linux

    輸入、輸出重定向? >若文件不存在,則創建,并將正確的輸出填充,若文件已存在,則覆蓋原內容 >> 若文件不存在,則創建,并將正確的輸出內容填充,若文件已存在,則追加內容 2> 若文件不存在,則創建,并將錯誤的輸出填充,若文件已存在,則覆蓋原內容2>> 若文件不存在,則創建,并將錯誤的輸出內容填充,若文件已存在,則追加內容 …

    Linux筆記 2018-05-26
欧美性久久久久