天天看點

linux下利用https實作站點通路

https簡介

HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目标的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,是以加密的詳細内容就需要SSL。 它是一個URI scheme(抽象辨別符體系),句法類同http:體系。用于安全的HTTP資料傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的預設端口及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通訊方法,現在它被廣泛用于網際網路上安全敏感的通訊,例如交易支付方面。

采用https的伺服器必須從CA (Certificate Authority)申請一個用于證明伺服器用途類型的證書。該證書隻有用于對應的伺服器的時候,用戶端才信任此主機。是以目前所有的銀行系統網站,關鍵部分應用都是https 的。客戶通過信任該證書,進而信任了該主機。其實這樣做效率很低,但是銀行更側重安全。這一點對我們沒有任何異議,我們的伺服器,采用的證書不管是自己釋出的還是從公衆的地方釋出的,其用戶端都是自己人,是以我們也就肯定信任該伺服器。

SSL協定的工作流程

伺服器認證階段:1)用戶端向伺服器發送一個開始資訊“Hello”以便開始一個新的會話連接配接;2)伺服器根據客戶的資訊确定是否需要生成新的主密鑰,如需要則伺服器在響應客戶的“Hello”資訊時将包含生成主密鑰所需的資訊;3)客戶根據收到的伺服器響應資訊,産生一個主密鑰,并用伺服器的公開密鑰加密後傳給伺服器;4)伺服器恢複該主密鑰,并傳回給客戶一個用主密鑰認證的資訊,以此讓客戶認證伺服器。

實作過程

1.安裝http服務

[root@uodekoaix Server]# yum install httpd-2.2.3-31.el5.i386.rpm

2.建立CA

[root@uodekoaix CA]# mkdir crl certs newcerts

[root@uodekoaix CA]# touch index.txt serial

[root@uodekoaix CA]# echo "01">serial

[root@uodekoaix CA]# ll

總計 24

drwxr-xr-x 2 root root 4096 08-20 11:40 certs

drwxr-xr-x 2 root root 4096 08-20 11:40 crl

-rw-r--r-- 1 root root    0 08-20 11:42 index.txt

drwxr-xr-x 2 root root 4096 08-20 11:40 newcerts

drwx------ 2 root root 4096 2009-06-30 private

-rw-r--r-- 1 root root    3 08-20 11:43 serial

[root@uodekoaix CA]# echo "welcome">>index.html

3.産生鑰匙鍊

[root@uodekoaix CA]# openssl genrsa 1024>private/cakey.pem

[root@uodekoaix CA]# chmod 600 private/*

4.産生CA憑證

[root@uodekoaix CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem -days 3650

5.web伺服器擷取鑰匙

[root@uodekoaix CA]# mkdir -pv /etc/httpd/certs

[root@uodekoaix CA]# cd /etc/httpd/certs

[root@uodekoaix certs]# openssl genrsa 1024 >httpd.key

6.web伺服器産生證書

[root@uodekoaix certs]# openssl req -new -key httpd.key -out httpd.csr

7.web伺服器向CA請求證書

[root@uodekoaix certs]# openssl ca -in httpd.csr -out httpd.cert

8.安裝SSL子產品

[root@uodekoaix Server]# yum install mod_ssl

9.修改/etc/httpd/conf.d/ssl.conf

linux下利用https實作站點通路

10.修改/etc/httpd/conf.d/ssl.conf 開啟證書鍊

linux下利用https實作站點通路

11.關閉80端口

linux下利用https實作站點通路

12.客戶機通路站點并安裝CA憑證

linux下利用https實作站點通路

13.修改客戶機host檔案