Logo
Section 1 / 3

多租户环境中的安全

了解如何保护云中的数据——a) 传输中的数据,b) 静止状态下的数据,c) 保护您的凭据,d) 保障应用程序安全。

导入

多租户环境中的安全

了解如何保护云中的数据——a) 传输中的数据,b) 静止状态下的数据,c) 保护您的凭据,d) 保障应用程序安全。

云环境中的安全最佳实践:多租户环境

作为云架构师,我们常常对安全性表示关注。安全应贯穿于云应用架构的每一层。物理安全通常由服务提供商负责处理,这是使用云服务的一项额外优势。网络和应用层的安全则由您负责,应根据业务需求实施相应的最佳实践。建议充分利用文中提到的工具和功能来实现基础安全防护,然后根据实际情况采用标准方法进一步实施更高级的安全措施。

保护传输中的数据

如果需要在浏览器与Web服务器之间交换敏感或机密信息,请在服务器实例上配置SSL。您需要从VeriSign、Entrust等外部认证机构获取证书。证书中包含的公钥用于向浏览器验证您的服务器身份,并作为创建双向加密数据共享会话密钥的基础。

通过几条命令行操作创建虚拟私有云(VPC),即可在AWS云中使用逻辑隔离的资源,并通过行业标准的加密IPSec VPN连接将这些资源直接接入您的本地数据中心。您也可以在Amazon EC2实例上搭建OpenVPN服务器,并在所有用户电脑上安装OpenVPN客户端。

保护静态数据

如果您担心将敏感或机密数据存储在云端,应在上传前对数据(单个文件)进行加密。例如,在将数据存储为Amazon S3对象之前,使用任何开源或商业的PGP类工具进行加密,并在下载后解密。

这在构建符合HIPAA要求的应用程序以存储受保护健康信息(PHI)时尤为适用。在Amazon EC2上,文件加密取决于操作系统。运行Windows的EC2实例可使用内置的加密文件系统(EFS)功能。

该功能可自动处理文件和文件夹的加解密,对用户透明。但需要注意的是,尽管名为“加密文件系统”,EFS并非加密整个文件系统,而是逐个加密文件。若需完整卷加密,建议使用开源工具TrueCrypt,它与NTFS格式的EBS卷集成良好。运行Linux的EC2实例可通过多种方式挂载加密文件系统的EBS卷(如EncFS、Loop-AES、dm-crypt、TrueCrypt)。同样,运行OpenSolaris的EC2实例可利用ZFS加密支持。

无论选择哪种方案,对Amazon EC2中的文件和卷进行加密,都能确保只有服务器上的用户和进程能以明文查看数据,而服务器外部的任何人或任何系统看到的都只是加密数据。无论选用何种操作系统或技术,静态数据加密的核心挑战在于密钥管理:一旦丢失密钥,数据将永久无法恢复;若密钥泄露,数据可能面临风险。

因此,务必研究所选产品密钥管理能力,并建立最小化密钥丢失风险的操作流程。除了防范窃听,还应考虑灾难防护。定期对Amazon EBS卷进行快照,以确保其高持久性和可用性。快照具有增量特性,存储在Amazon S3(异地独立位置),可通过几次点击或命令行快速恢复。

保护您的AWS凭证

AWS提供两种类型的凭证:AWS访问密钥和X.509证书。您的AWS访问密钥包含两部分:访问密钥ID和秘密访问密钥。使用REST或查询API时,必须使用秘密访问密钥计算签名并包含在请求中以完成身份验证。为防止传输过程被篡改,所有请求都应通过HTTPS发送。

如果您的Amazon机器镜像(AMI)运行需要与其他AWS服务通信的进程,一个常见错误是将AWS凭证嵌入AMI中。

正确的做法是将凭证作为启动参数传入,并在传输前加密。一旦秘密访问密钥泄露,应立即更换为新的访问密钥ID。作为良好实践,建议在应用架构中集成密钥轮换机制,以便定期或在特定情况下(如离职员工存在恶意行为风险时)执行轮换,确保泄露的密钥无法长期有效。

此外,也可使用X.509证书对某些AWS服务进行身份验证。证书文件包含以Base64编码的DER格式公钥,另一文件则包含对应的Base64编码的PKCS私钥。AWS支持多因素认证(MFA),作为在AWS管理控制台操作账户信息的额外保护手段。

使用IAM管理多个用户及其权限

AWS身份与访问管理(IAM)允许您在AWS账户内创建多个用户,并分别管理每个用户的权限。用户是AWS账户内的唯一身份,拥有独立的安全凭证,可用于访问AWS服务。

IAM消除了共享密码或访问密钥的需求,便于按需启用或禁用用户的访问权限。通过IAM,您可以实施诸如最小权限原则等安全最佳实践:为每个用户分配唯一凭证,并仅授予其完成工作所需的AWS服务和资源访问权限。

IAM默认安全:新用户在未显式授权前无任何AWS访问权限。IAM已原生集成到大多数AWS服务中,无需更改服务API即可使用。基于AWS服务API构建的应用程序和工具在使用IAM时仍可正常运行,只需开始使用为新用户生成的访问密钥即可。

在与AWS服务交互时,应尽可能减少使用主账户凭证,转而充分利用IAM用户凭证来访问AWS服务和资源。

保护您的应用程序

每个Amazon EC2实例均受一个或多个安全组保护,安全组是一组命名规则,用于指定哪些入站(即进入)网络流量应被传递到实例。您可以定义TCP和UDP端口、ICMP类型与代码以及源地址。安全组为运行中的实例提供类似防火墙的基本保护。

例如,属于Web应用的实例可设置如下安全组规则:

22.png
22.png

另一种限制入站流量的方式是在实例上配置软件防火墙。Windows实例可使用内置防火墙,Linux实例可使用Netfilter和iptables。

随着时间推移,软件漏洞会被发现,需要补丁修复。为最大化应用安全性,应遵循以下基本准则:

  1. 定期从厂商官网下载补丁,并更新您的AMI
    使用新AMI重新部署实例,并测试应用以确保补丁不会导致异常。确保所有实例均部署最新AMI
  2. 投资开发测试脚本,定期运行安全检查并实现自动化
  3. 确保第三方软件配置为最安全的设置
  4. 除非绝对必要,否则不要以root或管理员身份运行进程

所有传统时期的通用安全实践——如采用良好的编码规范、隔离敏感数据——依然适用,且必须实施。

回顾而言,云环境为您抽象了物理安全的复杂性,同时通过各类工具和功能赋予您掌控权,使您能够有效保障应用安全。

云安全:共享责任模型

在深入探讨AWS如何保护其资源之前,有必要说明云环境下的安全与本地数据中心的安全略有不同。当您将计算机系统和数据迁移至云端时,安全责任便由您和云服务提供商共同承担。

在此模式下,AWS负责保护支撑云服务的底层基础设施,而您则对部署在云上或连接至云的所有内容负责。这种共享安全责任模型可在许多方面减轻您的运维负担,甚至在无需额外操作的情况下提升默认安全水平。

23.png
23.png

您所需执行的安全配置工作量,取决于所选服务类型及数据敏感程度。然而,无论使用何种AWS服务,都应配置一些关键安全功能,如独立用户账户与凭证、数据传输的SSL/TLS加密、用户活动日志记录等。

AWS的安全责任

亚马逊网络服务(AWS)负责保护支撑所有AWS云服务的全球基础设施。该基础设施包括运行AWS服务所需的硬件、软件、网络及设施。

保护这一基础设施是AWS的首要任务。虽然您无法亲自访问我们的数据中心或办公场所查看防护措施,但我们提供了来自第三方审计机构的多项报告,证实我们在多项计算机安全标准和法规方面合规。

此外,AWS还需负责其被视为托管服务的产品的安全配置。此类服务包括Amazon DynamoDB、Amazon RDS、Amazon Redshift、Amazon Elastic MapReduce、Amazon WorkSpaces等若干服务。

这些服务在提供云资源的可扩展性和灵活性的同时,也具备托管优势。对于这些服务,AWS将负责基础安全任务,如客户操作系统(OS)和数据库补丁更新、防火墙配置、灾难恢复等。

对于大多数托管服务,您只需配置资源的逻辑访问控制并保护账户凭证即可。少数服务可能还需要额外操作,如设置数据库用户账户,但总体而言,安全配置工作由服务本身完成。

客户的安全责任

借助AWS云,您可在几分钟内完成虚拟服务器、存储、数据库和桌面的部署,而无需数周时间。您还可使用基于云的分析和工作流工具按需处理数据,并将数据存储在自有数据中心或云端。您所使用的AWS服务类型,决定了您在安全责任方面需执行的配置工作量。

属于广为人知的基础设施即服务(IaaS)范畴的AWS产品,如Amazon EC2、Amazon VPC和Amazon S3,完全由您控制,您需自行完成所有必要的安全配置与管理工作。

例如,对于EC2实例,您需负责客户操作系统的管理(包括更新和安全补丁)、在实例上安装的应用程序或工具,以及每个实例上AWS提供的防火墙(称为安全组)的配置。

这些本质上与您在任何位置部署服务器时所需执行的安全任务相同。而Amazon RDS或Amazon Redshift等托管服务,则为您提供完成特定任务所需的一切资源,无需承担配置带来的复杂性。

使用托管服务时,您无需关心实例的启动与维护、客户操作系统或数据库的补丁更新,或数据库复制——这些均由AWS代为处理。但如同所有服务一样,您仍需保护AWS账户凭证,并通过Amazon IAM为每位用户创建独立账户,确保各用户拥有专属凭证,实现职责分离。

我们还建议为每个账户启用多因素认证(MFA),要求使用SSL/TLS与AWS资源通信,并通过AWS CloudTrail设置API及用户活动日志记录。

AWS全球基础设施安全

AWS运营着您用于部署各类基础计算资源(如计算与存储)的全球云基础设施。AWS全球基础设施涵盖支持资源部署与使用的设施、网络、硬件及操作系统软件(如主机OS、虚拟化软件等)。

AWS全球基础设施的设计与管理均遵循安全最佳实践及多种安全合规标准。作为AWS客户,您可以确信自己正在世界上最安全的计算基础设施之上构建Web架构。

AWS与Azure均设有合规项目,帮助客户理解云端已部署的强大控制机制,以保障安全与数据保护。

由于系统建立在基础设施之上,合规责任也需共享。

通过整合以治理为导向、审计友好的服务功能与相关合规或审计标准,AWS合规支持功能在传统体系基础上进一步强化,助力客户建立并运行符合AWS安全控制环境的体系。

为客户提供IT基础设施的设计与管理均遵循安全最佳实践及多种信息安全标准,包括:

  • SOC 1/SSAE 16/ISAE 3402(原SAS 70)
    • SOC 2
    • SOC 3
    • FISMA、DIACAP 和 FedRAMP
    • DOD CSM 1-5级
    • PCI DSS 1级
    • ISO 9001 / ISO 27001
    • ITAR
    • FIPS 140-2
    • MTCS 3级

在云端运行

云安全 - 设计原则