跳到主要內容

發表文章

目前顯示的是有「SSL憑證」標籤的文章

DNS 新增 CAA 紀錄

學校的網頁伺服器採用 HTTPS 模式時,均使用 Let's Encyrpt 認證服務。大多數的伺服器都依 Let's Encrypt 官網的說明,使用 Certbot 用戶端自動於過期前更新。 今天遇到 6/16 到期的 radius.tsh.tp.edu.tw 出現久違的 https 警告,發現該主機的 Certbot 並沒有自動更新。查詢相關資料後,用 sudo certbot renew 手動指令更新,出現下列的錯誤: 發現是 DNS CAA 錯誤問題。 摘錄「 https://ezbox.idv.tw/112/dns-caa-protec-ssl-tls-certificate/ 」說明: 目前全球簽發 SSL/TLS 憑證的機構已超過百個 要避免這些機構在某些情況下錯誤簽發憑證 (WoSign曾發生過) 就需要在簽發憑證前做一些檢查動作 在 RFC 6844 中定義了 DNS CAA Record 透過 DNS 的 CAA 紀錄,申明網域授權哪些機構可以簽發該網域的憑證 如果沒有設定 CAA 紀錄,則代表任何機構都可以簽發該網域的憑證 2013年1月 CA可以決定是否檢查該記錄,非強制性 2017年3月 CA/Browser 論壇決議 2017年9月起強制所有憑證發行機構在簽發憑證前必須檢查 DNS CAA 紀錄 如果是代管 DNS,則現行多數的DNS代管單位都可以直接設定 CAA 紀錄 若無法新增 CAA 紀錄,只能聯繫代管服務商要求提供協助設定 如果是自行管理DNS,則需要在自己的 DNS Server 上自行設定 解決方式只要用 SSLMate 提供的 CAA Record Helper 來協助產生紀錄,再輸入 BIND9 設定檔中即可。

Ubuntu Apache 啟用 http/2

何謂 http/2 (摘錄自「你的網站升級到 HTTP/2 了嗎?」) 隨著網頁內容越來越複雜,造成了要完成一個網頁載入(Page Load)的動作,除了要下載 HTML 之外,還需要下載 CSS 檔案、JavaScript 檔案、各種圖片檔案,零零總總加起來需要已經多達上百個對伺服器的 Request 請求資源,大大影響了網頁載入的速度。在這一秒鐘幾十萬上下的時代,Amazon 的網頁載入時間每多一秒,該公司的年度營收就減少 16 億美元、Google 的搜尋時間每多 0.4 秒,每天的搜尋次數就會減少 8 百萬網頁、KISSmetric 分析報告指出等待時間超過 4 秒,Bounce Rate 就會增加 25%。人的思緒在等 1 秒後就開始飄移,如果需要等 10 秒,就會感覺這東西是不是壞了。 這個問題的最大原因在於, HTTP/1.1 有一個非常大的缺陷是每個對伺服器的 Request 資源請求,都必須佔用一個網路連線(TCP connection),傳完一個檔案才能再傳下一個,瀏覽器無法同時下載。因此在 HTTP/1.1 時代,瀏覽器為了加速下載的時間,只好同時允許六個網路連線(TCP connection)併發去連接伺服器,好可以達成同時下載六個資源。但是極限也是如此了,並不是說無限制增加網路連線就可以解決這個瓶頸,因為每一次的網路連線,都必須經過三次握手的初始網路連線程序,而且每次初始連線因為流量控制的關係,一開始的網路封包會傳輸比較慢,後來才逐漸加快。 那麼,HTTP/2 是如何改良的呢?它採用的解法包括: 只需要單一網路連線(Single TCP connection),就可以連接網站伺服器,下載所有需要的資源。大大節省 HTTP/1.1 需要一直建立多個網路連線時的啟動時間浪費。 連線多工(Multiplexing),在單一網路連線上,就可以同時傳輸多個 HTTP Request 和 Response,併發請求 CSS/JS/Images 等等資源。它的原理是將 Requests/Responses 都拆碎成小 frames 進行傳輸,而這些 frames 是可以交錯的,因此檔案再多也不怕,不會發生佔用網路連線(TCP connection)的情況。這就是為什麼在圖檔多的情況下,HTTP/2 特別有優勢。 優先權設計(...

校務系統使用 SSL For Free 憑證

因於校務系統使用的主機是 Ubunt 12.04,在使用 Certbot 時一直發生問題且無法解決。在查詢 Let's Encrypt 說明文件時,發現可以使用 SSL For Free 網站申請且下載 SSL 憑證,再手動引用至 Apache 中。 SSL For Free 網址: https://www.sslforfree.com/ 使用 SSL For Free 憑證需要登入,因為是手動下載引用,不像 Certbot 可以自動更新。當憑證快過期之前,需要登入去做 renew 更新的動作。 使用 SSL For Free 需要驗證網站的擁有權,要進行網域驗證。驗證通過後,可以下載產生的90天憑證,一樣是 Let's Encrypt Authority X3 簽發,sha256RAS加密版本。 下載的 sslforfree.zip 檔案解開後,有三個 ssl 憑證檔案:ca_bundle.crt、certificate.crt、private.key。按照 Apache ssl.conf 的設定放到正確的位置,重新啟動 Apache 後就啟用了。

為學校的網頁伺服器使用 Let's Encrypt SSL 憑證

之前為了校務系統 Https 安全連線,採用自行簽發的 SSL 憑證,簽發單位 CA 可以用學校的網域,但因為是自行簽發的緣故,雖然可以使用但網頁瀏覽器卻會發出警告。學校並無教育單位提供的上層憑證,而也用不起商業憑證,所以這種情形也是沒有辦法,至少有 https 的網頁可以用了! 後來在大同大學的通知下,發現有佛心的單位提供有效 SSL 憑證的申請服務: Let's Encrypt,立刻申請使用。 Let's Encrypt  網址: https://letsencrypt.org/ 提供 sha256RSA 的 SSL 憑證,簽發單位(CA)是  Let's Encrypt Authority X3,有效期限是90天。 Let's Encrypt 提供多種憑證申請的機制,比較容易使用的是 Certbot,它可以依照網頁伺服器和作業系統版本提供操作步驟,像學校使用 Ubuntu + Apache 是非常方便的,只要按照網頁提示的步驟就可以完成,並且可以自動更新。 Certbot 網址: https://certbot.eff.org/ 學校大部份的 Linux 是使用 Ubuntu 16.04 ,所以選擇正確的版本之後,系統就會顯示操作指引: 按照說明操作很簡單就可以完成了。 後記: Let's Encrypt 真的非常方便,但是校務系統那一台是 Ubuntu 14.04,在安裝 Certbot 發生問題,查詢網路上的資料,也有不少人遇到同様問題,使用上面提供的解決方式也無法處理。 原本是放著校務系統那台繼續使用自行簽發的 SSL 憑證,在查閱 Document 說明文件中,發現有手動引用憑證的方式,總算完成憑證的使用。手動引用方式下一篇再寫出來。 

ubuntu ssl 憑證製作

因為學校參加資策會「高中職資訊安全管理」試辦,配合相關資訊安全政策,校務系統將改為 https 加密網頁的瀏覽方式。 雖然 Linux 伺服器中的 Apache 網頁伺服器已經有運行系統預設的 https 站台,用的 SSL 憑證是預設的,有點不是很符合實際狀況。 打算製作屬於學校本身的 SSL 憑證,雖然還是自我簽發,但簽發單位至少署名是大同高中。 SSL 憑證製作的過程參考: http://blog.yam.com/hn12303158/article/16457837   ","ubuntu ssl 憑證製作","因為學校參加資策會「高中職資訊安全管理」試辦,配合相關資訊安全政策,校務系統將改為 https 加密網頁的瀏覽方式。 雖然 Linux 伺服器中的 Apache 網頁伺服器已經有運行系統預設的 https 站台,用的 SSL 憑證是預設的,有點不是很符合實際狀況。 打算製作屬於學校本身的 SSL 憑證,雖然還是自我簽發,但簽發單位至少署名是大同高中。 SSL 憑證製作的過程參考:http://blog.yam.com/hn12303158/article/16457837