本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对传输中的数据加密
您可以使用 Amazon EFS 文件系统加密传输中的数据,无需修改应用程序。
使用 TLS 对传输中的数据加密
在使用 Amazon EFS 挂载助手挂载文件系统时,启用传输层安全 (TLS),即可为 Amazon EFS 文件系统启用传输中数据的加密。有关更多信息,请参阅使用 EFS 挂载助手挂载 EFS 文件系统:
将传输中数据的加密声明为 Amazon EFS 文件系统的装载选项时,装载助手会初始化客户端 stunnel 进程。stunnel 是一种开源多用途网络中继。客户端 stunnel 进程侦听本地端口的入站流量,挂载帮助程序将网络文件系统 (NFS) 客户端流量重定向到该本地端口。挂载帮助程序使用 TLS 1.2 版与您的文件系统进行通信。
使用启用传输中数据加密的挂载助手挂载您的 Amazon EFS 文件系统
-
通过安全 Shell (SSH) 访问您的实例的终端,然后使用相应的用户名登录。有关执行该操作的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的使用 SSSSH 连接到 Linux 实例。
-
运行以下命令以挂载文件系统。
sudo mount -t efs -o tls
fs-12345678
://mnt/efs
传输中加密的工作原理
要启用传输中数据的加密,您可以使用 TLS 连接到 Amazon EFS。我们建议使用 EFS 挂载助手来挂载您的文件系统,因为与使用 NFS mount
挂载相比,它简化了挂载过程。EFS 挂载助手使用 TL stunnel
S 管理进程。如果未使用挂载帮助程序,您仍然可以启用传输中的数据加密。以下是完成该操作所需的简要步骤:
在不使用 EFS 挂载助手的情况下启用传输中数据的加密
-
下载并安装
stunnel
,记下应用程序正在监听的端口。有关执行该操作的说明,请参阅升级 stunnel。 -
运行使用 TLS 在端口 2049 上
stunnel
连接到您的亚马逊 EFS 文件系统。 -
使用 NFS 客户端挂载
localhost:
,其中port
是在第一步中记下的端口。port
由于传输中数据的加密是在每个连接的基础上配置的,因此每个配置的挂载都会在实例上运行一个专用stunnel
进程。默认情况下,EFS 挂载助手使用的stunnel
进程在从 20049 到 21049 之间的本地端口上监听,并通过端口 2049 连接到 Amazon EFS。
注意
默认情况下,使用带有 TLS 的 Amazon EFS 挂载助手时,装载帮助程序会强制执行证书主机名检查。亚马逊 EFS 挂载助手使用该stunnel
程序来实现其 TLS 功能。某些版本的 Linux 不包含默认支持这些 TLS 功能的 stunnel 版本。使用这些 Linux 版本之一时,使用 TLS 装载 Amazon 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 和 Amazon 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
在将挂载帮助程序用于传输中的数据加密时,它还会创建一个名为 amazon-efs-mount-watchdog
的进程。此过程可确保每个挂载的 stunnel 进程都在运行,并在 Amazon EFS 文件系统卸载时停止 stunnel。如果 stunnel 进程由于某种原因意外终止,watchdog 进程将重新启动该进程。