管理 AWS 数据中心的人员可以访问我的 ec2 实例并监控我的应用程序中使用的数据吗?

信息安全 亚马逊 数据中心
2021-08-13 22:17:46

我正在构建一个 Express (NodeJS) 应用程序并计划使用 AWS ec2 进行托管。我想尽可能地保护我的用户数据,并且正在考虑甚至异常情况。于是问题就来了:

ec2 实例在一些亚马逊数据中心进行物理管理,显然有管理这些设施的人员可以物理访问这些机器。他们理论上是否可以访问驻留在这些服务器上的应用程序并查看/监视/窃取当前在应用程序中使用的敏感数据?

这应该是一个问题吗?如果是这样,作为开发人员,我们可以做些什么来缓解这种情况?

1个回答

是的,他们理论上可以访问或监控数据。

不,这不应该是一个问题。他们提供稳定、安全服务的动机(组织和个人)肯定大于他们窃取您的应用程序数据的动机,在他们管理基础设施的所有数百万虚拟机和应用程序中。

作为开发人员,除了不使用 Amazon 托管之外,您几乎无法采取任何措施来缓解这种情况。或任何其他云或托管服务提供商。或搭配设施,就此而言。

最终,任何不受您控制的基础设施都是您无法控制的。不过,这不应该让你夜不能寐。这就像花时间担心被外星人绑架一样。虽然风险在理论上是可能的,但您可以通过专注于您的应用程序实际上有可能成为牺牲品的任何更平凡和现实的风险(例如OWASP 前 10 名中的任何一个)来获得更多的时间价值。

可以(并且应该)采取的步骤:

那么,尽管存在这些现实,作为应用程序开发人员,您是否可以采取一些措施来保护您的数据?当然,您可以做几件事。

最基本的(可能也是显而易见的)是不要收集或保留任何您并非绝对需要的数据,并尽快清除您保留的数据。更少的数据意味着更少的攻击损失。

其次,保护您的应用程序使用的数据。首先在运输过程中保护它。使用 HTTPS/TLS 在您的应用程序和用户之间进行通信。这是一种有效且廉价的方法,可以保护它免受任何有权访问数据中心网络以嗅探线路上的流量的人的影响。休息时也要保护它。如果您有用户密码,请使用 bcrypt 等慢速哈希算法保护它们。这样,即使数据被访问,也不容易被滥用。对于其他敏感数据,您可以查看加密,如今主要的云提供商(包括 Amazon AWS 和 Microsoft Azure)提供基于云的 HSM 来保护加密密钥。虽然仍然不是万无一失,但它至少可以保证访问您的虚拟机或磁盘映像的人不会也捕获您的加密密钥。

总而言之,即使您不控制基础架构,您也始终可以采取一些步骤来使您的应用程序和数据更加安全。它仍然归结为了解您的应用程序和业务需求、其运行方式和位置的实际情况,然后针对其目的和环境对其进行正确的威胁建模并适当地进行缓解。从那里开始,遵循标准的安全设计、开发和操作实践将有助于确保您的应用程序和数据尽可能安全。