當您在處理一些關鍵業務時,HTTPS雙向認證通過對通訊雙方做認證,為您的業務提供更高的安全性。本文指導您如何使用ALB部署HTTPS雙向認證。
背景資訊
HTTPS單向認證:用戶端需要證明伺服器端,而伺服器端不需要認證用戶端。用戶端從伺服器端下載伺服器端密鑰憑證進行驗證,然後建立安全通訊通道。
HTTPS雙向認證:用戶端需要從伺服器端下載伺服器的密鑰憑證進行驗證,同時還需要把用戶端的密鑰憑證上傳到伺服器端進行驗證,雙方都通過認證,才能建立安全通訊通道進行資料轉送。因此雙向認證可以為業務提供更高的安全性。
使用限制
僅標準版和WAF增強版的ALB執行個體支援雙向認證,基礎版ALB執行個體不支援雙向認證。
前提條件
您已建立了標準版或WAF增強版的ALB執行個體。具體操作,請參見建立應用型負載平衡。
說明基礎版的ALB執行個體不支援雙向認證。
您已建立Virtual Private Cloud1,具體操作,請參見建立和管理專用網路。
您已在VPC1中建立2台ECS執行個體。ECS01和ECS02執行個體作為ALB執行個體的後端伺服器,且ECS01和ECS02執行個體中部署了應用服務。
關於建立ECS執行個體,請參見自訂購買執行個體。
本文ECS01和ECS02部署測試應用樣本如下:
您已建立了後端伺服器組RS,並添加了ECS01和ECS02作為後端伺服器。具體操作,請參見建立和管理伺服器組。
您已在認證中心購買並啟用子CA認證,且私人子CA的認證剩餘數量不為0。具體操作,請參見購買及啟用私人CA。
配置步驟
服務端需要完成購買伺服器憑證的操作,用戶端(使用者)需要完成準備用戶端認證、匯出用戶端認證、安裝用戶端認證的操作。
步驟一:購買伺服器憑證
您可以從阿里雲數位憑證管理服務控制台購買、上傳伺服器憑證或者在其他服務位址購買伺服器憑證。您可以通過瀏覽器檢查伺服器發送的認證是否是由自己信賴的中心簽發的。
本文以從阿里雲數位憑證管理服務控制台購買伺服器憑證為例。關於如何購買伺服器憑證,請參見購買SSL認證和上傳SSL認證。
購買SSL認證時需要綁定網域名稱,請確保您擁有真實可用的網域名稱。
步驟二:準備用戶端認證
登入數位憑證管理服務控制台。
在左側導覽列,單擊私人認證。
在私人認證頁面,單擊私人CA頁簽,找到目標根CA認證。
單擊目標根CA認證前的表徵圖,找到目標私人子CA,在操作列單擊申請認證。
在申請認證面板,完成以下認證資訊配置,然後單擊確認申請。
此處僅列出和本文強相關的配置項。關於申請認證的更多操作,請參見管理私人認證。
參數
說明
憑證類型
選擇私人認證的認證類型。本文選擇用戶端認證。
姓名
私人認證主體的通用名稱。
本文填寫已建立的ALB執行個體的網域名稱。
有效期間
私人認證的有效期間。該有效期間不能超過您購買的PCA服務的時間長度。
本文預設30天。
提交認證申請後,認證會立即簽發。您可以在目標私人子CA操作列單擊認證列表,在認證列表頁面查看已簽發的認證資訊。
步驟三:匯出用戶端認證
如果您已通過控制台購買了用戶端認證,並需要通過該用戶端認證進行雙向認證,請執行以下操作匯出用戶端認證。
登入數位憑證管理服務控制台。
在左側導覽列,單擊私人認證。
在私人認證頁面,單擊私人CA頁簽,找到目標根CA認證。
單擊目標根CA認證前的表徵圖,找到目標子CA認證,在操作列單擊證書列表。
在證書列表頁面,找到勘探端認證,在操作列單擊下載,認證格式選擇瀏覽器可以識別的PFX格式。下載的認證檔案中,包括
.pfx
尾碼的用戶端認證檔案以及.txt
尾碼的用戶端私密金鑰加密密碼。
步驟四:安裝用戶端認證
將產生的用戶端認證安裝到用戶端。
以Windows系統為例,雙擊用戶端認證,根據系統認證匯入嚮導提示完成用戶端認證安裝。
步驟五:配置HTTPS雙向認證監聽
在頂部功能表列,選擇ALB執行個體所屬的地區。
在執行個體頁面,找到目標ALB執行個體,單擊執行個體ID。
在監聽頁簽,單擊建立監聽,完成以下配置,然後單擊下一步。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。
參數
說明
選擇監聽協議
選擇監聽的協議類型。
本文選擇HTTPS。
監聽連接埠
輸入用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠,本文輸入443。
在設定SSL憑證設定精靈,選擇步驟一購買的伺服器憑證。
單擊修改展開進階配置,開啟進階配置中的啟用雙向認證。選擇CA認證來源為阿里雲簽發,在選擇預設CA認證下拉框中選擇步驟二:準備用戶端認證購買的CA認證。
選擇TLS安全性原則,然後單擊下一步。
在選擇伺服器組設定精靈,選擇伺服器類型及伺服器類型下的後端伺服器組RS,查看後端伺服器ECS01和ECS02的資訊,然後單擊下一步。
在設定審核設定精靈,確認配置資訊,然後單擊提交。
步驟六:佈建網域名解析
在頂部功能表列,選擇ALB執行個體所屬的地區。
選擇已建立的ALB執行個體,複製其對應的DNS名稱。
完成以下步驟添加CNAME解析記錄。
登入網域名稱解析控制台。
在網域名稱解析頁面單擊添加網域名稱。
在添加網域名稱對話方塊中輸入您的網域名稱,然後單擊確認。
重要這裡添加的網域名稱為伺服器憑證綁定的網域名稱。
您的網域名稱需已完成TXT記錄驗證。
在目標網域名稱的操作列單擊解析設定。
在解析設定頁面單擊添加記錄。
在添加記錄面板配置以下資訊完成CNAME解析配置,然後單擊確認。
配置
說明
記錄類型
在下拉式清單中選擇CNAME。
主機記錄
您的網域名稱的首碼。
解析請求來源
選擇預設。
記錄值
輸入欄位名對應的CNAME地址,即您複製的ALB執行個體的DNS名稱。
TTL
全稱Time To Live,表示DNS記錄在DNS伺服器上的緩衝時間,本文使用預設值。
說明新增CNAME記錄即時生效,修改CNAME記錄取決於本地DNS緩衝的解析記錄的TTL到期時間,預設為10分鐘。
添加時如遇添加衝突,請換一個解析網域名稱。更多資訊請參見解析記錄衝突規則。
步驟七:測試HTTPS雙向認證
在頂部功能表列,選擇ALB執行個體所屬的地區。
在執行個體頁面,單擊目標執行個體ID,然後單擊監聽頁簽,查看健全狀態檢查狀態。
當健全狀態檢查狀態列為正常時,表示後端伺服器可以正常接收處理ALB的HTTPS監聽轉寄的請求。
在瀏覽器中,輸入
https://domain:port
,在彈出的對話方塊中選擇用於驗證用戶端身份的認證。重新整理瀏覽器,您可以觀察到用戶端的請求在ECS01和ECS02伺服器之間的轉換。