網路動態
使用Certbot安裝letsencrypt_SSL憑證
以現今網路環境需求,網頁服務提供加密連線已被視為架設網站基礎步驟。但SSL憑證不便宜且無法常常更換,而 Let's Encrypt (https://letsencrypt.org/)提供免費SSL憑證及自動化更換SSL憑證服務。
在官方網站上提供多種安裝SSL憑證方式,在具備命令列權限的主機官方建議使用Certbot (https://certbot.eff.org/)工具安裝及更換SSL憑證。以下將一部新安裝的網頁服務主機安裝設定SSL憑證。
Certbot提供對應多種網頁服務軟體及作業系統之安裝更新 SSL 憑證步驟。
1. 此次範例測試主機作業系統選用CentOS 7及網頁服務選用Apache。選擇後將看到下面說明網頁。
接著點選 enable the EPEL repository,下載EPEL RPM並安裝。
- 下載EPEL RPM
# wget 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm'
- 安裝EPEL RPM
# rpm -Uvh epel-release-latest-7.noarch.rpm
- 載入EPEL
# yum update
輸入 N ,不執行更新所有有更新的套件
2. 安裝 Certbot
# yum install certbot-apache
輸入 y 進行安裝 Certbot
中間過程會出現安裝EPEL的GPG金鑰,請輸入y。
安裝完成後將出現下列說明文字
3. 安裝SSL憑證前置步驟,此次測試網站為 web.test102802.idv.tw。
- 確認DNS設定正確
- 確認防火牆設定正確
- 確認網頁服務已正常啟動
4. 執行 Certbot 安裝設定SSL憑證
- 首先輸入註冊的電子郵件信箱,接著輸入 A 同意服務條款。若想要收到電子前進基金會的通知郵件請輸入 Y。
接著輸入主機名稱註冊SSL憑證。第一次選擇ssl.conf時會偵測主機網頁服務是否正常,若在此遇到錯誤,請檢查防火牆設定。最後選擇使用redirect方式將 http:// 自動導向到 https://。
5. 連線網頁檢查是否已完成SSL憑證設定
點選安全鎖頭符號顯示安全連線資訊,憑證可浮現所使用之憑證核發單位。
點選憑證 ‘有效’ 可顯示憑證有效期限及詳細資訊,憑證有效時間為90天。
看到上述畫面即已完成安裝設定
6. 使用指令檢查SSL憑證及手動更新憑證
- 查詢SSL憑證指令 # certbot certificates
- 手動更新憑證指令 # certbot renew
設定renew參數,預設在到期前30天才能更新SSL憑證。若有需要可將此預設時間改小。另外可使用root身分在 crontab 每日執行certbot renew 檢查並更新SSL憑證。
在憑證目錄下有說明檔,說明檔案用途。這些檔案是由Certbot透過ACME通訊協定取得SSL憑證。
接著可以檢查Apache設定檔目錄,看到Certbot異動的設定檔。
/etc/httpd/conf.d/le-redirect-web.test102802.idv.tw.conf 是轉導向的設定檔。
Certbot在 /etc/httpd/conf.d/ssl.conf 加上SSL憑證目錄
參考資料
- Let's Encrypt https://letsencrypt.org/getting-started/
- Certbot https://certbot.eff.org