傳輸中資料的加密
您可以掛載檔案系統,以便使用業界標準 AES-256 加密的傳輸層安全性 1.2 (TLS),加密傳輸中的所有 NFS 流量。TLS 是一組業界標準的密碼編譯通訊協定,用於為透過網路交換的資訊進行加密。AES-256 是 256 位元加密密碼,用於 TLS 中的資料傳輸。建議您在存取檔案系統的每個用戶端上,都設定傳輸中的加密。
您可以使用 IAM 政策,針對 NFS 用戶端存取 Amazon EFS 強制執行傳輸中的加密。當用戶端連接至檔案系統時,Amazon EFS 會評估檔案系統的 IAM 資源政策 (稱為檔案系統政策) 以及任何以身分區分的 IAM 政策,來決定要授予的適當之檔案系統存取許可。您可以在檔案系統資源政策中,使用 aws:SecureTransport
條件金鑰,強制 NFS 用戶端在連接至 EFS 檔案系統時,要使用 TLS。
注意
您必須使用 EFS 掛載協助程式,掛載您的 Amazon EFS 檔案系統,才能使用 IAM 授權來控制 NFS 用戶端的存取權。如需詳細資訊,請參閲《Amazon EFS 使用者指南》中的使用 IAM 授權進行掛載。
下列 EFS 檔案系統政策範例,會強制執行傳輸中進行加密,並具有下列特性:
effect
為allow
。所有 IAM 實體的主體都設定為
*
。動作設定為
ClientMount
、ClientWrite
與ClientRootAccess
。授予許可的條件設定為
SecureTransport
。只有對使用 TLS 連接至檔案系統的 NFS 用戶端,才授予存取權。{ “Version”: “2012-10-17”, “Id”: “ExamplePolicy01”, “Statement”: [ { “Sid”: “VisualEditior0”, “Effect”: “Allow”, “Principal”: { “AWS”: “*”, }, “Action”: [ “elasticfilesystem:ClientRootAccess”, “elasticfilesystem:ClientMount”, “elasticfilesystem:ClientWrite” ], “Condition”: { “Bool”: { “aws:SecureTransport”: “true” } } } ] }
您可以使用 Amazon EFS 主控台或 AWS CLI,建立檔案系統政策。
使用 EFS 主控台建立檔案系統政策:
開啟 Amazon EFS 主控台
。 選擇 File Systems (檔案系統)。
在 File systems (檔案系統) 頁面上,選擇您要對其編輯或建立檔案系統政策的檔案系統。該檔案系統的詳細資訊頁面會隨即顯示。
選擇 File system policy (檔案系統政策),然後選擇 Edit (編輯)。 File system policy (檔案系統政策) 頁面會隨即顯示。
建立檔案系統政策
在政策選項中,建議您選擇下列可用的預先設定之政策選項:
根據預設防止根存取
根據預設強制執行唯讀存取
對所有用戶端強制執行傳輸中加密
若您選擇預先設定的政策,則政策 JSON 物件會隨即顯示在 Policy editor (政策編輯器) 面板中。
使用 Grant additional permissions (授予其他許可),可將檔案系統許可授予給其他 IAM 主體 (包括其他 AWS 帳戶)。選擇 Add (新增),接著輸入要為其授予許可之實體的主體 ARN,然後選擇要授予的 Permissions (許可)。
根據您的需求,使用 Policy editor (政策編輯器) 自訂預先設定的政策,或是依需求建立您自己的政策。當您使用編輯器時,預先設定的政策選項會變為無法使用。若要復原政策變更,請選擇 Clear (清除)。
當您清除編輯器時,預先設定的政策會再次變為可用。
完成政策的編輯或建立後,請選擇 Save (儲存)。
檔案系統的詳細資訊頁面會隨即顯示,並會顯示 File system policy (檔案系統政策) 中的政策。
您也可以使用 AWS CloudFormation 或 AWS 開發套件,以程式設計方式建立檔案系統政策,或是直接使用 Amazon EFS API 建立檔案系統政策。如需建立檔案系統政策的詳細資訊,請參閲《Amazon EFS 使用者指南》中的建立檔案系統政策。
設定傳輸中資料的加密
若要設定傳輸中資料的加密,建議您在每個用戶端上下載 EFS 掛載協助程式。EFS 掛載協助程式是 AWS 提供的開放原始碼公用程式,可用於簡化 EFS 的使用,包括設定傳輸中資料的加密。根據預設,掛載協助程式會使用 EFS 建議的掛載選項。
下列 Linux 發行版本支援 EFS 掛載協助程式:
-
Amazon Linux 2017.09+
-
Amazon Linux 2+
-
Debian 9+
-
Fedora 28+
-
Red Hat Enterprise Linux / CentOS 7+
-
Ubuntu 16.04+
設定傳輸中資料的加密:
安裝 EFS 掛載協助程式:
-
針對 Amazon Linux,請使用此命令:
sudo yum install -y amazon-efs-utils
-
針對其他 Linux 發行版本,請從 GitHub 下載並安裝。
amazon-efs-utils 套件會自動安裝下列相依內容:NFS 用戶端 (nfs-utils)、網路轉送 (stunnel)、OpenSSL 與 Python。
-
-
掛載檔案系統:
sudo mount -t efs -o tls
file-system-id
efs-mount-point
-
mount -t efs
會叫用 EFS 掛載協助程式。 -
使用 EFS 掛載協助程式進行掛載時,不支持使用檔案系統的 DNS 名稱或使用掛載目標的 IP 地址,請改用檔案系統 ID。
-
根據預設,EFS 掛載協助程式會使用 AWS 建議的掛載選項。不建議覆寫這些預設掛載選項,但在出現情況時,我們提供執行此動作的彈性。建議您徹底測試所有覆寫的掛載選項,了解這些變更對於檔案系統存取與效能的影響。
-
下表顯示 EFS 掛載協助程式所使用的預設掛載選項。
選項 描述 nfsvers=4.1 NFS 通訊協定版本 rsize=1048576 NFS 用戶端針對每個網路 READ 請求,可接收的資料位元組上限) wsize=1048576 NFS 用戶端針對每個網路 WRITE 請求,可傳送的資料位元組上限 hard NFS 用戶端在 NFS 請求逾時後的復原行為,以便讓 NFS 請求在伺服器回覆之前無限期重試。 timeo=600 NFS 用戶端重試 NFS 請求之前,等待回應的逾時值 (單位為十秒) retrans=2 NFS 用戶端在嘗試進一步的復原動作之前,重試請求的次數 noresvport 告訴 NFS 用戶端在重新建立網路連線時,使用新的 TCP 來源連接埠
-
將下列一行新增至
/etc/fstab
,任一系統重新啟動之後,就會自動重新掛載您的檔案系統。file-system-id
efs-mount-point
efs _netdev, tls, iam 0 0
-
使用傳輸中資料的加密
若您的組織受到需要加密傳輸中資料之公司或法規政策的限制,建議您在存取檔案系統的每個用戶端上,使用傳輸中資料的加密。加密與解密設定於連接層級中,能增添另一層的安全性。
使用 EFS 掛載協助程式來掛載檔案系統,會設定及維持用戶端與 Amazon EFS 之間的 TLS 1.2 通道,並會透過此加密通道來路由所有 NFS 流量。用於建立加密 TLS 連接的憑證,由 Amazon Certificate Authority (CA) 所簽署,並受到大多數現代 Linux 發行版本的信任。EFS 掛載協助程式也繁衍出一個看門狗程序,以監視每個檔案系統的所有安全通道,並確保其正在執行。
使用 EFS 掛載協助程式建立與 Amazon EFS 的加密連線之後,不需要其他使用者輸入或組態。使用者連接與應用程序在存取檔案系統時,並不會感覺到正在進行加密。
成功掛載並使用 EFS 掛載協助程式建立 EFS 檔案系統的加密連線後,掛載命令的輸出會顯示掛載的檔案系統,並會使用 localhost (127.0.0.1) 作為網路轉送來建立加密通道。請參閲下列輸出範例。
127.0.0.1:/ on
efs-mount-point
type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=20059,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)
若要將 efs-mount-point
對應至 EFS 檔案系統,請在 /var/log/amazon/efs
中查詢 mount.log 檔案,並找到上次成功的掛載作業。使用下列簡單的 grep 命令即可完成。
grep -E "Successfully mounted.*
efs-mount-point
" /var/log/amazon/efs/mount.log | tail -1
此 grep 命令的輸出,將會傳回掛載的 EFS 檔案系統之 DNS 名稱。請參閲以下輸出範例。
2018-03-15 07:03:42,363 - INFO - Successfully mounted
file-system-id
.efs.region
.amazonaws.com atefs-mount-point