為區域檔案共用建立傳輸中加密

使用傳輸層安全性( TLS ) 1.2 搭配 stunnel,為區域性檔案共用建立加密的掛載連線。

您可以透過 stunnel 建立 TLS 1.2 + 連線,在運算主機與區域性檔案共用之間建立加密的掛載連線。 當您使用具有基於安全群組存取控制模式的檔案共用,以及掛載具有虛擬網路介面 (VNI) 的目標時,您可以啟用安全端對端加密。 附加此類掛載目標並掛載共用時,VNI 會檢查安全群組原則,以確保只有授權的實體才能與共用通訊。

Stunnel 是一款開源、多功能且跨平台的應用程式,提供通用的 TLS / SSL 隧道服務。 它仰賴 OpenSSL 函式庫來實作底層的 TLS 協定。 Stunnel 採用公鑰加密技術,並搭配 X.509 的數位憑證來確保連線安全;客戶端可選擇透過憑證進行驗證。

若透過 Mount Helper 工具建立 stunnel 連線,其加密演算法為 128 位元高盧/計數器模式的進階加密標準( AES-128-GCM )( TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 )。 有關可接受的加密套件的更多資訊,請參閱 IBM Cloud Framework for Financial Services 中的「傳輸中資料的加密」 主題。

安裝和維護 stunnel 客戶端應用程式是您的責任。 如需相關資訊,請參閱下列資源:

使用 Stunnel 進行傳輸中加密的先決條件

在使用此功能之前,必須滿足以下要求:

  • 檔案共用必須基於 rfs 設定檔,並配置為 安全群組存取模式

  • 掛載目標必須使用 虛擬網路介面 建立。 計算主機和掛載目標必須是同一個 安全群組的 成員。 如需詳細資訊,請參閱 建立檔案共用和掛載目標

  • 必須啟用傳輸中的資料加密。 在主控台中,您可以在建立掛載目標時開啟傳輸中加密。 API transit_encryption 屬性接受 stunnel 值來啟用該功能。

  • 伺服器上必須安裝 Stunnel。 IBM Cloud® 檔案服務提供 Helper 山公用事業,用以自動化運算主機上所需的各項任務,例如下載、設定及啟動 stunnel 應用程式。

使用 stunnel 掛載檔案共用

  1. 使用下列指令語法掛載共用。 將掛載路徑更換為特定於您檔案共用的資訊。

    mount -t ibmshare -o stunnel 10.0.0.1:/MOUNT_PATH /mnt/MOUNT_PATH
    

    請參閱下列範例。

    ++ mount -v -o stunnel -t ibmshare 10.240.64.24:/EAD9B8582BC84FDAB57B7A315BCA1210 /mnt/EAD9B8582BC84FDAB57B7A315BCA1210
    Debug - Locked ok:/var/lock/ibm_mount_helper.lck
    Debug - File unlocked:/var/lock/ibm_mount_helper.lck
    Debug - Locked ok:/var/lock/ibm_mount_helper.lck
    Debug - RunCmd: ListNfsMounts (mount -t nfs,nfs4)
    Debug - Existing nfs/nfs4 mounts found:0
    Debug - RunCmd: ListNfsMounts (mount -t nfs,nfs4)
    Debug - Existing nfs/nfs4 mounts found:0
    Debug - Local port 10001 will be used for setting up next stunnel
    Debug - Starting stunnel for mounting /EAD9B8582BC84FDAB57B7A315BCA1210
    Debug - Stunnel conf file created /etc/stunnel/ibmshare_EAD9B8582BC84FDAB57B7A315BCA1210.conf
    Debug - Attempting to start stunnel using /etc/stunnel/ibmshare_EAD9B8582BC84FDAB57B7A315BCA1210.conf
    Debug - Attempting mount of /EAD9B8582BC84FDAB57B7A315BCA1210 on the local host
    Debug - RunCmd: Mount using stunnel  (mount -t nfs4 -o sec=sys,nfsvers=4.1,rw,port=10001 127.0.0.1:/EAD9B8582BC84FDAB57B7A315BCA1210 /mnt/EAD9B8582BC84FDAB57B7A315BCA1210 -v)
    Debug - Stunnel mount was successful
    Debug - File unlocked:/var/lock/ibm_mount_helper.lck
    
  2. 透過檢查系統日誌來驗證連線,確認 stunnel 正在執行,且連線已成功建立。 您也可以執行下列指令來檢視附加的檔案系統:

    df -h
    

實作 NFS 的 no_root_squash(選用)

預設情況下,NFS 會將任何以 root 權限建立的檔案,其所有權降級至 nobody 使用者。 此安全功能可防止共用權限,除非提出請求。

透過設定 no_root_squash,root 用戶端可以保留遠端 NFS 檔案共用的 root 權限。

對於 NFSv4.1,請將 nfsv4 網域設定為:slnfsv4.com,並啟動 rpcidmapd 或您作業系統所使用的類似服務。

  1. 請在主機端,於 /etc/idmapd.conf 中設定網域設定。

    $ vi /etc/idmapd.conf
    [General]
    #Verbosity = 0
    #The following should be set to the local NFSv4 domain name
    #The default is the host's DNS domain name.
    Domain = slnfsv4.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  2. 執行 nfsidmap -c