web 服務進階 httpd配置成https

web服務進階 自建CA/https詳解

一、SSL與https

1、引言

我們網上購物、網上訂票,以及使用支付寶支付過程中都會在網上直接輸入賬號和密碼。這些信息都是非常重要的,如何才能在輸入的過程中,不被別人看見和竊取,就需要對你輸入的信息進行加密處理。

早期的兩主機通信之間是沒有加解密程序,后來就在傳輸層與應用層之間加了一個SSL庫,完成加密解密功能。

web 服務進階  httpd配置成https

2、身份認證是怎么實現的?

A主機給B主機發了一個很重要的文件,B主機是怎么知道這個文件是A發的呢,萬一是不法分子小C的陰謀,那我該不該相信這個信息呢?所以采用下面一種策略

首先發送方用自己的私鑰加密數據特征碼,接收方用對方的公鑰去解密,如果接的開,就說明是對方發送的,密鑰是成對出現的,私鑰只有發送方自己有。其中發送方用自己的私鑰加密數據的結果就叫數據簽名。就相當于蓋個章,這個東西是我的了。

3、加密過程:A發送給B信息

(1)A生成一組數據,為了保證數據安全保密的送給B,A先用單向加密算法計算出這段數據的特征碼

(2)A會用自己的私鑰加密這段特征碼并將結果覆加在數據后面。

(3)A生成了一個臨時的對稱密鑰,并使用這個對稱密鑰加密這整段數據。

(4)S會獲取到B的公鑰,并使用對方的公鑰加密剛才那個對稱密鑰并覆加到整個后面,然后發送到B進行解密。

4、解密過程:B來解密

(1)B拿到報文以后,先用自己的私鑰去解密這段加密的對稱私鑰

(2)用對稱密鑰解密整段加密的內容

(3)用A的公鑰去解密特征碼,能解密,A的身份得到驗證

(4)在用同樣的加密對稱算法,去計算這段數據的特征碼并與解密出來的進行比較,如果相同,數據完整性得到驗證。

5、這中間缺一個環節,就是CA,幫助通信雙方確認對方身份是否真偽。雙方通信時要商量好:

(1)把CA頒發的公鑰證書給我

(2)商議好用哪種方式加密

(3)B拿到A的公鑰后要驗證

6、ssl與http的關系

http本身不具備加密解密功能,所以通過ssl進行加密。使用ssl的http通信叫做https通信。

web 服務進階  httpd配置成https


二、實例演示

1、自建CA(A主機:ip為192.168.1.118)

(1)生成私鑰文件 mkdir -p /etc/pki/CA/private #創建私鑰保存的目錄

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

ll /etc/pki/CA/private/ # 私鑰只能自己保存,對保密性要求高

web 服務進階  httpd配置成https

(2)生成自簽證書

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

web 服務進階  httpd配置成https

(3)為CA提供所需的目錄和文件

touch /etc/pki/CA/index.txt # 創建數據庫文件

echo 01 > /etc/pki/CA/serial # 創建序列號文件并給明第一個證書的序列號碼

ll /etc/pki/CA

web 服務進階  httpd配置成https

至此,私有CA創建完畢。

2、證書申請:(在B主機上:ip:192.168.1.109)

(1)在證書申請的主機上生成私鑰

cd /etc/httpd/

mkdir ssl #創建保存私鑰的目錄

cd ssl

(umask 077;openssl genrsa -out httpd.key 2048) #生成私鑰

ll

web 服務進階  httpd配置成https

(2)生成證書簽署請求

openssl req -new -key httpd.key -out httpd.csr -days 365 # 在本地生成

web 服務進階  httpd配置成https

(3)把請求發送給CA

scp httpd.csr root@192.168.1.118:/etc/pki/CA # 192.168.1.118為CA主機

web 服務進階  httpd配置成https

(4)CA簽發證書(在CA192.168.1.118主機上操作),cd到 /tmp下

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

web 服務進階  httpd配置成https

cat /etc/pki/CA/index.txt #查看第一個簽發的證書

web 服務進階  httpd配置成https

(5)把簽署好的證書發還給請求者

cd /etc/pki/CA

scp certs/httpd.crt root@192.168.1.109:/etc/httpd/ssl/

web 服務進階  httpd配置成https

在請求主機上查看,證書已經頒發好了

web 服務進階  httpd配置成https

3、配置httpd支持使用ssl,及使用的證書;

(1) yum install -y mod_ssl

(2)修改配置文件: vim /etc/httpd/conf.d/ssl.conf

<VirtualHost 192.168.1.109:443>
        ServerName www.a.com
        DocumentRoot /www/a.com/htdocs
        SSLengine ON
        SSLprotocol ALL -sslv2 -sslv3
        SSLcertificatefile /etc/httpd/ssl/httpd.crt
        SSLcertificatekeyfile /etc/httpd/ssl/httpd.key
</VirtualHost>

(3)配置虛擬主機vim /etc/httpd/conf.d/virt.conf

<VirtualHost 192.168.1.109:80>
              ServerName www.a.com
              DocumentRoot /www/a.com/htdocs
              <Directory "/www/a.com/htdocs">
                      Options None
                      AllowOverride None
                      Require all granted
</Directory>

檢查

web 服務進階  httpd配置成https

測試如下:

web 服務進階  httpd配置成https

ok了,還要把CA證書下載到windows導入瀏覽器。就可以了。

原創文章,作者:N24_yezi,如若轉載,請注明出處:http://www.www58058.com/63170

(0)
N24_yeziN24_yezi
上一篇 2016-12-10
下一篇 2016-12-11

相關推薦

  • Tomcat 全系列發現嚴重安全漏洞

    據 Tomcat 安全組確認,Tomcat 全系列產品均被發現嚴重安全漏洞:CVE-2014-0227 請求夾帶漏洞。 級別:嚴重 受影響版本: Apache Tomcat 8.0.0-RC1 to 8.0.8 Apache Tomcat 7.0.0 to 7.0.54 Apache Tomcat 6.0.0 to 6.0.41 描述:可以通過構造一個截斷請…

    Linux干貨 2015-02-11
  • 正則表達式

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶都沒有任何訪問權限 [root@localhost ~]#? mkdir /home/tuser1======>創建/home/tuser1目錄 [root@localhost ~]#? ?cp? -a? /etc/skel/? ?/hom…

    2017-10-10
  • man和history及bashi的快捷鍵

    man:幫助命令     命令格式:man# cmd;使用時可以先使用whatis 查詢所對應的man的章節,然后用對應的man章節來查詢幫助;     info:本地幫助文檔     官方文檔,在線查詢等等,如果是付費版系統的話可以使用S…

    Linux干貨 2016-07-29
  • Linux之旅1

    Linux之旅1  一、描述計算機的組成及其功能 計算機的組成: 1、計算機主要由:CPU(控制器、運算器)、存儲器、輸入設備、和輸出設備(輸入設備、和輸出設備又稱為I/O設備)四部分組成; 計算機個組成部分的功能: CPU:主要有控制器和運算器組成; 控制器:控制器是整個計算機的中樞神經;其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,…

    2016-09-12
  • apache工作模式及虛擬主機的配置

    apache的工作模式 MPM 名詞解釋MPM   Multipath Process Module 多道處理模塊。Linux中常使用prefork worker event三種MPM 即apache常用的三種工作模式。 prefork prefork為多進程模型,每個進程響應一個請求。其工作過程簡單說來就是一個主進程:負責生成n個 子進程(子進程…

    Linux干貨 2016-07-02
  • 淺談編譯kernel+busybox構建擁有遠程ssh登錄和web功能最小linux系統(一)

    實驗環境win7+VM11.1 大致過程總攬 1,硬件準備以及查看硬件設備型號(不用擔心,這些都是VM虛擬出來的) 2,編譯環境的配置以及下載內核源碼以及編譯內核 3,編譯busybox,以及提供系統正常運行的配置文件,初步運行linux系統 4,編譯安裝dropbear提供ssh服務 5,安裝nginx;提供web服務 一,硬件準備以及查看硬件設備型號 由…

    Linux干貨 2015-09-22

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-14 14:21

    博客完成的非常好,有圖有真現,有實驗結果。加油!

欧美性久久久久