在这篇文章中,我们将探讨如何通过六个简单的建议来增强您的 AWS Transfer Family 服务器的安全性。这些措施旨在保护文件传输过程中的数据安全,确保您的服务器抵御潜在的网络威胁。
AWS Transfer Family 是一种安全的传输服务,允许您通过常用协议如 AS2、SFTP、FTPS 和 FTP直接将文件传输进出 亚马逊网络服务 (AWS) 存储服务。启动 Transfer Family 服务器时,您可以根据需求选择多种配置选项。在本文中,我将介绍六个安全配置选项,您可以根据需要进行激活,并提供每个选项的具体操作指南。
默认情况下,新创建的 Transfer Family 服务器使用我们最强大的安全策略,但由于兼容性原因,现有服务器在发布新策略时需要您手动更新安全策略。我们的最新安全策略包括基于 FIPS 的政策可以帮助降低已知漏洞的风险,例如 CVE202348795,该漏洞也称为“Terrapin 攻击”。2020 年,我们已经移除了对 ChaCha20Poly1305 加密方式和 CBC 加密模式下的 EncryptthenMACEtM加密模式的支持,因此使用我们最新安全策略的客户无需担心 Terrapin 攻击。Transfer Family 还将持续发布改进的安全策略,以保证您服务器的安全性。详见 编辑服务器详细信息 以了解如何更新 Transfer Family 服务器的安全策略。
如果您使用 亚马逊简单存储服务 (Amazon S3) 作为 Transfer Family 服务器的数据存储,S3 桶的会话策略将控制对该桶对象的访问。在 Amazon S3 中,它是对象存储而非文件系统,因此没有目录的概念,只有前缀。例如,您无法像对待文件系统那样为一个“目录”设置权限,而是需要在前缀上设置会话策略。

尽管没有文件系统,斜杠字符仍然至关重要。比如您有一个名为 DailyReports 的桶,并试图授权某些实体访问该桶中的对象。如果您的会话策略在 Resource 部分缺少斜杠,例如 arnawss3DailyReports,那么您应添加一个斜杠来使之为 arnawss3DailyReports/。如果没有斜杠/在星号之前,您的会话策略可能会允许访问您不希望授予的桶。例如,如果您还有名为 DailyReportsarchive 和 DailyReportstesting 的桶,那么具有权限 arnawss3DailyReports 的角色也将允许访问这些桶中的对象,这可能不是您想要的。只有在权限为 arnawss3DailyReports/ 的情况下,才不会授予访问 DailyReportsarchive 桶中的对象,因为斜杠/清楚地表明仅对象前缀为 DailyReports/ 的才能匹配,而 DailyReportsarchive 中的所有对象前缀都是 DailyReportsarchive/,不匹配您的模式。要检查这是否是问题,请参见 为 Amazon S3 桶创建会话策略 以查找您的 AWS 身份和访问管理 (IAM) 会话策略。
飞鱼加速器ios下载在创建具有比您打算授予用户更多访问权限的角色的逻辑目录映射时,使用会话策略来适当调整访问权限非常重要。这提供了额外的保护层,以防止意外更改逻辑目录映射,从而开放了您没有打算访问的文件。
有关如何为 S3 桶构建会话策略的详细信息,请参见 为 Amazon S3 桶创建会话策略,而 使用 IAM 管理策略创建精细控制的会话权限 则提供了额外的背景。Amazon S3 还提供了 IAM Access Analyzer 来协助此过程。
我们与许多客户进行了交流,他们配置了 网络负载均衡器 (NLB)来路由流量到他们的 Transfer Family 服务器。通常,他们这样做是因为在我们提供了从 VPC 内部和互联网访问服务器的方法之前创建了服务器,或者是为了在互联网上支持 FTP。这不仅增加了客户的成本,还可能导致其他问题,我们将在这一部分中描述。
如果您使用此配置,我们建议您转向 VPC 终端节点,并使用 弹性 IP。在您的 Transfer Family 服务器前放置 NLB 会导致您无法看到用户的源 IP,因为 Transfer Family 只会看到 NLB 的 IP 地址。这不仅削弱了您审核访问您服务器用户的能力,还可能影响性能。Transfer Family 使用源 IP 来将连接分配到我们的数据平面。如果使用 FTPS,这意味着 Transfer Family 服务器前放置 NLB 后,您将限制在 300 个同时连接,而非 10000 个。如果您有将 NLB 放在 Transfer Family 服务器前的用例,请通过 AWS 支持联系 Transfer Family 产品管理团队,或在 AWS rePost 上讨论问题,这样我们可以寻找帮助您充分利用我们服务的选项。
如果您使用 Transfer Family 的 自定义身份提供程序 功能,您将通过 亚马逊 API Gateway 连接您的身份提供者。作为最佳实践,Transfer Family 建议使用 AWS Web 应用防火墙 (WAF) 来保护您的 API Gateway。这将使您能够为 API Gateway 实例创建 访问控制列表 (ACLs),仅允许 AWS 和 ACL 中的任何人访问。有关保护 API Gateway 实例的更多信息,请参见 使用 AWS Web 应用防火墙和亚马逊 API Gateway 保护 AWS Transfer Family。
FTPS 的一个安全挑战是它使用两个独立端口来处理读/写请求。在实际场景中的类比是,您在汽车窗口支付食物费用,而其他人可以在第二个窗口插队领取您的订单。因此,随着时间的推移,FTPS 协议中已经增加了安全措施。在客户端服务器协议中,有服务器端和客户端配置。
TLS 会话恢复有助于保护客户端在 FTPS 控制端口和数据端口之间交接时的连接。服务器在控制端口上发送唯一标识符,客户端应在数据端口发送相同的会话标识符。这样一来,服务器可以确信在数据端口上与其通信的是在控制端口上发起会话的同一客户端。Transfer Family 端点提供三种会话恢复选项:
禁用 服务器忽略客户端是否发送会话 ID,也不检查其正确性,但这只是为了向后兼容,不推荐使用。启用 服务器会发送会话 ID 并会强制客户端使用,但不使用会话 ID 的客户端仍然可以连接。这仅建议作为过渡状态以验证客户端兼容性。强制 客户端必须支持 TLS 会话恢复,否则服务器不会向其传输数据。这是我们的默认推荐设置。使用控制台查看您的 TLS 会话恢复设置:
登录到包含您的 Transfer 服务器的 AWS 管理控制台,确保选择了正确的 AWS 区域。在控制台中找到您的 Transfer Family 服务器,并选择 主要服务器详细信息。选择 附加详细信息。在 TLS 会话恢复 下,您将看到服务器是否强制执行 TLS 会话恢复。如果某些用户没有访问支持 TLS 的现代 FTPS 客户端的权限,可以选择 编辑 以选择不同选项。Transfer Family 提供了许多好处,以帮助在威胁环境不断演变的情况下保护您的托管文件传输 (MFT) 解决方案。本文中提到的步骤可以帮助您充分利用 Transfer Family 来保护文件传输。随着对安全、合规架构的要求不断演进以及威胁变得更加复杂,Transfer Family 将继续提供优化的解决方案,并提供可操作的建议,指导您如何使用它们。欲了解更多信息,请参见 AWS Transfer Family 的安全性 并参加我们的 自学安全研讨会。
如果您对本文有任何反馈,请在下面的评论部分提交意见。如果您对本文有任何问题,请在 AWS Transfer Family rePost 开启新的主题,或者 联系 AWS 支持。
John JamailJohn 是 AWS Transfer Family 的工程负责人。在加入 AWS 之前,他在数据安全领域工作了八年,专注于安全事件与事件监控SIEM、治理、风险与合规GRC以及数据丢失预防DLP。
标签 安全博客