close

現場(環境):CentOS 7.3  使用:Let’s Encrypt

 


原因:

 

近年大家越來越重視資訊安全的問題, 

 

以前常在用的http這類沒有SSL加密的網站,

 

已經逐漸被大家以及瀏覽器列為較不安全的網站。

 

買憑證現在也很方便,

 

只是金額對於部份開發測試階段的人來說還是有點負擔。

 

或者網站只是臨時性的活動網站,但要花錢買SSL憑證。

 

這是很多現在企業的矛盾。

 

Let’s Encrypt出現很多年,現在也有許多人正在使用它。

 

它不需要你額外付費,就可以申請SSL憑證來使用,

 

雖然每3個月要更新一次憑證,但也有很多放是可以讓它自動更新。

 

比較可惜的是,因為不需付費及便利性,

 

被部份有心人士拿來做惡意的行為。

 

而這就是資訊安全&Let’s Encrypt的相乎拉扯的點。

 

Let’s Encrypt的初衷就是創造一個都是SSL憑證加密的網站。

 

所以我們開始來實作看看。

 

 


處理方式:

 

方法有兩種

 

(1) 透過Linux執行

 

(2) 透過Web版執行

 

今天我們先介紹第一種,透過Linux執行。

 

Step 1. 首先我們要先下載git & CentOS更新


#yum install git epel-release -y

 

Step 2. 下載執行Let’s Encrypt所需套件。

 

#yum install gcc libffi-devel python-devel openssl-devel -y

Step 3. github上將let’s encrypt提供的執行包抓回來。

 

# git clone https://github.com/letsencrypt/letsencrypt


(2018/03/09測試。網址有更改)

# git clone https://github.com/certbot/certbot

 

在瀏覽器連結下列網址一樣會導到新網址。

https://github.com/letsencrypt/letsencrypt

 

Step 4. 執行

 

這邊要依據你將執行包下載回來的位置進行切換

 

#cd /root/letsencrypt

 

(2018/03/09測試)

 

#cd /root/cerbot

 

# ./letsencrypt-auto certonly -a standalone -d [網域名稱]

 

範例: # ./letsencrypt-auto certonly -a standalone -d www.test.com

 

執行的時候還會幫你安裝需多套件。

 

 


執行時,要輸入E-mail

 

這很重要,因為我們的SSL憑證 3個月後會過期。

 

這邊的E-Mail就是到時候要通知到我們的哪個E-Mail

 

 

 

因為途中遇到一些錯誤(錯誤的解決方法有放在最後),

 

所已又再次重新申請,完整申請的狀態大概會如下:

 

//這一次就沒有再問你E-mail部份的問題了

 

 

Step 5. 執行完成後可以看到憑證放在哪裡

 

總共會有4個檔案

 

檔案都會位在/etc/letsencrypt/live 之下,

 

會以網域名稱做資料夾進行區分。

 

檔案有公鑰cert.pem / 私鑰 privkey.pem / chain chain.pen

 

以及 fullchain.pem

 

 

到時候就是分別放到WEB服務器當中就可以了。

 

 

Apache設定部份可以參考我的另一篇網誌

 

IT事件簿 – Apache 服務要加上SSL


SSLCertificateFile /etc/httpd/SSL/憑證.crt //公鑰文件

 

SSLCertificateKeyFile /etc/httpd/SSL/憑證.key //私鑰文件

 

SSLCertificateChainFile    //中級憑證

 

這三隻檔案就是對應到 cert.pem / 私鑰 privkey.pem / chain chain.pen

 

設定完成後,服務重啟就可以了。

 

憑證申請就到這邊,

 

SSL憑證更新& 自動更新部份我們留在下一次說。

 

 


後記:

 

錯誤訊息1

 

在做let’s encrypt的時候。你的WEB端一定要是關閉的。
 

不然會出現下列的錯誤訊息。

 

Problem binding to port 80: Could not bind to IPv4 or IPv6.

 

 

關閉後再次申請憑證就好了。


 


錯誤訊息2

 

你申請的域名現在還沒有對應到IP位址。

 

Failed authorization procedure. [網域] (http-01):

urn:acme:error:unknownHost :: The server could not resolve

a domain name :: No valid IP addresses found for [網域]

 

 

這就是要注意一下你是否名稱打錯了,

 

或者真的是你的網域對應到IP位址還沒有生效。

 

 

<本篇完>

 
 
arrow
arrow
    全站熱搜

    IT001 發表在 痞客邦 留言(0) 人氣()