我的应用程序是一个利用亚马逊网络服务的 SAAS。目前,该应用程序即将结束开发,我的公司迎来了第一位客户。我的应用程序用户需要上传包含相当机密数据的 Word 文档,这些数据随后会被分析,结果会保存到数据库中以供日后查看。
现在,我并没有计划为数千名客户提供服务。我们想一次服务一个客户,然后做大做强。但是,我们收到的第一个客户是一家 CMM 5 级公司。他们给我们发了一份安全审查问卷,询问了我们关于物理安全、应用程序安全、数据安全和网络安全等所有问题。
我的应用程序可以运行整个公司的用户负载 - 这意味着我不需要多个 tomcat 应用程序服务器,也不需要在任何时间点在单个节点上运行数据库应用程序服务器来为该客户提供服务。因此,如果我确保以下几点 -
- 具有加密临时存储、EBS 存储的 EC2 实例。
- 仅该客户端的 IP 范围可访问的 EC2 实例。
- 每日将加密映像备份到 EBS 的 S3
- 除 443 端口外,所有用于 HTTPS 通信的端口均已关闭。
这听起来比
- 具有一个或两个节点的 VPC,具有专用的应用服务器,数据库位于不同的节点上。
- 配备 IDS(入侵检测系统)的 VPC,增强了访问安全性。
- 安全组的定义明确规定了谁可以访问什么。
- VPC 中的防火墙/DMZ 配置
- Web 服务器的 SSL
- 用于管理 VPC 的双因素身份验证。
我们是一家小公司,正试图与这家价值数十亿美元的大公司打交道。交易规模很小,但未来业务的潜力很大。我们在配置亚马逊 VPC 和强化其潜在威胁方面没有丰富的经验。此外,聘请具有专业知识的人员来创建完美的 VPC 环境需要花费大量的时间和金钱。此外,在这一点上,我可能听起来更像是 ASP 而不是 SAAS。(我想,这就是我们现在的目标,开始赚钱,让公司先生存下来)。
我有几个问题-
从 VPC 开始是否有意义?如果我预计在不久的将来负载不会增加,并且只需一台机器甚至两台机器就可以完成任务,那么 VPC 是不是有点小题大做?如果我为客户提供专用的 EC2 实例,并将访问权限过滤到他们的公司 IP 范围,只打开 https 端口,并且始终加密客户数据,那么这难道不是比创建 VPC 并在多个级别(网络、机器级别等)管理安全性简单得多的方法吗?
另外,如果我必须开始使用 VPC,我是否应该将 VPC 安全外包给可以帮我处理此事的公司,而我只需专注于应用程序开发?有没有好的公司可以做这件事?
答案1
VPC。始终使用 VPC。即使只有一个实例,我总是在VPC中部署。
AWS 现在默认在 VPC 中部署 EC2 实例是有原因的。通过这样做,您将获得 EC2-Classic 无法实现的安全性和灵活性方面的重大优势。