2022年12月30日 星期五

【IT Notes】Ubuntu的Apache伺服器啟用HTTPS憑證

 之前有做過產生憑證給外部的憑證中心,但對方回覆pem憑證之後,我還沒有自己實際匯入到伺服器上,所以就來做一個簡單的測試,自己架設一台網頁伺服器,然後匯入憑證,最後在測試一下https有沒有生效。以下就一步步紀錄過程:

1.安裝網頁伺服器

$ sudo apt install apache2 -y
$ sudo a2enmod ssl     \\enable apache ssl
$ sudo systemctl restart apache2

2.設定憑證路徑

先把憑證放在一個安全的路徑,例如我的憑證叫做abccom.pem、私鑰叫做abccomkey.pem,放在

$ sudo mv /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/abccom-ssl.conf    \\複製default設定檔,並將檔名命名為自己的domain
$ sudo vim /etc/apache2/sites-available/abccom-ssl.conf    \\調整config內容

\\確認config內三行的設定
SSLEngine on   \\SSL開啟
SSLCertificateKeyFile /etc/ssl/private/abccomkey.pem   \\私鑰的位置
SSLCertificateFile /etc/ssl/certs/abccom.pem   \\憑證的位置

$ sudo a2ensite /etc/apache2/sites-available/abccom-ssl.conf   \\enable設定檔
$ sudo apache2ctl -t   \\確認SSL狀態
$ sudo systemctl restart apache2

如果要知道憑證有沒有生效,就用老方法,到瀏覽器上看https有沒有不正常的訊息,而且要確定網路有對外,之前裝完後一直噴「憑證不安全」的訊息,後來才知道是該測試機沒有開放外網造成的,畢竟憑證是外面的公司發放的,要能對外測試才會有效。

3.自簽憑證的做法

前面作法比較簡單,只是匯入已經申請好的憑證,如果要弄一個自簽憑證來測試也是一個不錯的實驗。

$ sudo mkdir /etc/apache2/ssl 
\\產出憑證和私鑰
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/abc.key -out /etc/apache2/ssl/abc.crt
流程就跟平常產生憑證的過程一樣

$ sudo vim /etc/apache2/sites-available/abc.conf  
 \\一樣在憑證和私鑰選項上指定好路徑
SSLCertificateFile /etc/apache2/ssl/abc.crt 
SSLCertificateKeyFile /etc/apache2/ssl/abc.key  
 
\\重吃設定檔並重啟網頁伺服器
$ sudo a2ensite abc.conf
$ sudo service apache2 restart

自己測試憑證或在組織內網這是可行的,如果是一個對外的服務,還是要透過申請憑證單位核發合法的憑證才行。

5.如何驗證憑證有沒有生效

想看自簽憑證有沒有生效,可以修改電腦的hosts,然後測試https://domain/ 有沒有辦法開啟。



5.如何比對憑證和私鑰

之前發生一個比較烏龍的錯誤,就是我不小心把憑證和私鑰搞混,我們已知憑證和私鑰匯入是要同步進行的,如果跟我一樣沒有歸類好,一大堆憑證和私鑰搞不清楚的話,就只好用openssl指令來做比較,不然等到匯入時出錯就悲劇了。

\\crt檔先解密並另存
openssl x509 -noout -modulus -in <public.crt> | openssl md5 > /tmp/crt.pub

\\私鑰也解密並另存
openssl rsa -noout -modulus -in <private.key> | openssl md5 > /tmp/key.pub

\\用diff指令做區別,如果沒有任何結果就表示憑證和私鑰是相同的,有結果則代表兩者不是同一組
diff /tmp/crt.pub /tmp/key.pub


附帶提醒一下,私鑰是不能搞丟的,最好是找一個安全的位置備份起來,萬一憑證搞丟了,至少還有機會再重產csr,如果私鑰真的搞丟了,一切就只能重頭來過。




沒有留言:

張貼留言

【當兵回憶】八里連

 在我心目中新兵日記是天花板等級的軍教片,並不是說沒有比它更好的作品,只是因為它的在拍攝的背景和時間,也正是我在服兵役的同時,老婆很多次好奇問我,為什麼我總是放在YouTube的新兵日記直播,我都說我只放在有個聲音在,我沒有真正在看,但這行為仔細想想也好多年了吧!台詞聽到我都會背...