為區域檔案共用建立傳輸中加密
利用 IPsec 安全協定及 X.509 憑證,為區域性檔案共用建立加密掛載連線,以實現安全的端對端資料加密。
IPsec 是一組通訊協定,共同建立裝置之間的加密連線。 它有助於保護透過公共網路傳送的資料安全。 IPsec 加密 IP 封包,並驗證封包的來源。 要在虛擬伺服器實例上設定 IPsec,您可以使用 strongSwan,這是一個開放原始碼的 IPsec 型 VPN 解決方案。 有關 strongSwan 如何運作的更多信息,請參閱 strongSwan 和 IPsec 協議strongSwan。
IPsec 連線需要您有 X.509 憑證進行驗證。 X.509 是公開金鑰憑證的國際標準格式,是將密碼金鑰對安全地與網站、個人或組織等身分相關聯的數位文件。 元資料服務用於建立憑證。
證書簽章請求 (CSR) 是一組編碼文字,當使用者申請證書時,這組文字會被轉寄給證書簽發機構 (CA)。 CSR 會在安裝證書的伺服器上建立。 CSR 包括網域名稱、組織名稱、地區和國家等資訊。 請求還包含與所產生的憑證相關聯的公開金鑰,以及私密金鑰。 CA 在建立憑證時只使用公開金鑰。 私密金鑰必須儲存並保密。 由於私密金鑰與公開金鑰是金鑰對的一部分,如果私密金鑰遺失,證書就無法運作。
當您使用 IPsec 連線來掛載區域檔案共用時,在進行維護或發生節點故障的情況下,可能會發生暫時性的掛載中斷。 在極少數情況下,已設定 IPsec 的掛載點可能會發生長達 3 分鐘的服務中斷。 如需更多資訊,請參閱《 維護期間,已設定 IPsec 的區域檔案共用可能出現掛載中斷 》。
開始使用 IPsec 設定傳輸中加密之前
要使用此功能,需要滿足以下要求:
- 檔案共用必須基於
dp2設定檔,並配置為 安全群組存取模式。 - 掛載目標必須使用 虛擬網路介面 建立。 虛擬伺服器實體和掛載目標必須是同一個 安全群組的 成員。 如需詳細資訊,請參閱 建立檔案共用和掛載目標。
- 必須啟用傳輸中的資料加密。 在主控台中,您可以在建立掛載目標時開啟傳輸中加密。 API
transit_encryption屬性接受ipsec值來啟用該功能。 - 必須在計算主機上啟用元資料服務。 如需詳細資訊,請參閱 虛擬伺服器實體上的 Metadata 服務 和 裸機伺服器上的 Metadata 服務。
IBM Cloud® 檔案服務提供了一個「掛載助手」(Mount Helper)公用程式,用 以自動化在運算主機上執行的以下任務。
如果要將檔案共用連接至在區域中不同 VPC 執行的實體,您可以建立多個掛載目標。 您可以為每個 VPC 建立一個掛載目標。
取得實例身分證書
取得驗證所需的 X.509 憑證。 相同的憑證不能跨區域使用。
-
以下指令會使用 openssl 產生證書簽章請求 (CSR) 和 RSA 金鑰對。
openssl req -sha256 -newkey rsa:4096 -subj '/C=US' -out ./sslcert.csr -keyout file.key -nodes執行指令時,請將
'/C=US'中的國家代碼US替換為您的兩位數國家代碼。OpenSSL 這是一個開源的命令列工具集,可用於處理 X.509 憑證、憑證簽署請求(CSR)以及加密金鑰。 如需更多資訊,請參閱 OpenSSL 文件。
如果您使用不同的軟體來建立 CSR,可能會提示您輸入位置資訊。 您的位置資訊可以包括國家代碼 (C)、州 (ST)、地區 (L)、您的組織名稱 (O) 以及組織單位 (OU)。 可以使用任何一個命名屬性。 任何其他命名屬性,例如通用名稱,都會被拒絕。 指定 Common Name 的 CSR 會被拒絕,因為當您提出請求時,系統會自動將實體 ID 值套用到實體識別證 書的主題 Common Name。 具有延展功能的 CSR 也會被拒絕。
-
在向元資料服務發出 API 呼叫之前,請使用下列指令格式化 csr。
awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' sslcert.csr -
然後,使用 虛擬伺服器實例 或 裸機伺服器 上的元資料服務建立用戶端憑證。
- 進行
PUT /instance_identity/v1/token(虛擬伺服器實體) 或PUT /identity/v1/tokens(裸金屬伺服器) 請求,從 VPC 識別服務取得用於後續呼叫的令牌。 如需相關資訊,請參閱下列主題: - 使用身分令牌建立身分證書。 對虛擬伺服器實例提出
POST /instance_identity/v1/certificates請求,或對裸機伺服器提出POST /identity/v1/certificates請求。 在 HTTP 授權標頭中指定身份符記,加上憑證簽章請求 (作為csr屬性) 和有效期 (作為expires_in屬性)。 該呼叫會傳回新的用戶端憑證和中間憑證鏈,允許用戶端使用 IPsec Encryption in Transit 存取檔案共用。 如需相關資訊,請參閱下列主題: - 複製 API 回應輸出,包括
-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----兩行,並將其儲存到具有可識別名稱的檔案中,例如ca-cert.pem。 請確定您建立的檔案副檔名是.pem。
- 進行
-
複製
/etc/ipsec.d/cacerts目錄中的實體識別證 書。sudo cp /tmp/ca-cert.pem /etc/ipsec.d/cacerts
設定主機和掛載共用
-
安裝並設定 strongSwan 用戶端。 您必須為掛載目標位址設定 IPsec 傳輸模式。
-
請確認已安裝驗證所需的外掛程式 (
libcharon-extra-plugins),並更新組態檔案,註明實例身分證書的位置。 -
透過啟動 strongSwan 用戶端建立安全連線。
-
掛載您的檔案共用。