分類
好用軟體

cockpit安裝ssl憑證自動化

cockpit 是個方便好用的 linux 管理員介面:

https://cockpit-project.org/

安裝完成後, 由於預設是自簽的 ssl 憑證, 所以會有需要強制瀏覽器在自簽憑證下使用, 若需要使用 letsencrypt 憑證, 可以利用 acme.sh 來進行自動化簽發(issue)與安裝(install).

而 acme.sh 配合 apache / nginx 來簽發 ssl 是都可以的, 請參考:

https://github.com/acmesh-official/acme.sh

不過在 cockpit 是需要將已簽發的 key 與 cer 合併後, 放在 /etc/cockpit/ws-certs.d 目錄中, 可以參考:

https://cockpit-project.org/guide/228/https.html

然而在 acme.sh 中, 沒有直接產出合併的檔案可以供 cockpit 用, 所以要如何自動化後續的更新, 可以利用 .acme.sh –install-cmd 中的 reloadcmd 參數來實現合併 cert 後, 並重起服務, 指令如下:

./acme.sh --install-cert -d [domain] --reloadcmd "cat \$CERT_KEY_PATH \$CERT_FULLCHAIN_PATH > /etc/cockpit/ws-certs.d/50-[domain].cert && service cockpit restart"

其實就是藉由原來在執行 reload 指令時, 前面多利用了 cat 指令將兩個檔案合併寫入至 cockpit 中所需要的 cert 檔案即可, 再重起 cockpit 服務就完成囉. 這樣一來指令也會寫入 Le_ReloadCmd 的 acme.sh 的對應域名參數檔案中, 十分方便.

參考資料:

https://github.com/acmesh-official/acme.sh/issues/793#issuecomment-317987555

 

分類
好用軟體

好用方便的虛擬主機管理器 – CyberPanel

這個管理工具, 是類似 cPanel、Plesk 這類的 hosting 服務的管理工具, 若是搭配 OpenLiteSpeed 版本的 web service 是完全免費的, 十分佛心.

而搭配 LiteSpeed 版本的 web service 的 CyberPanel Ent. 版, 在 1 domain 下, 2GB Ram 下也是每個月 0元, 可以參考價格說明:

https://cyberpanel.net/cyberpanel-enterprise/

而 OpenLiteSpeed 與 LiteSpeed Ent 版本有什麼差異, 可以參考這裡:

https://www.litespeedtech.com/products/litespeed-web-server/editions

安裝支援的系統有 Centos 7.x, Centos 8.x, Ubuntu 18.04, Ubuntu 20.04, 另外需要的條件有: Python 2.7, 1024MB or above Ram, 10GB Disk Space. 可以參考安裝說明:

https://cyberpanel.net/docs/installing-cyberpanel/

安裝完成後, 應用服務包含了 php (多版本), web, mysql, mail, ftp, dns, ssl 等, 十分方便, 另外管理介面使用 8090 port , 若希望管理介面也能用 let’s encrypt ssl 可以參考這篇的設定方式:

https://cyberpanel.net/docs/2-cyberpanel-on-ssl/

簡單說明, 也就是建立一個 website, 域名為你想用來管理的域名, 然後再到管理介面左側選單的 SSL, Hostname SSL, 選擇你想用的 website 域名後, 再按下 Issue SSL 即可.

他的 email service web 介面使用了 rainloop 也十分方便, 另外也支援了 DKIM 功能, 一樣能透過 SSL/TLS 加密 email 與使用 smtp / pop3 / imap 等方式來存取.

這個工具十分方便, 有在管理多虛擬主機的朋友們可以參考.

分類
FreeBSD/Linux

[nginx]Reverse Proxy with Cache SSL fails

一般我們在實作 Nginx 的 Reverse Proxy with Cache 時, 可以參考這篇:

https://www.nginx.com/resources/wiki/start/topics/examples/reverseproxycachingexample/

不過若是 proxy_pass 的 upstream 是 https://example.com/ 時, 會發生以下錯誤:

SSL_do_handshake() failed (SSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure) while SSL handshaking to upstream

從 log 來看, 其實原因很單純, 因為預設往 upstream 的 web request 會使用 ip 的方式連接, 而導致錯誤 (前端收到為 502 bad gateway), 解決方式只需要新增一個值:

proxy_ssl_server_name on;

如此即可, 請參閱:

無SSL的不安全警告

Google search console 來信通知 2018/7 起的 google chrome 68 版本以上將會對無 https (ssl) 的網站發出不安全警告, 所以只能著手來調整一下網站.

啟用了 SSL 之後, 訪問本站也就會直上 https , 當然也一併解決安全性議題, 不過網站是否安全, 從 SSL 只是在傳輸上加密, 確認 endpoint 安全, 不過內容是否安全又是另外的議題, 無論如何, Google 的安全強化是值得肯定的.

 

分類
好用軟體

很不錯的監控服務 – uptimerobot

先說, 我使用的是免費的版本, 功能就十分方便好用了.

原本是使用 monitor.us 服務, 雖然可以監控的項目很多種類, 不過後來因為要收費了, 所以另外找了這個 uptimerobot, 也用了好一陣子, 監控密度夠高也穩定, 雖然監控項目以 http / https 為主, 但也十分夠用了.

最近收到一個監控通知, 內容第一次看到, 如下:

原來也有監控 SSL 的憑證到期呢, 真的十分貼心, 很棒. 如此一來, 即使在 SSL 忘了更新, 或沒時間檢查的狀況下, uptimerobot 也會協助監控, 就不會那麼容易過期了.

繼續閱讀:
https://blog.uptimerobot.com/introducing-ssl-monitoring/

另外, 單純提供 SSL Certificate Expiration check 的服務:
https://certificatemonitor.org/

分類
系統技術

免費好用的SSL-Letsencrypt

看到在 DigitalOcean 上的教學文章 – 如何在 ubuntu 的 apache 上加裝 SSL

https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-14-04

於是來研究看 Letsencrypt 的 SSL 安裝.

步驟真的還蠻簡單的, 開了一台 CentOS 主機後, 先安裝了 apache:

yum install httpd

再安裝 git:

yum install git

然後便正式安裝 letsencrypt 作業:

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto

其實這樣就裝完了, 過程中會問幾個問題, 主要是網域名稱與 renew 用的 email , 輸入完成後, 便會自動進行 SSL 憑證的安裝, 其中還有一個問題是是否強制使用 https, 可以依自己的需求來進行選擇, 安裝好後, 就可以直接訪問 https://yourdomain.com 看看是否正常, 原則上 apache 不用重起就可以使用了呢.

這個憑證免費, 不過效期只有 90 天, 官方建議是每 60天 renew 一次, 所以記得要定期更新, 或使用 cron 自動來更新.

繼續閱讀:

  1. https://community.letsencrypt.org/t/quick-start-guide/1631
  2. 使用第三方 sslforfree 來手動申請 ssl: https://free.com.tw/ssl-for-free/
  3. https://blog.longwin.com.tw/2015/11/let-encrypt-ssl-certificate-setup-2015/

Google加密搜尋

最近發現有個 referer 來的 link 是帶著 https://encrypted.google.com/….. 進來的連結, 想說是什麼加密搜尋的新功能, 順著連結回去之後, 發現原來有個 google 的 ssl 通道的加密搜尋啊, 目前還在 beta 階段.

看起來這個把搜尋也放到加密通道上, 是不讓別人竊取查詢的內容或被監聽, 不過實在也沒什麼理由需要加密吧, 很有意思. 網址在這裡: https://encrypted.google.com/

分類
系統技術

免費SSL申請憑證-StartSSL

在寫作 web application 後, 最後一步就是部署發行了.

不過這端往往會有問題(其實也不是問題)的地方在於自己的網站, 若是要使用 SSL 加密通道, 走 https 通訊協議時, 會需要申請一個 SSL 的憑證.

今天剛好在這裡看到一篇文章: http://blog.s135.com/startssl/ 裡有提到有關免費申請的 SSL 憑證. 這家公司是 startcom, 其網站在: http://www.startssl.com , 提供了線上免費申請 SSL 的憑證, 十分方便而且實用.

其實 SSL 憑證是可以自己簽發的, 在自家網路內部還不成問題, 可以將 CA 加入在公司內的電腦主機上, 但是在公眾網路上, 若是瀏覽器沒有內建的 CA 時, 就會發生不信任警告, 而現在的瀏覽器更是主動直接拒絕連結, 需要使用者自行手動加入信任才行. 對於一般的應用上, 自行簽發的憑證真的不是很方便(雖然一樣可以用, 只是信任度就下降了, 不然何必要第三方公證單位的CA呢). 而一般的申請單位像是 Verisign 也都可以申請, 只是費用就不是市井小民負擔的起的.

好. 廢話不多說, 我們就來申請試看看吧, 首先上 http://www.startssl.com 進行申請, 首先到右上有個門有鑰匙的符號進行申請, 之後出現三個功能, Authenticaion, Sign-up, express line, 時選擇 Sign-up, 填入基本資料後, 就可以利用 email 完成驗證身份的動作了.

接下來就可以在 control panel 上的 Validations Wizard 進行 web ssl 憑證申請囉, 畫面如下: