加密傳輸中的資料 - Amazon Elastic File System

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

加密傳輸中的資料

Amazon EFS 支援使用 Transport Layer Security (TLS) 加密傳輸中的資料。當傳輸中的資料加密宣告為 EFS 檔案系統的掛載選項時,Amazon EFS 會在掛載檔案系統時與您的 EFS 檔案系統建立安全的 TLS 連線。所有 NFS 流量都會透過此加密連線路由。

傳輸中加密的運作方式

我們建議您使用 EFS 掛載協助程式來掛載檔案系統,因為與使用 NFS mount 掛載相比,該程式可以簡化掛載程序。EFS 掛載協助程式會使用 efs-proxy (適用於 efs-utils 2.0.0 版及更新版本) 或 stunnel (適用於 efs-utils 舊版) 來管理程序,以建立與 EFS 檔案系統的安全 TLS 連線。

如果您不是使用掛載協助程式,您仍然可以啟用對傳輸中的資料加密。以下是執行此操作的步驟。

若要啟用傳輸中資料的加密,而不使用掛載協助程式
  1. 下載並安裝 stunnel,並注意該應用程式所接聽的連接埠。如需詳細資訊,請參閱升級 stunnel

  2. 執行 stunnel 以使用 TLS 連線至連接埠 2049 上的 EFS 檔案系統。

  3. 使用 NFS 用戶端,掛載 localhost:port,其中 port 是您在第一個步驟所記下的連接埠。

由於對傳輸中的資料加密是根據每個連線所設定,每個設定的掛載擁有在執行個體上執行的專門 stunnel 程序。根據預設,掛載協助程式使用的 stunnel 程序會在 20049 和 20449 之間接聽本機連接埠,並連線至連接埠 2049 上的 Amazon EFS。

注意

根據預設,使用 EFS 掛載協助程式搭配 TLS 時,它會強制使用線上憑證狀態通訊協定 (OCSP) 和憑證主機名稱檢查。EFS 掛載協助程式會將 stunnel 程式用於其 TLS 功能。有些版本的 Linux 不包含預設支援這些 TLS 功能的 stunnel 版本。使用其中一個 Linux 版本時,使用 TLS 掛載 EFS 檔案系統失敗。

安裝 amazon-efs-utils 套件後,如需升級系統的 stunnel 版本,請參閱 升級 stunnel

對於加密的問題,請參閱 故障診斷加密

使用傳輸中的資料加密時,您的 NFS 用戶端設定會隨之變更。檢查您的主動掛載檔案系統時,您會看到一個掛載至 127.0.0.1 或 localhost 的檔案系統,如下列範例。

$ mount | column -t 127.0.0.1:/ on /home/ec2-user/efs type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=20127,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)

使用 TLS 和 EFS 掛載協助程式進行掛載時,您要重新設定 NFS 用戶端以掛載至本機連接埠。EFS 掛載協助程式會開始用戶端 stunnel 程序,其會在本機連接埠上進行監聽,stunnel 會使用 TLS 開啟對 EFS 檔案系統的加密連線。EFS 掛載協助程式負責設定和維護此加密連線和關聯的組態。

若要判斷 Amazon EFS 檔案系統 ID 所對應的是哪個本機掛載點,您可以使用以下命令。請記得將 efs-mount-point 取代為您已掛載檔案系統的本機路徑。

grep -E "Successfully mounted.*efs-mount-point" /var/log/amazon/efs/mount.log | tail -1

當您使用 EFS 掛載協助程式來加密傳輸中的資料時,它也會建立名為 的程序amazon-efs-mount-watchdog。此程序可確保每個掛載的 stunnel 程序正在執行,並在卸載 EFS 檔案系統時停止 stunnel。如果因為某些原因而導致 stunnel 程序意外終止,監視程式程序會將其重新啟動。