自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

通過(guò)SSL證書(shū)在Nginx中配置Https構(gòu)建加密通道保證數(shù)據(jù)傳輸安全

安全
為了解決HTTP協(xié)議的這些缺陷,需要使用另一種協(xié)議:HTTPS。為了數(shù)據(jù)傳輸?shù)陌踩?,HTTPS在http的基礎(chǔ)上加了SSL協(xié)議,SSL依靠證書(shū)驗(yàn)證身份,并為瀏覽器和服務(wù)器之間通信加密;

[[278209]]

 1、先說(shuō)說(shuō)Nginx-HTTPS加密技術(shù)

超文本傳輸安全協(xié)議(HTTPS)是以安全為目標(biāo)的HTTP通道,簡(jiǎn)單來(lái)說(shuō)就是HTTP安全版。https由兩個(gè)部分組成:HTTP+SSL/TLS,在http基礎(chǔ)上加上了一層加密信息模塊,服務(wù)端和客戶端的信息插損胡都會(huì)通過(guò)TLS進(jìn)行加密,傳輸?shù)臄?shù)據(jù)都是加密后的數(shù)據(jù)

為了解決HTTP協(xié)議的這些缺陷,需要使用另一種協(xié)議:HTTPS。為了數(shù)據(jù)傳輸?shù)陌踩?,HTTPS在http的基礎(chǔ)上加了SSL協(xié)議,SSL依靠證書(shū)驗(yàn)證身份,并為瀏覽器和服務(wù)器之間通信加密;

SSL證書(shū)是一種數(shù)字證書(shū),使用Secure Socket Layer協(xié)議在瀏覽器和web服務(wù)器之間建立一條安全通道,從而實(shí)現(xiàn)數(shù)據(jù)信息在客戶端和服務(wù)器之間的加密傳輸,保證雙方傳遞信息的安全性,不可被第三方竊聽(tīng),而且用戶可以通過(guò)服務(wù)器證書(shū)驗(yàn)證所訪問(wèn)網(wǎng)站是否真實(shí)可靠;

加密的HTTPS和HTTP的區(qū)別:超文本傳輸協(xié)議HTTP協(xié)議被用于在web瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息,HTTP協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的加密數(shù)據(jù),如果攻擊者截取了web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文,就可以直接讀取其中信息,因此,http協(xié)議不適合傳輸一些銘感信息;

HTTPS加密,解密,驗(yàn)證完成過(guò)程如圖所示:

 

通過(guò)SSL證書(shū)在Nginx中配置https構(gòu)建加密通道保證數(shù)據(jù)傳輸安全

 

首先客戶端發(fā)送請(qǐng)求,服務(wù)端接受到請(qǐng)求之后并申請(qǐng)生成公私秘鑰,同時(shí)將公鑰證書(shū)發(fā)送給客戶端,客戶端收到之后并通過(guò)TLS進(jìn)行解析驗(yàn)證,如果證書(shū)沒(méi)有問(wèn)題就會(huì)在客戶端生成一個(gè)加密隨機(jī)值,將隨機(jī)值發(fā)送給服務(wù)端,服務(wù)端接收到之后,用自己的私鑰解密,從而得到這個(gè)隨機(jī)值,然后通過(guò)這個(gè)隨機(jī)值對(duì)內(nèi)容進(jìn)行對(duì)稱加密。服務(wù)端將用私鑰加密后的信息發(fā)送給客戶端,最后,客戶端用之前生成的私鑰來(lái)解密服務(wù)器端發(fā)過(guò)來(lái)的信息,獲取解密后的內(nèi)容

1)客戶端向服務(wù)端發(fā)起HTTPS請(qǐng)求,用戶在瀏覽器輸入https網(wǎng)址,然后連接到Nginx server的443端口2)服務(wù)端采用https協(xié)議有一套數(shù)字證書(shū),該證書(shū)可以自行配置,也可以向證書(shū)管理組織去申請(qǐng),該證書(shū)其本質(zhì)是公鑰和私鑰3)將公鑰傳送給客戶端,證書(shū)包含了很多信息,例如,證書(shū)的頒發(fā)機(jī)構(gòu),過(guò)期時(shí)間等等4)客戶端解析證書(shū),由客戶端的TLS完成,首先會(huì)驗(yàn)證公鑰是否有效,比如頒發(fā)的機(jī)構(gòu),過(guò)期時(shí)間等,如果發(fā)生異常,則會(huì)彈出警告信息,提示證書(shū)存在問(wèn)題,如果證書(shū)沒(méi)有問(wèn)題,就會(huì)隨機(jī)生成數(shù)值,然后用證書(shū)對(duì)該隨機(jī)數(shù)值進(jìn)行加密5)將證書(shū)加密后的隨機(jī)值傳送到服務(wù)器,讓服務(wù)器獲取該隨機(jī)值,后續(xù)客戶端和服務(wù)端可以通過(guò)該隨機(jī)值來(lái)進(jìn)行加密解密6)服務(wù)端用私鑰解密后,得到了客戶端傳過(guò)來(lái)的隨機(jī)值,然后把內(nèi)容通過(guò)該值進(jìn)行了對(duì)稱加密7)服務(wù)端將私鑰加密后的信息發(fā)給客戶端8)客戶端用之前生成的私鑰來(lái)解密服務(wù)端發(fā)送過(guò)來(lái)的信息,獲取解密后的內(nèi)容

2、關(guān)于SSL證書(shū)

互聯(lián)網(wǎng)的安全通信,是建立在SSL/TLS協(xié)議之上,SSL/TLS協(xié)議的基本思路是采用公鑰加密法,也就是,客戶端先向服務(wù)器端索取公鑰,然后用公鑰加密信息,服務(wù)器收到密文后,用自己的私鑰解密。通過(guò)這種加解密機(jī)制,可以保障所有信息都是加密傳播,無(wú)法竊聽(tīng),同時(shí),傳輸具有校驗(yàn)機(jī)制,一旦信息被篡改,可以立刻發(fā)現(xiàn),最后,通過(guò)身份證書(shū)機(jī)制,可以防止身份被冒充。由此可知,SSL證書(shū)主要有兩個(gè)功能:加密和身份認(rèn)證。

目前市面上的SSL證書(shū)都是通過(guò)第三方SSL證書(shū)機(jī)構(gòu)頒發(fā)的,常見(jiàn)可靠的第三方 SSL證書(shū)頒發(fā)機(jī)構(gòu)有DigiCert、GeoTrust、GlobalSign、Comodo等。

根據(jù)不同使用環(huán)境,SSL證書(shū)可分為如下幾種:

企業(yè)級(jí)別:EV(Extended Validation)、OV(Organization Validation) 個(gè)人級(jí)別:IV(Identity Validation)、DV(Domain Validation)

其中 EV、OV、IV 需要付費(fèi),企業(yè)用戶推薦使用EV或OV證書(shū),個(gè)人用戶推薦使用IV證書(shū),DV證書(shū)雖有免費(fèi)的可用,但它是最低端的SSL證書(shū)。它不顯示單位名稱,也不能證明網(wǎng)站的真實(shí)身份,只能驗(yàn)證域名所有權(quán),僅起到加密傳輸信息的作用,適合個(gè)人網(wǎng)站或非電商網(wǎng)站。

3、使用OpenSSL生成私鑰文件和CSR文件

Nginx配置HTTPS并不復(fù)雜,主要有兩個(gè)步驟:簽署第三方可信任的 SSL證書(shū)和配置 HTTPS,下面依次介紹。

要配置HTTPS需要用到一個(gè)私鑰文件(以.key結(jié)尾)和一個(gè)證書(shū)文件(以.crt結(jié)尾) ,而證書(shū)文件是由第三方證書(shū)頒發(fā)機(jī)構(gòu)簽發(fā)的,要讓第三方證書(shū)頒發(fā)機(jī)構(gòu)簽發(fā)證書(shū)文件,還需要給他們提供一個(gè)證書(shū)簽署請(qǐng)求文件(以.csr結(jié)尾)。下面簡(jiǎn)單介紹下私鑰文件和csr文件。

私鑰文件:以.key結(jié)尾的一個(gè)文件,由證書(shū)申請(qǐng)者生成,它是證書(shū)申請(qǐng)者的私鑰文件,和證書(shū)里面的公鑰配對(duì)使用,在 HTTPS 握手通訊過(guò)程中需要使用私鑰去解密客戶端發(fā)來(lái)的經(jīng)過(guò)證書(shū)公鑰加密的隨機(jī)數(shù)信息,它是HTTPS加密通訊過(guò)程非常重要的文件,在配置HTTPS的時(shí)候要用到。 CSR文件:CSR全稱是Cerificate Signing Request,即證書(shū)簽署請(qǐng)求文件,此文件里面包含申請(qǐng)者的DN(Distinguished Name,標(biāo)識(shí)名)和公鑰信息,此文件由證書(shū)申請(qǐng)者生成,同時(shí)需要提供給第三方證書(shū)頒發(fā)機(jī)構(gòu)。證書(shū)頒發(fā)機(jī)構(gòu)拿到CSR文件后,使用其根證書(shū)私鑰對(duì)證書(shū)進(jìn)行加密并生成CRT證書(shū)文件,CRT文件里面包含證書(shū)加密信息以及申請(qǐng)者的DN及公鑰信息,最后,第三方證書(shū)頒發(fā)機(jī)構(gòu)會(huì)將CRT文件發(fā)給證書(shū)申請(qǐng)者,這樣就完成了證書(shū)文件的申請(qǐng)過(guò)程。

在申請(qǐng)SSL證書(shū)之前,證書(shū)申請(qǐng)者需要先生成一個(gè)私鑰文件和一個(gè)CSR文件,可通過(guò)openssl命令來(lái)生成這兩個(gè)文件,操作如下:

[root@iZ23sl33esbZ ~]# openssl req -new -newkey rsa:2048 -sha256 -nodes -out iivey.csr -keyout iivey.key -subj "/C=CN/ST=beijing/L=beijing/O=iivey Inc./OU=Web Security/CN=iivey.com"

上面這個(gè)命令會(huì)生成一個(gè)CRS文件iivey.csr和私鑰文件iivey.key。其中,相關(guān)字段含義如下:

 C字段:即Country,表示單位所在國(guó)家,為兩位數(shù)的國(guó)家縮寫,如CN表示中國(guó) ST字段: State/Province,單位所在州或省 L字段: Locality,單位所在城市/或縣區(qū) O字段: Organization,此網(wǎng)站的單位名稱 OU字段: Organization Unit,下屬部門名稱;也常常用于顯示其他證書(shū)相關(guān)信息,如證書(shū)類型,證書(shū)產(chǎn)品名稱或身份驗(yàn)證類型或驗(yàn)證內(nèi)容等 CN字段:Common Name,網(wǎng)站的域名

接著,將生成的CSR文件提供給CA機(jī)構(gòu),簽署成功后,CA機(jī)構(gòu)就會(huì)發(fā)給我們一個(gè)CRT證書(shū)文件,假定這個(gè)文件是iivey.crt,在獲得SSL證書(shū)文件后,就可以在Nginx配置文件里配置HTTPS了。

4、Nginx下配置SSL證書(shū)

要開(kāi)啟HTTPS服務(wù),其實(shí)就是在Nginx上開(kāi)啟一個(gè)443監(jiān)聽(tīng)端口,下面是HTTPS服務(wù)在Nginx下的配置方式,這里僅列出了server段的配置:

server { listen 443; server_name www.iivey.com; index index.php index.html; root /data/webhtdocs/iivey; ssl on; ssl_certificate iivey.crt; ssl_certificate_key iivey.key; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; add_header X-Xss-Protection 1; }

簡(jiǎn)單介紹下上面每個(gè)配置選項(xiàng)的含義:

ssl on:表示啟用SSL功能。

ssl_certificate:用來(lái)指定CRT文件的路徑,可以是相對(duì)路徑,也可以是絕對(duì)路徑,本例是相對(duì)路徑,iivey.crt文件放在和nginx.conf同級(jí)目錄下。

ssl_certificate_key:用來(lái)指定秘鑰文件的路徑,可以是相對(duì)路徑,也可以是絕對(duì)路徑,本例是相對(duì)路徑,iivey.key文件放在和nginx.conf同級(jí)目錄下。

ssl_prefer_server_ciphers on:設(shè)置協(xié)商加密算法時(shí),優(yōu)先使用我們服務(wù)端的加密套件,而不是客戶端瀏覽器的加密套件。

ssl_protocols:此指令用于啟動(dòng)特定的加密協(xié)議,這里設(shè)置為“TLSv1 TLSv1.1 TLSv1.2”,TLSv1.1與TLSv1.2要確保openssl版本大于等于openssl1.0.1 ,SSLv3也可以使用,但是有不少被攻擊的漏洞,所以現(xiàn)在很少使用了。

ssl_ciphers:選擇加密套件和加密算法,不同的瀏覽器所支持的套件和順序可能會(huì)有不同。這里選擇默認(rèn)即可。

add_header X-Frame-Options DENY:這是個(gè)增強(qiáng)安全性的選項(xiàng),表示減少點(diǎn)擊劫持。

add_header X-Content-Type-Options nosniff:同樣是增強(qiáng)安全性的選項(xiàng),表示禁止服務(wù)器自動(dòng)解析資源類型。

add_header X-Xss-Protection 1:同樣是增強(qiáng)安全性的選項(xiàng),表示防止XSS攻擊。

5、驗(yàn)證HTTPS功能

Nginx的https配置完成后,需要測(cè)試下配置是否正常,這里提供兩種方式,第一種方式是直接通過(guò)瀏覽器訪問(wèn)https服務(wù),這里使用火狐瀏覽器進(jìn)行測(cè)試,如果https配置正常的話,應(yīng)該會(huì)直接打開(kāi)頁(yè)面,而不會(huì)出現(xiàn)如下界面:

 

通過(guò)SSL證書(shū)在Nginx中配置https構(gòu)建加密通道保證數(shù)據(jù)傳輸安全

 

出現(xiàn)這個(gè)界面,說(shuō)明https沒(méi)有配置成功,需要檢查https配置是否正確。而在打開(kāi)https頁(yè)面后,可能還會(huì)出現(xiàn)一種情況,如下圖所示:

 

通過(guò)SSL證書(shū)在Nginx中配置https構(gòu)建加密通道保證數(shù)據(jù)傳輸安全

 

這個(gè)現(xiàn)象是能夠打開(kāi)https界面,但是瀏覽器地址欄左邊的小鎖是灰色,并且有個(gè)黃色的感嘆號(hào),這說(shuō)明這個(gè)網(wǎng)站的頁(yè)面中可能引用了第三方網(wǎng)站的圖片、js、css等資源文件,https認(rèn)為頁(yè)面有引用第三方網(wǎng)站資源的情況是不安全的,所以才出現(xiàn)了警告提示。解決這個(gè)問(wèn)題很簡(jiǎn)單,將頁(yè)面上所有引用第三方網(wǎng)站的資源文件下載到本地,然后通過(guò)本地路徑進(jìn)行引用即可。

修改所有資源文件到本地服務(wù)器后,再次通過(guò)https方式進(jìn)行訪問(wèn),瀏覽器地址欄左邊的小鎖自動(dòng)變成綠色,并且感嘆號(hào)消失,如下圖所示:

 

通過(guò)SSL證書(shū)在Nginx中配置https構(gòu)建加密通道保證數(shù)據(jù)傳輸安全

 

至此,nginx下配置https服務(wù)已經(jīng)正常運(yùn)行。

在瀏覽器下可以查看證書(shū)信息(證書(shū)廠商、證書(shū)機(jī)構(gòu)、證書(shū)有效期等),點(diǎn)擊瀏覽器地址欄的綠鎖,選擇查看證書(shū),即可查看證書(shū)詳細(xì)信息,如下圖所示:

 

通過(guò)SSL證書(shū)在Nginx中配置https構(gòu)建加密通道保證數(shù)據(jù)傳輸安全

 

驗(yàn)證SSL證書(shū)狀態(tài)還有另外一個(gè)方法,那就是通過(guò)提供的在線網(wǎng)站進(jìn)行驗(yàn)證,讀者可以通過(guò)https://myssl.com/網(wǎng)站或https://www.ssllabs.com/ssltest/網(wǎng)站進(jìn)行在線測(cè)試,這些網(wǎng)站可以更詳細(xì)的測(cè)試SSL證書(shū)的狀態(tài)、安全性、兼容性等各方面的狀態(tài)。

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2022-02-16 11:56:28

HTTPHTTPS數(shù)據(jù)傳輸

2009-04-10 23:40:06

2009-05-19 17:05:10

2011-03-02 11:23:48

2023-11-04 09:06:11

2021-06-09 11:28:06

加密數(shù)據(jù)Jsencrypt

2009-05-26 11:24:00

2024-12-31 08:54:38

2024-05-06 10:55:39

2020-06-12 07:50:15

大數(shù)據(jù)

2024-03-26 12:08:20

加密NginxHTTP

2021-10-08 08:37:38

數(shù)據(jù)傳輸數(shù)據(jù)調(diào)用網(wǎng)絡(luò)協(xié)議

2009-12-18 09:20:34

路由器基礎(chǔ)配置

2010-04-07 14:54:38

2009-04-09 21:56:14

2009-11-24 16:47:29

路由器基礎(chǔ)配置

2009-12-21 14:47:43

路由器配置

2021-01-29 08:19:50

HTTPS安全傳輸

2013-11-26 15:51:45

Android編程藍(lán)牙數(shù)據(jù)傳輸

2015-10-14 09:44:55

TCP網(wǎng)絡(luò)協(xié)議數(shù)據(jù)傳輸
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)