1. 程式人生 > >Centos7配置Apache實現HTTPS

Centos7配置Apache實現HTTPS

mar 密碼 wke 終端 image vat ges proc dea

HTTP簡介

Web服務器在默認情況下使用HTTP,這是一個純文本的協議。正如其名稱所暗示的,純文本協議不會對傳輸中的數據進行任何形式的加密。而基於HTTP的Web服務器是非常容易配置,它在安全方面有重大缺陷。任何”中間人”,通過精心防止的數據包嗅探器,是能夠看到任何經過的數據包內容。更進一步,惡意用戶甚至可以在傳輸路徑設置一個假冒的WEB服務器冒名頂替實際的目標Web服務器。在這種情況下,最終用戶可能實際上與假冒者服務器,而不是真正的目的服務器進行通信。這樣,惡意用戶可以通過精心設計的表單欺騙終端用戶獲取到敏感信息,如用戶名密碼。

為了處理這些類型的漏洞,大多數供應商往往在他們的web服務器應用HTTPS協議。對於只讀類型的網站,用戶只能讀取內容,並沒有實際提交任何信息,HTTP仍然是一個可行的選擇。但是,對於保存敏感信息的網站,比如:用戶需要登錄來獲得網站的服務,那麽HTTPS是必須的。

HTTPS能夠為一個網站提供以下能力。

1、確保所有經過服務器傳輸的數據包都是經過加密的。

2、建立了一個官方數字證書證書,使得假冒服務器無法冒充真正的服務器。

HTTPS證書獲取途徑

1、自簽名證書被推薦用於測試目的和個人項目。自簽名證書,也可以用於服務提供商,不過一般適用於用戶互相信任的情形。另外,自簽名證書不用花錢購買。

2、證書可以由社區為基礎的認證供應商如StartSSL和CACERT辦法。這些證書也不需要花錢,但建議為個人項目。

3、對於全球性商業網站,建議從值得信賴的知名證書頒發機構購買證書。這些證書需要花錢,但他們增加了網絡服務提供商的信譽。

實驗環境:

系統版本:centos7x3.10.0-514.el7.x86_64

Apache版本:Apache/2.4.6

關閉防火墻並禁止開機自啟

systemctl stop firewalld.service
systemctl disable firewalld

關閉selinux

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/sysconfig/selinux

修改主機名

vi /etc/hostname
apache.xyc.com

域名綁定IP

vi /etc/hosts
192.168.152.170 apache.xyc.com

重啟 reboot

安裝apache服務

1、安裝apache環境依賴

yum -y install mod_ssl openssl httpd

2、創建CA證書存放目錄

mkdir /etc/httpd/ca

3、修改配置文件

vi /etc/httpd/conf.d/ssl.conf
技術分享圖片
技術分享圖片
技術分享圖片

創建Apache的CA證書

1、進入存放證書的目錄

cd /etc/httpd/ca/

2、創建自己的CA證書

openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 1000 -out ca.crt
技術分享圖片
註:可以看到截圖我寫的是1000天,也就是大概三年的時間,自己可以隨意設置!

3、生成CA證書簽名請求

openssl req -newkey rsa:4096 -nodes -sha256 -keyout apache.xyc.com.key -out apache.xyc.com.csr
技術分享圖片

4、生成註冊主機的證書

openssl x509 -req -days 365 -in apache.xyc.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out apache.xyc.com.crt
技術分享圖片
註:可以看到以上截圖寫的是365天,有的童鞋可能不太理解,簡單說一下,現在代表的意思是證書三年有效期,而客戶端使用認證期限是一年,當然了寫1000天就和證書一樣三年後失效。

5、將證書拷貝到配置文件中路徑相對應的目錄

//進入證書目錄

cd /etc/httpd/ca/

//拷貝證書到默認指定目錄

cp apache.xyc.com.crt /etc/pki/tls/certs/
cp apache.xyc.com.key /etc/pki/tls/private/

6、重啟Apache服務

systemctl restart httpd

訪問測試(最好使用Firefox瀏覽器)

1、訪問網頁地址https://apache.xyc.com/

技術分享圖片
註:因為本地電腦無法識別自己寫的域名,所以需要添加網站主機IP和域名綁定,實現方式如下:

//打開本地C盤,搜索路徑C:\Windows\System32\drivers\etc
技術分享圖片

//用文本格式編輯第二行的hosts文件,添加一行web的IP和域名即可
技術分享圖片

2、再次訪問網頁地址https://apache.xyc.com/

技術分享圖片
註:看到這樣的截圖,基本上也算是成功了!

//點擊高級
技術分享圖片

//點擊添加列外
技術分享圖片

//點擊確認安全列外
技術分享圖片
註:如上截圖,說明apache的https搭建完成了!

Centos7配置Apache實現HTTPS