加密传输中数据 - Amazon Elastic File System
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

加密传输中数据

当您使用 Amazon 挂载帮助程序EFS挂载EFS文件系统时,启用传输层安全 (TLS),即可对您的 Amazon 文件系统传输中的数据启用加密。有关更多信息,请参阅 使用挂载助手EFS挂载EFS文件系统

将传输中的数据加密声明为您的 Amazon EFS 文件系统的挂载选项时,挂载助手会初始化客户端 stunnel 进程。stunnel 是一种开源多用途网络中继。客户端 stunnel 进程在本地端口上侦听入站流量,挂载帮助程序将网络文件系统 (NFS) 客户端流量重定向到该本地端口。挂载助手使用 1.2 TLS 版与您的文件系统进行通信。

传输中加密的工作方式

要对传输中的数据启用加密,请EFS使用连接到 Amazon TLS。我们建议使用EFS挂载助手来装载您的文件系统,因为与使用挂载相比,它简化了装载过程NFSmount。EFS挂载助手使用 for stunnel 管理进程TLS。如果未使用挂载帮助程序,您仍然可以启用传输中的数据加密。以下是完成该操作所需的简要步骤:

在不使用EFS挂载帮助程序的情况下对传输中的数据启用加密
  1. 下载并安装 stunnel,并记下该应用程序侦听的端口。有关执行此操作的说明,请参阅升级 stunnel

  2. 运行stunnel以使用TLS端口 2049 连接到您EFS的 Amazon 文件系统。

  3. 使用NFS客户端 mountlocalhost:port,你在第一步中记下的端口在哪里port

由于传输中的数据加密是根据每个连接配置的,因此,每个配置的挂载在实例上运行专用的 stunnel 进程。默认情况下,EFS挂载助手使用的stunnel进程在 20049 到 21049 之间的本地端口上侦听,并通过端口 2049 连接到 Ama EFS zon。

注意

默认情况下,将 Amazon EFS 挂载帮助程序与一起使用时TLS,挂载帮助程序会强制执行证书主机名检查。Amazon EFS 挂载帮助程序使用该stunnel程序来实现其TLS功能。某些版本的 Linux 不包含默认支持这些TLS功能的 stunnel 版本。使用其中一个 Linux 版本时,使用挂载 Amazon EFS 文件系统TLS会失败。

安装 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 m EFS ount helper 进行装载时,您正在重新配置NFS客户端,使其挂载到本地端口。EFSmount Helper 启动一个正在监听此本地端口的客户端stunnel进程,并stunnel使用打开与EFS文件系统的加密连接TLS。EFSmount helper 负责设置和维护此加密连接和相关配置。

要确定哪个 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 进程将重新启动该进程。