iT邦幫忙

2025 iThome 鐵人賽

DAY 15
0
Security

導入CDN防護大作戰系列 第 15

【Day15】一台破筆電驗證服務?

  • 分享至 

  • xImage
  •  

CDN採Reverse Proxy架構,所以使用者端HTTPS的憑證驗證會在CDN主機進行。

而CDN主機要講請求轉發至源站時,也會以HTTPS的方式進行連線,因此源站主機仍然也需要確保憑證的效期。

https://ithelp.ithome.com.tw/upload/images/20250928/20042779d3vcyhR9QK.png

可以從圖上了解,使者端到CDN主機的憑證,會由CDN商平台來進行管理跟後續的更新。

而源站的憑證還是得由貴司持續管理及更新,這點務必要跟管理單位告知。

CDN端憑證的重點資訊

在進行憑證申請流程跟佈署前,有些重點要先讓你知道:

  1. 憑證安全級別 (security levels)
    分為 Enhanced TLS 、 Standard TLS 、Akamai shared certificate 共三種,分別的用途是:

    • Enhanced TLS : 適用於具有高保證安全性需求的網站和內容,例如 FedRAMP 和 PCI 合規性。

    • Standard TLS :不符合FedRAMP或PCI標準,適用於純靜態以及視訊串流等網站類型。

    • Akamai shared certificate :由Akamai自行維護的憑證,換句話說憑證上的domain name不是你家網域喔。先前提到的Download Delivery模組存放較大的靜態物件時,這個對外的憑證就可以用這個。

      參考文件詳Akamai官方 準備邊緣憑證

  2. 憑證等級
    分為網域名稱驗證(DV)、組織驗證(OV)和延伸驗證(EV)三種。

    另外,如果有萬用或是多網域的情境,也分為Single、Wildcard、SAN、Wildcard SAN不同類型的憑證。

  3. SNI 伺服器名稱指示 : 使用者請求流量進行TLS交握時,伺服器會確認你要連線的網域並提供給你對應的憑證。但如果一個IP後面有一堆主機且有多個域名時,要怎麼知道要給哪一張?

    伺服器名稱指示 (SNI) 就是為了解決這個問題而設計的。SNI 是 TLS 通訊協定(以前稱為 SSL 通訊協定的延伸,用於 HTTPS。它包含在 TLS/SSL 交握過程中,以確保用戶端裝置能夠看到它們試圖存取的網站的正確 SSL 憑證。該延伸可以在 TLS 交握期間指定網站的主機名稱或網域名稱,而不是在交握後開啟 HTTP 連線時指定。

憑證申請流程

由於貴司申請的是OV 組織型SSL憑證,申請的過程都會利用Akamai的平台上Certificate Provisioning System (CPS)系統完成,整個流程會有以下步驟:

  1. 產生CSR(證書簽署請求): Akamai CPS會協助你填妥CSR需要的資訊。

  2. 提交申請: 平台將CSR提供給外部合作的憑證授權單位(CA),進行後續流程的申請。

  3. 執行組織驗證: CA會對組織的合法存在、電話號碼、域名所有權等進行嚴格的驗證。這邊要透別留意的是,CA組織怎麼知道跟公司內部哪一位同仁確認公司的相關資料呢?

    CA組織會透過WHOIS的資料來找域名擁有者!! 因此千萬要注意這個當初申請域名留下的郵件或是電話,現在是否還是可以正常聯繫到人的,也務必通知同仁後續會這樣的確認電話或郵件。

  4. 執行域名驗證: 確認您對憑證中包含的域名擁有控制權,通常可透過Email、DNS或檔案方式進行。

  5. 憑證核發: 完成所有驗證後,CPS平台會收到一張憑證,後續就可以佈署於環境。

  6. 憑證佈署 : 同樣環境也分為Staging與Production Network,所以可以先將憑證佈署到Staging環境後,測試測試驗證無誤再到Production。

    CSP的介面會有個選項 (Always test on Staging before deployment),系統會自動佈署到Staging環境去,不用人工點選。

設定過程注意事項 :

  • Select Network Settings:由於你買的是OV憑證,所以這選項就會是Enhanced TLS。

  • Advanced Network Configuration :針對TLS的版本,因應資安的要求要記得關閉TLS1.0跟TLS1.1。

  • Select Cipher Profiles: Cipher Profiles針對強度的選擇,Akamai提供幾種設定檔可供選擇,如果是金融交易或是資安要求強度較高的,就是選目前最新的ak-akamai-2020q1。

    這個在目前 Qualys SSL Labs 伺服器測試中會取得「A」評等,而且沒有弱加密協議,應付稽核最好。

    但,如果你還有些客戶你還有些客戶可能用非常舊的作業系統如Win XP,那系統上能裝的瀏覽器會停在某個版本無法升級,導致不支援較新的加密協議就會不能連線喔,要先跟客服講好安撫的話術!!

    https://ithelp.ithome.com.tw/upload/images/20250928/20042779Mat6nIb54F.jpg

    圖檔引用自官方網站 cipher-profiles

APP 憑證驗證

Jerry看著開發單位回填的資料中,對外的服務還有透過APP來提供服務,因此詢問著顧問APP需要更新嗎?

顧問回答,如果貴司的APP因應資安的要求,在進行交易或重要的請求時去驗證連接主機憑證,那麼就必須要CDN憑證放在APP的肚子中。

然後在這個上面,Jerry你會面臨需要跟個開發團隊溝通以下的事情:

  1. 初次導入CDN憑證時,必須要考量也許切換的不順利,會再切回去地端服務,原有的地端憑證仍須存在並維持效期。

  2. 對於一般使用電腦以瀏覽器的網站服務來說,CPS平台更新憑證時不會影響運作,而且過貴司的開發人員都不用介入。但是APP就不同了,要注意兩件事!!

    *透過Apple Store 或是 Google store上架的APP,都會有官方審查期間,待官方審查完後才會開放,因此不要趕在憑證要過期的最後幾天才更新。

    *有些服務的設計會要求一定要更新到哪個版本,稱之為強迫更新。次數一旦多,難免有客訴。而目前APP除了CDN憑證外尚有地端憑證,除了時間不一致外,一定也是要強迫更新到最新版本,要先做好事前的溝通跟規劃!!

Jerry抓著頭抱怨到,老天爺啊!!我還要跟開發單位溝通這個,這麼麻煩肯定被電爆阿~~~~

一台破筆電

正當服務陸續的設定跟憑證到位後,Jerry發現到一個問題,手機的流量樣怎麼轉導到Staging環境呢?

顧問說明,由於手機上沒有hosts這樣的方式可以調整,通常就是透過網路架構的調整例如Proxy,手機可以安裝調整DNS解析的APP。

只是你家的APP會檢查憑證,透過Proxy的方式一定會出現異常,因為Proxy主機沒有Akamai憑證,這代表APP的資安機制防護有效!!

然後,調整DNS解析的APP大多要付費,免費的我不知道哪裡有,坦白說這個我經驗不多,幫不上忙!!

Jerry苦惱了好幾天,想到了一個方法,筆電行動熱點分享變成基地台,再透過筆電系統進行DNS Spoofing後,不就可以連到Staging環境了嗎。

https://ithelp.ithome.com.tw/upload/images/20250928/20042779lHQi6EhwTi.png

於是,Jerry開使跟開發單位同仁協調測試的方式,並陸續完成服務的驗證!!

但在某一次專案進度回報的會議上,開發單位的大主管問到,你就打算用你那台破筆電驗證服務,然後就可以上線了嗎?

Jerry隱忍著想罵人的情緒,先是說明了目前測試環境的限制,以及測試報告上的測試項目都有通過,因此不會有問題!!

會議結束後,Jerry緩和著自己的情緒,回想著剛剛的情境,心裡想著應該沒問題吧。

只是Jerry突然注意到開發人員都拿iPhone,心理想著~~我們家的APP沒有Android版本嗎? 我好像沒看他們有測?

但不知為何,Jerry只是喃喃自語的想著,沒有再去再去追問這件事,於是......


上一篇
【Day 14】測試環境與版本控制
下一篇
【Day16】EdgeDNS 導入
系列文
導入CDN防護大作戰16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言