如何解決SSL TLS證書服務的高可用性?

2021-10-19 10:10:52 字數 3357 閱讀 7426

背景介紹:2023年1月份,google將chrome 56中所有的 http站點標記為不安全,並對所有使用http方式的登入互動頁發出醒目的「不安全」提示。

隨著一些國際主流ca機構免費型dv ssl證書產品的出現,ssl/tls證書的應用越來越廣泛。ssl證書與網域名稱一樣,很快會成為每乙個互聯**點不可或缺的基礎服務要素。ssl/tls證書的應用逐漸普及,越來越多的站點正在加速啟用全站https服務。而在瀏覽器方面,chrome及firefox在所有新發布的瀏覽器版本中支援hsts。已經有相當一部分站點啟用了hsts服務,徹底將http服務從支援的選項列表中移除。

如何保障ssl/tls證書的安全及可靠?

全面的推廣和應用ssl/tls,會給站點安全性帶來質的提公升,徹底杜絕中間人攻擊、網路劫持等攻擊行為。但於此同時,考慮全站https之後的高可用保障時,ssl/tls證書的安全性問題就逐步凸顯出來。

如何確保https服務能夠7*24不間斷服務,不僅是企業內部it運營團隊需要考慮的問題,同時也對第三方ca服務商提出了更高的要求。

一旦第三方ca服務商出現運營或安全事故,將導致ca服務商的認證服務不可用。這將直接影響到使用企業it服務的終端使用者。無論是pc客戶端、移動終端,還是api介面程式,都將有可能因此受到衝擊,導致服務不可用。

因此在進行站點高保障安全運營維護工作的同時,要求ssl/tls服務**商也必須確保提供7*24不間斷的高可用性服務,才能保障服務的可靠性。

ssl/tls證書服務需注意這三點:

比起單純的採用一張ssl/tls證書,要確保高可用性保障的服務站點不受一家第三方ca認證機構的安全或運營事故牽連,同時使用兩家不同的ca機構提供的高可用性ssl/tls證書服務就顯得尤為必要了。

無論是選擇一張ssl/tls證書服務,還是採用雙證書方案同時使用兩張ssl/tls證書,都需要首先考察ca服務機構在服務保障上的工作是否有做足功課。

首先,ca機構在體量上,當然是越大越好。選擇全球排名靠前的幾家大型老牌ca機構的產品,能夠確保ca機構的產品有更深厚的技術積累和安全保障。不會因為黑客組織或個人的攻擊行為、系統安全系統漏洞、認證不規範等各種原因導致服務中斷或被其他機構列入信任黑名單。

其次,ca服務商在此之前是否發生過大的安全或運營事故,是否遭受過嚴厲懲罰措施也是需要預先考察的。在事故發生後,ca服務商能否協調各方快速及時處理,並保障最小限度的影響客戶的這種能力,也會給客戶的證書應用保障加分。

最後,ca服務商在國內是否有服務加速。

證書簽發後,在證書的使用過程中,通常還需要客戶端請求ca系統獲取證書有效性驗證資訊。證書的有效性驗證,主要採用兩種方式:ocsp及crl。

ocsp的驗證資料報體積較小,但對應答的及時性有要求。伺服器延時越小,客戶端驗證速度越快。

crl的驗證資料報體積較大,但支援crl支援快取。可通過ca服務商的cdn加速服務網路分發。因此要求ca服務商在國內使用cdn加速服務也是很有必要的。

以下方案,主證書採用digicert(原symantec)品牌,備份證書採用entrust或globalsign品牌。

如何部署實施高可用性雙證書?

主證書可按照應用需求,購買單網域名稱、增強驗證型帶綠色位址列的ev型、多網域名稱或萬用字元等型別的證書。主證書的註冊申請、維護和安裝仍然使用原有的模式,不改變部署安裝習慣。

備份證書推薦採用多網域名稱,或萬用字元證書。只需要確保備份證書能夠快速覆蓋主證書的服務範圍,通常不需要頻繁的變更或重新註冊申請。並且在需要應急啟用時,能夠快速變更替換主證書對應的服務。

2.源站伺服器使用主證書,cdn、高防、waf等服務使用備份證書

使用cdn、高防或waf服務的使用者,可在源站伺服器上安裝使用主證書,在cdn、高防、waf等服務中使用備證書。

通常這類服務還可能委託給第三方cdn服務商來部署實施,所以這種模式下使用雙證書方案時,選擇兩個不同的ca服務商提供的產品不僅能夠規避ca運營或安全封信問題,同時源站與cdn、高防、waf服務上配置的證書使用的證書金鑰對也是不同的。任何乙個證書出現的運營安全故障(如秘鑰丟失、秘鑰洩密)都可以快速定位責任主體。第三方cdn服務商的秘鑰洩露也不會影響到源站的資料傳輸安全。

成功案例解析

由於chrome的bug導致所有2023年6月1號之後簽發的證書,在chrome 53、54下報證書透明度日誌不可用錯誤(ct log),某網際網路頭部企業啟用了

digicert(原symantec)+ globalsign 雙證書方案。針對ie、firefox等瀏覽器,自動使用digicert(原symantec)證書,所有版本的chrome瀏覽器訪問,則自動啟用globalsign證書。

一些超大型**或應用,往往對ssl/tls證書的相容性有著非常嚴苛的要求,部分通過api介面對接的服務型產品,更對ca服務商的產品有著更高的相容性要求。主證書使用大牌ca廠商的證書產品,往往能夠獲得最優的相容性支援。但當遇到特定應用場景下的不相容時,使用雙證書應用解決方案,可以有效的規避超大型站點在客戶端出現的ssl/tls證書相容性故障,同時確保api接入使用者不會受到證書變更造成的不良影響。

以下以nginx的**配置來簡單介紹:

要實現根據使用者 ua,自動重定向到策略指定的ssl/tls證書服務站點上,首先要求後端必須有多台伺服器負責處理https請求,並且在這些站點中分別部署主備兩張不同的證書。其次,站點必須關閉hsts,以避免客戶端瀏覽器直接通過https方式訪問伺服器。使用者必須是以預設的http服務訪問伺服器,然後由服務端的proxy**進行策略負載。

其配置原理如下:

首先,配置好後端伺服器策略,為不同的伺服器群集配置其專用的證書

######配置ie瀏覽器後台伺服器群集,並在群集伺服器上配置symantec證書

upstream msiebackend

######配置chrome瀏覽器後台伺服器群集,並在群集伺服器上配置globalsign證書

upstream chromebackend

######配置firefox瀏覽器後台伺服器群集,並在群集伺服器上配置symantec或其他證書

upstream mozillabackend

最後,配置porxy策略,將不同user agent標識的客戶端瀏覽器導向到特定的後台伺服器上。示例如下:

server ', got '#' at position 75: …nd; #̲# 為chrome瀏覽器啟用g…http_user_agent ~ mozilla )

完成以上配置後,重啟nginx,用不同瀏覽器客戶端嘗試訪問您的站點,測試證書的部署策略是否生效。

如果再深入細緻的對user agent進行策略定製,將可以更細緻的控制客戶端的訪問**。

Fiddler安裝證書不成功如何解決

開啟cmd命令窗 注意要以管理員許可權開啟 進入fiddler的安裝路徑下,例如,我的fiddler是安裝在d盤program files fiddler目錄下,那麼需要進入fiddler的安裝路徑,輸入d切換到d碟符下,通過cd命令進入fiddler目錄,如下圖 然後再執行以下命令 makecer...

如何解決Apache服務配置問題

為了使得apache2伺服器能夠為python應用提供服務,也是絞盡了腦子。首先在error.log中檢視apache現在啟動的模組。ah00163 apache 2.4.18 ubuntu mod jk 1.2.41 mod wsgi 4.3.0 python 3.5.2 configured r...

如何解決併發

雖然從巨集觀上,處理器是並行處理多項任務,但本質上乙個處理器在某個時間點只能處理乙個任務,屬於序列執行。在單處理器的情況下,併發問題源於多道程式設計系統的乙個基本特性 程序的相對執行速度不可 它取決於其他程序的活動 作業系統處理中斷的方式以及作業系統的排程策略。在分布式環境下,併發產生的可能性就更大...