AWS远程访问:混合办公团队指南
Amazon Web Services(AWS)客户能够为其云资源启用安全远程访问,以速度和敏捷性支持业务运营。随着组织采用灵活的工作环境,员工可以使用不同设备从各种位置安全连接到AWS资源。AWS提供全面的安全解决方案,帮助组织保持对企业资源的强保护,管理适当的访问控制,并满足合规要求,同时实现高效的远程工作环境。
由于在AWS云中运行着不同类型的工作负载——从Amazon Elastic Compute Cloud(Amazon EC2)实例到Web应用程序——因此存在多个相应的远程访问用例来使用或操作这些工作负载。例如,访问EC2实例及其操作系统以执行故障排除、日志分析和数据检索等操作。其他用例需要访问部署在AWS上的Web应用程序,如Jenkins、Salesforce或Kubernetes UI。
为了支持这些用例,AWS提供多种服务和功能,帮助您使用不同方法处理访问模式。实施远程访问解决方案时,您可能面临的关键挑战之一是理解不同方法和解决方案的权衡。本文旨在帮助您决定哪种远程访问方法最适合您的用例。
用例
在本文中,我们讨论以下用例:
- 用户访问部署在虚拟私有云(VPC)中的内部Web应用程序。
- 内部操作员访问部署在VPC中的EC2和Amazon Relational Database Service(Amazon RDS)实例。
- 分析师访问驻留在Amazon Simple Storage Service(Amazon S3)上的敏感数据。
- 用户访问SAML 2.0和OAuth 2.0应用程序。
远程访问相关的挑战
- 成本:远程访问解决方案的成本是企业的一个关键因素。
- 暴露面增加:保护具有多个EC2实例、S3存储桶和数据库的VPC与保护用于远程访问基础设施的身份、设备和通信通道是不同的任务。
- 风险增加:易受社会工程威胁。访问工作负载的人员是任何安全程序中最薄弱的环节,给数据和基础设施带来原本不存在的风险。
- 用户体验(UX):用户体验是远程访问的关键因素。缺乏良好设计的用户体验可能通过使日常操作困难或难以快速响应影响大规模用户的事件而引入风险。
减轻与远程访问相关风险的一种解决方案是在某些级别不提供远程访问,您有时可能会选择这种方法。在这些情况下,只能从受信任的位置(如公司办公室)和受管设备(如公司发放的笔记本电脑)访问必须安全的工作负载。在本文的其余部分,我们将讨论在需要从各种位置和设备提供远程访问时可用的方法和解决方案。
不同方法
在深入探讨服务和功能之前,让我们探索为用户提供远程访问的不同方法(如图1所示)。它们之间的主要区别在于信任边界的位置。
图1:不同方法及相应解决方案
- 基于网络的方法:用户通过VPC获得对网络的访问权限,并被授予对实际目标资源、Web应用程序或EC2实例的广泛访问权限。在这种情况下,信任边界是VPC。
- 基于主机的方法:用户可以访问运行应用程序的主机。这通常用于操作员访问。信任边界是主机。
- 基于应用的方法:用户使用其企业凭据访问应用程序。这通常是软件即服务(SaaS)应用程序的情况。信任边界是应用程序。
- 终端用户计算方法:终端用户计算(EUC)是技术、策略和流程的组合,为用户提供对完成工作所需的应用程序、桌面和数据的安全远程访问。桌面在云中集中操作,并使用流式像素与用户设备交互。这种方法将信任边界从用户设备转移到驻留在云中的桌面和数据。
这些方法并非互斥,偶尔会重叠或可以在零信任模型中组合。零信任的核心思想是,对资源的访问不应仅基于网络位置,而应使用多个因素(包括用户身份、设备和位置等)对每个请求进行身份验证和授权。
信任边界主要取决于目标资源的关键性、组织的风险承受能力和实施的复杂性。更宽的信任边界(如基于网络的方法)增加了暴露的表面积——因为整个网络暴露给受信任用户,访问网络即授予对其内部所有资源的访问权限——但实施最简单。更严格的信任边界(如零信任模型)显著减少了暴露的表面积,但需要实施多个因素来馈入授权上下文。
例如,组织可能为具有Web服务器和数据库的VPC的操作员提供来自受信任设备的基于网络的访问,但仅允许承包商或使用非公司设备(也称为自带设备(BYOD))的第三方用户基于终端用户计算的访问。
选择远程访问解决方案时,您需要考虑所需的信任边界、身份验证、授权、用户体验、访问可见性和成本,我们将在以下部分探讨这些内容。
基于网络的方法
当用户需要以直接方式访问驻留在特定网络中的多个资源,同时保持网络与公共互联网断开连接时,基于网络的方法很受欢迎。在提供网络级别访问时,管理安全配置(如授权、身份验证和审计)发生在资源(应用程序或机器)和客户端设备,这在大规模时引入挑战。
AWS Client VPN是一项完全托管服务,您可以使用它通过基于OpenVPN的客户端从几乎任何位置安全地将用户连接到VPC。用户可以使用组织的身份提供商(IdP)结合基于证书的身份验证进行身份验证。该服务支持授权规则,这些规则充当防火墙规则,根据Active Directory组或基于SAML的IdP中定义的组成员资格授予用户对特定CIDR块的访问权限。此外,您可以使用客户端连接处理程序基于设备、用户和连接属性运行自定义授权逻辑。
设置所需的基础设施后,用户可以连接到目标VPC并在其授权范围内访问网络级别的EC2实例或Web应用程序。用户体验就像使用安装在用户设备上的客户端软件连接并使用公司身份验证策略进行身份验证一样简单。客户端VPN通过连接日志提供对用户VPN连接的可见性,这些日志流式传输到Amazon CloudWatch日志组。连接日志记录提供每个用户初始VPN连接的可见性;获取连接期间发生的情况的可见性需要从目标资源、网络或用户设备收集数据。
用户经过身份验证和授权后,其设备获得对相关VPC的网络访问权限——以及可能对等或通过AWS Transit Gateway连接到该VPC的其他VPC。这可能提供对用户范围之外的资源和网络的网络访问。
当网络是资源周围的预期信任边界(例如,在子网或安全组级别)且组级访问控制足够时,应实施基于客户端VPN的解决方案。请参阅开始使用AWS Client VPN。
基于主机的方法
提供对主机的访问并不总是必要的。减轻与未经授权的主机访问相关风险的一种方法是不允许它,而是依赖完全自动化的操作。实际上,操作员和开发人员仍然需要访问主机以进行可见性、调整操作系统设置、应用补丁或手动重启服务。
对于访问EC2实例,您可以使用AWS Systems Manager Session Manager或EC2 Instance Connect Endpoint等功能。这两个功能都提供对主机的访问,而无需将其暴露给互联网,并且因为它们使用AWS Identity and Access Management(IAM),它们对向AWS CloudTrail发出的每个会话请求进行身份验证、授权和记录,并提供诸如IAM条件(例如,aws:SourceIp)等功能以应用条件访问,通常最小化对基于网络的方法的需求。
这两个功能主要在于操作方式不同。Session Manager需要一个代理,该代理默认安装在多个Amazon Machine Images(AMI)上。代理建立出站连接——通过互联网或VPC端点——到服务端点,因此您无需修改主机的入站安全组规则。它允许通过代理连接隧道的SSH连接,并提供会话内日志记录,提供用户会话内命令的可见性。
EC2 Instance Connect不需要安装代理;它允许使用短期SSH密钥进行安全的本机SSH连接。因此,它要求在主机的安全组上允许来自EC2 Instance Connect服务的端口22的入站连接。
大多数客户使用Session Manager,除非他们不想在虚拟机上安装代理或需要本机SSH体验。
终端用户计算方法
像Amazon WorkSpaces系列或Amazon AppStream 2.0这样的终端用户计算服务将桌面和应用程序作为加密像素流式传输给远程用户,同时将数据安全地保留在您的Amazon Virtual Private Cloud(Amazon VPC)和连接的私有网络中。对客户端设备的未经授权访问仅暴露给加密像素,这实质上将信任边界从访问资源的设备转移到在云中运行的虚拟桌面。
您可以在统一访问AWS终端用户计算服务中深入了解这些不同服务之间的差异。
这些服务在希望最小化用户设备作为信任边界的客户中特别受欢迎。这可以提高操作效率,尤其是在处理不受信任的设备或高度敏感的数据时,因为您显著缩小了需要保护的范围。这还可以减少昂贵硬件的使用(和成本)。
想法是用户首先使用公司Active Directory或SAML联合到公司身份提供商提供的凭据进行身份验证。用户经过身份验证和授权后,加密流式会话开始,客户端远程操作部署在Amazon VPC中的桌面或应用程序,其中弹性网络接口(ENI)部署到客户管理的VPC。
采用终端用户计算进行远程访问时,您可以选择最适合您用例的用户体验和成本结构(例如,对桌面的持久访问或对特定应用程序的按需访问)。您还可以根据所需性能选择不同的计算和存储选项。
AWS终端用户计算提供不同的机器类型以适应不同的用户体验要求,并根据使用的消费模型采用不同的定价模型。
有关更多信息,请参阅开始使用Amazon WorkSpaces和开始使用AppStream 2.0。
基于应用的方法
IAM Identity Center主要以为组织内的AWS账户简化用户访问而闻名。它还提供对支持的Web应用程序的单点登录(SSO)访问,使用户在使用其目录凭据登录后无缝访问这些应用程序。Identity Center支持两种应用程序类型:
- AWS托管应用程序,如Amazon Q Developer和Amazon QuickSight。
- 客户托管应用程序,如Salesforce、Microsoft365和其他常用应用程序。
如果您使用支持SAML 2.0和OAuth 2.0的客户托管应用程序,您可以通过SAML 2.0将您的IdP联合到IAM Identity Center,并使用Identity Center管理用户对这些应用程序的访问。
对于大规模操作AWS环境且拥有多个账户的组织,使用IAM Identity Center是提供对Web应用程序访问的推荐服务,并且不收取额外费用。
在零信任模型中组合多种方法
零信任模型结合多个因素,包括用户身份、设备、位置等,以评估和授予访问请求。您可以使用AWS Verified Access实施此模型以提供对部署在VPC中的工作负载的远程访问。使用Verified Access,您可以在没有客户端VPN的情况下提供对企业应用程序的安全访问,并支持到VPC的基于TCP的连接,无论是到Web应用程序还是EC2或RDS实例。身份验证可以使用现有的IdP或AWS IAM Identity Center以及设备管理服务完成,该服务可以提供附加信息以基于设备上下文改进授权决策。这些授权决策表示为基于您访问要求编写的Cedar策略。该服务为每个Web请求提供广泛的日志记录,因此您可以调查异常并查看有关已授予访问的信息。有关更多信息,请参阅开始使用Amazon Verified Access。
理解权衡
为您的员工选择正确的解决方案,从用例反向工作。首先识别和分类资产清单,并映射访问它的用户及其访问模式。
根据分类考虑的事项:
- 可见性:确定对远程访问活动的可见性级别以及您需要检测安全事件或遵守法规和合规要求的信息类型。
- 身份验证和授权:确定您现有的IAM机制是否足够。您可能需要识别临时访问管理系统或包括来自用户设备的信息以解决员工受损的风险。
- 网络访问:了解您的用户以及他们需要什么类型的网络访问(如果有)。在考虑网络访问时,包括过度宽松访问的潜在风险。
- 成本:要确定成本,您需要知道有多少用户和资源将由远程访问支持。此外,您期望有多少连接以及多长时间。使用该信息帮助确定解决方案的总拥有成本。
- 端点安全:对于每个资源,了解从用户设备提供访问的相关风险。了解您拥有(或可以实施)的机制以检测威胁和未经授权的访问,或为授予资源访问权限的授权决策提供附加上下文。
- 用户体验:比较流式用户体验与本地安装的用户体验的成本,看看任何额外成本是否通过流式用户体验的改进安全性得到平衡。
以下提供了不同解决方案的概述以及可以帮助您做出明智决策的因素。
| 解决方案 | 用例 | 信任边界 | 提供访问权限 | 协议 | 用户体验 | 身份验证 | 授权 | 可见性 | 成本 |
|---|---|---|---|---|---|---|---|---|---|
| Client VPN | 用户访问内部应用程序 操作员访问VPC中的IP资源 |
网络 | VPC、子网、安全组 | IP | 基于客户端,本机 | 单点登录(基于SAML) Active Directory 相互(基于证书) |
每CIDR(授权规则) Lambda Authorizer用于自定义代码 |
连接日志记录(CloudWatch) 连接时间和端点关联 |
|
| AWS Session Manager | 操作员访问EC2或本地实例 | 主机 | EC2实例:Linux、Windows或MacOS(仅EC2) | SSH或RDP | 本机 | IAM | IAM | CloudTrail,或使用CloudWatch和Amazon S3的会话内日志记录 | 访问EC2实例无额外成本 |
| EC2 Instance Connect Endpoint | 操作员访问EC2实例 | 主机 | EC2实例:Linux或Windows | SSH或RDP | 本机 | IAM | IAM | CloudTrail | 无额外成本 |
| IAM Identity Center | 用户访问SAML 2.0和OAuth 2.0应用程序 | 应用程序 | Web应用程序 | HTTP(S) | 本机 | IAM Identity Center | IAM Identity Center | CloudTrail | 无额外成本 |
| Amazon Verified Access | 用户访问部署在VPC中的Web或基于TCP的应用程序 | Amazon Verified Access | Web应用程序 TCP资源 |
HTTP(S)或TCP | 本机 | IAM Identity Center或OIDC | 使用Cedar策略自定义 允许设备信号 |
每请求日志记录 | 每应用程序或带宽 |
| Amazon WorkSpaces | 用户访问VPC中的虚拟持久桌面 | 云桌面 | 持久虚拟桌面 | WSP或PCoIP | 基于客户端,或非本机 | 身份提供商 | 组成员资格 | CloudTrail | 每实例 |
| Amazon AppStream 2.0 | 用户访问VPC中的虚拟桌面 | 云桌面 | 非持久虚拟桌面和应用程序 | NICE DCV | 基于客户端或非本机 | 身份提供商 | 组成员资格 | CloudTrail | 每实例 |
结论
在本文中,您了解了为组织的员工提供远程访问的不同方法和解决方案。这包括基于成本、用户体验和风险等因素找到最适合您需求的远程访问解决方案的战术建议。通过理解这些权衡,您现在可以根据您的基础设施和威胁模型映射不同的用例,并构建满足您需求的远程访问策略。在试验和采用不同工具时,设计和部署服务需要仔细规划。例如,将服务部署到哪个账户或如何配置对服务的访问。使用诸如AWS安全参考架构(AWS SRA)和各个服务文档页面等资源来指导您的旅程。
如果您对本文有反馈,请在下面的评论部分提交评论。