隱藏在HTTPS等加密流量中的進階攻擊因無法解密難以被檢測,Cloud Firewall的TLS檢查功能可防護出向加密流量,通過私人根CA替換TLS認證,實現解密流量獲得IPS防護能力和私人認證加密安全通訊的雙重需求。
TLS檢查功能當前為公測階段,不代表最終上線形態,如有問題和建議請通過商務經理與我們聯絡。
為什麼需要TLS檢查
HTTPS等加密協議已經成為互連網中常用的通訊協議,但因其請求載荷均為密文,Cloud FirewallIPS引擎無法知曉其內容,也就無法分析流量進行防護。
TLS檢查可配置檢查策略,防護指定出向流量,通過指定的私人認證,在用戶端和Cloud Firewall之間替換其原有的TLS認證。
Cloud Firewall獲得服務端認證後可解密流量,使得IPS引擎得以檢測和防護進階攻擊和敏感性資料泄露等風險。
適用範圍
版本限制:不支援使用舊版隨用隨付1.0計費方式的Cloud Firewall。
地區限制:僅支援以下地區:華北2(北京)、華東2(上海)、華東1(杭州)、華北3(張家口)。
TLS 協議版本限制:
僅支援 TLS 1.0、1.1 和 1.2。
TLS 1.3 若未啟用 ECH(Encrypted Client Hello),可正常轉寄流量,但不支援解密與防護。
早期 SSL 版本及啟用 ECH 的 TLS 1.3 不支援 TLS 檢查,會導致流量中斷。
協議類型限制:非 TCP 請求(如基於 UDP 的 QUIC 協議)僅支援轉寄,不支援 TLS 檢查。
網路診斷影響:啟用 TLS 檢查後,TCP MTR(My Traceroute)無法正常探測至來源站點的鏈路路徑。
認證模式限制:不支援雙向 TLS(Mutual TLS Authentication,mTLS),僅支援單向 TLS(用戶端驗證服務端認證)。
SNI 要求:TLS SNI(Server Name Indication)必須與所配置認證中的網域名稱匹配,方可啟用 TLS 檢查。
操作步驟
登入Cloud Firewall控制台。在左側導覽列,選擇,進入TLS检查功能頁面。
步驟一:TLS檢測策略配置
在TLS检查功能頁列表上方單擊创建TLS检查策略按鈕,右側彈出创建TLS检查策略抽屜視窗。
關聯證書。
配置項
說明
策略名稱
填寫便於識別的TLS檢查策略名稱稱。
关联TLS证书
選擇一個已經建立的認證。
說明首次建立策略時,認證選擇下拉框中將顯示申请试用证书選項。單擊該選項可自動建立測試認證,用於快速體驗 TLS 檢查功能。試用認證僅可使用一次;在生產環境中,請購買並啟用自有認證。
當前僅支援 PCA 憑證,且須滿足以下要求:
認證用途必須選擇“企業對內使用”;
不支援國密演算法認證;
若使用 RSA 私密金鑰演算法,密鑰長度不得小於 2048 位;
ECC私密金鑰演算法請選擇256。
若無可選認證,可單擊购买证书跳轉至認證管理主控台進行操作。購買時仍需確保 PCA 憑證用途設定為“企業對內使用”。有關 PCA 憑證的詳細資料,請見什麼是PCA認證。
證書有效期
選擇認證後,系統將顯示其有效期間。當有效期間不足一年時,系統將強制提醒。建議定期檢查認證,確保其剩餘有效期間不少於一年。
描述
輸入策略的描述。
填寫所有配置項後單擊下一步可進入配置檢查範圍步驟,注意此步驟完成後策略已經建立並儲存。
配置檢查範圍。
重要所有檢查範圍規格上限數為20000。
單條TLS檢查策略佔用規格數:該條策略中所有檢查範圍所佔規格之和。
單條檢查範圍佔用規格數 = 源IP個數 * 源連接埠段個數 * 目的IP個數 * 目的連接埠段個數。
配置項
說明
协议类型
當前僅支援
TCP協議。源IP
請選擇需檢查的出向流量目標主機 IP 位址,支援多選,最多可選擇 1000 個。
說明支援的資產類型:
ECS EIP、ECS 公網IP、NAT EIP、EIP、ENI EIP。源端口
選中資產的檢查連接埠,格式為
開始連接埠/結束連接埠,連接埠取值0-65535,多個連接埠範圍之間用英文逗號分割,最多支援100個範圍對象。說明所有連接埠均以範圍形式表示,即使只有一個連接埠。比如:
8080/8080,表示僅檢查8080連接埠。檢查所有連接埠請使用
0/65535。
目的IP
源IP資產訪問目的服務的IP。
說明需使用標準掩碼格式的IPv4地址或位址區段,如:
192.0.2.0/24,8.8.8.8/32。可輸入多個IP位址區段,每個IP地址對象用英文逗號隔開, 最多可以支援100個IP對象。
如需表示所有地址,請使用
0.0.0.0/0。
目的端口
源IP資產訪問目的服務的連接埠,格式為
開始連接埠/結束連接埠,連接埠取值範圍0-65535。多個連接埠範圍之間用英文逗號分割,最多支援100個範圍對象。描述
填寫檢查範圍的描述。
其他動作
儲存:單擊加密流量檢查範圍摺疊框下方的保存按鈕,可直接儲存檢查範圍,不需要點擊下一步。儲存成功後,摺疊框右上方會提示已保存。
增加:單擊增加一组检查范围,可新增檢查範圍,一條策略中最多增加10組檢查範圍。
刪除:單擊加密流量檢查範圍摺疊框右上方的
,確認後可刪除當前檢查範圍。刪除與儲存相同,確認後直接刪除,不需要點擊下一步,請謹慎操作資料。
填寫所有配置項後單擊下一步完成策略配置。
檢查策略資訊。
策略配置完成後會顯示配置的策略和檢查範圍的詳細資料。資訊中展示的策略ID會展示在日誌中。
步驟二:TLS認證安裝
建立TLS檢查策略後需要將關聯的認證安裝到對應檢查的資產主機上。
如果檢查資產為NAT EIP類型,則所有通過該公網NAT Gateway訪問互連網的所有Elastic Compute Service都需要安裝認證,否則可能會造成流量中斷。
下載認證。

在TLS檢查策略配置列表中,找到建立好的策略,在右側操作列中單擊證書下載,將認證下載到本地並解壓得到認證檔案(
.crt尾碼)。登入選擇的源IP主機。
登入建立加密流量檢查範圍時選擇的源IP主機。並將認證上傳至主機任意目錄。以ECS執行個體為例,檔案上傳操作,請參見選擇傳輸檔案的方式。
安裝認證。
切換到認證上傳的目錄,將認證拷貝到對應系統的信任目錄,並執行更新命令,不同作業系統步驟如下:
說明如果TLS策略中關聯了子CA認證,需要根CA和子CA同時安裝。
以下樣本只是針對信任目錄為系統信任目錄的情境,如果業務的認證信任目錄是其他的情境,需要根據實際情況安裝到信任庫中。
CentOS/Alibaba Cloud Linux/Anolis/Redhat
拷貝認證檔案:
cp <認證檔案名稱> /etc/pki/ca-trust/source/anchors/更新認證:
sudo update-ca-trust查看更新後的認證:
cat /etc/ssl/certs/ca-bundle.crt出現認證內容即代表認證安裝成功。

Ubuntu
拷貝認證檔案:
cp <認證檔案名稱> /usr/local/share/ca-certificates/更新認證:
sudo update-ca-certificates查看更新後的認證:
cat /etc/ssl/certs/ca-certificates.crt出現認證內容即代表認證安裝成功。

Windows
重要對於引用的是子CA(中間CA)的情境,Windows原生的Cert Manager安裝的時候,不會將一個檔案中包含多個CA憑證鏈結的內容一次性安裝,只會安裝第一個CA內容。對於此種情境,需要手動將每個CA內容(-----BEGIN CERTIFICATE----- 塊)拆分成多個檔案,然後逐個安裝。
拆分認證,將下載解壓後的認證檔案使用文字編輯器開啟,將認證中的
-----BEGIN CERTIFICATE-----~-----END CERTIFICATE-----塊內容,剪下到建立檔案中,並將檔案更名為.crt結尾即可。
拆分後:

安裝認證:按右鍵認證檔案,在快顯功能表中單擊安裝認證,按下列步驟安裝:
1
2
3



完成上述步驟後點擊下一步完成認證匯入。
查看認證:cmd命令列中輸入
certmgr.msc開啟Cert Manager。
SUSE
拷貝認證檔案:
cp <認證檔案名稱> /etc/pki/trust/anchors更新認證:
sudo c_rehash .查看更新後的認證:
sudo trust list --filter=ca-anchors |grep -C 2 <認證CN>出現認證資訊即代表認證安裝成功。

Fedora /Fedora CoreOS
拷貝認證檔案:
sudo cp <認證檔案名稱> /etc/pki/ca-trust/source/anchors/更新認證:
sudo update-ca-trust extract查看更新後的認證:
sudo trust list --filter=ca-anchors |grep -C 2 <認證CN>出現認證資訊即代表認證安裝成功。

Container Service Kubernetes 版 ACK
當出向流量源自阿里雲 ACK 叢集中的 Pod 時,由於容器運行環境與宿主機隔離,須在 Pod 內安裝 PCA 憑證。若節點自身也發起 HTTPS 請求(例如拉取公網鏡像),則還需在節點上安裝該認證。
說明以下步驟適用於 Alibaba Cloud Linux 3.2104 LTS 64 位元容器最佳化版作業系統,僅供參考。您應根據實際使用的作業系統及業務需求,相應調整相關命令。
以下部分命令涉及對資源進行重啟操作,為避免對業務造成影響,建議在業務低峰期進行。
為節點安裝認證
登入至每個節點,執行如下命令。
拷貝認證檔案:
cp <認證檔案名稱> /etc/pki/ca-trust/source/anchors/更新認證:
sudo update-ca-trust查看更新後的認證:
cat /etc/ssl/certs/ca-bundle.crt出現認證內容即代表認證安裝成功。
重啟Container Service使其生效:
sudo systemctl restart containerd。
為容器組Pod安裝認證
在目的地組群控制台建立保密字典Secret,樣本配置如下。其中密鑰值為認證檔案的內容。具體建立操作,請參見管理保密字典。
也可以通過如下kubectl命令建立Secret,實現相同效果,需要將命令中的ca_chain.crt替換為實際的認證檔案名稱。kubectl create secret generic cfw-pca-cert \ --from-file=ca_chain.crt=./ca_chain.crt \ -n default以Deployment為例,在其YAML檔案中添加如下內容:
定位至
spec.template.spec.containers欄位,添加以下內容以掛載認證並更新信任庫,其中secretName為上一步建立的 Secret:cfw-pca-cert。volumes: - name: custom-ca-volume secret: secretName: cfw-pca-cert volumeMounts: - name: custom-ca-volume mountPath: /etc/ssl/custom readOnly: true繼續在
spec.template.spec.containers欄位下,添加啟動命令。說明以下樣本基於 CentOS 容器系統,僅供參考。請根據實際使用的作業系統及業務需求,相應調整相關命令。
command: - "/bin/sh" - "-c" - | # 1. 安裝 curl echo "Installing curl......" yum install -y curl # 2. 驗證認證掛載,此處的ca_chain.crt需替換為實際認證檔案名稱 if [ ! -f /etc/ssl/custom/ca_chain.crt ]; then echo "ERROR: Certificate file not found!" exit 1 fi # 3. 按 CentOS 步驟注入認證 echo "Copying certificate to anchors directory..." cp /etc/ssl/custom/ca_chain.crt /etc/pki/ca-trust/source/anchors/ echo "Updating CA trust store..." update-ca-trust # 4. 保持 Pod 運行 echo "Pod ready for manual testing. Use 'kubectl exec' to test further." sleep infinity
瀏覽器信任資料庫
某些瀏覽器(例如Firefox)不使用系統的 CA 信任庫,而是維護自己的認證信任資料庫,即使通過update-ca-certificates更新了系統認證,瀏覽器仍可能提示認證不受信任。此種情況可參照以下步驟將認證匯入至瀏覽器的信任資料庫中。
Linux和Windows中這類瀏覽器的認證匯入操作沒有差別。
1 | 2 |
|
|
步驟三:開啟檢查和查詢流量日誌
對應資產主機認證安裝完成後,即可開啟策略檢查。
重要開啟TLS檢查時,建立串連約1分鐘後開始生效保護,存量長串連不會生效且不會保護。
對已開啟保護且開啟TLS檢查的EIP,當關閉TLS檢查時,長串連會中斷,停機時間取決於業務重連時間長度。

在TLS检查功能頁可以查看已經建立成功的策略列表,單擊啟用狀態開關即可啟用TLS檢查策略。開啟後Cloud Firewall可根據配置檢測出向流量的加密內容。
說明策略只有未啟用狀態才能刪除。
查詢流量日誌。
檢查主機產生流量後,在Cloud Firewall控制台左側導覽列,選擇。
在可查詢到對應主機產生的流量,其中包含了命中的TLS檢查策略和範圍。
日誌中會顯示策略和檢查範圍的ID。


