我们有一个在ec2实例上运行的web应用程序。我们添加了AWS ELB,以将所有请求路由到负载平衡器的应用程序。SSL证书已应用于ELB。
我担心ELB和ec2实例之间的HTTP通信是否安全?或者我应该在ELB和ec2实例之间使用HTTPS通信吗?
AWS是否保证ELB和ec2实例之间HTTP通信的安全性?
在我看来,对安全和云部署的绝对控制是两件不能很好结合的事情。
关于ELB和EC2实例之间的通信安全,您可能应该在VPC中部署资源,以添加新的隔离层。AWS不提供任何安全保证。
如果传输的数据过于敏感,您可能还想考虑在专用数据中心部署,在那里您可以更好地控制网络方面。此外,您可能希望查看EC2上的单租户实例,因为您可能正在与其他EC2客户共享物理资源。
也就是说,您还应该考虑一个方面:SSL终止是一项非常昂贵的工作,因此在ELB级别终止SSL将允许您的后端实例将资源集中在实际满足请求上,但这也会影响ELB(它会自动扩展,但必须更快,而且在流量高峰期间,您可能会看到延迟增加)。
我曾经回答过一个类似的问题,但我想强调以下几点:
>
请注意您的私钥分发。AWS可以轻松地将其安全存储在系统中,并且不再在服务器上使用。在服务器上使用自签名证书可能更好(减少泄漏真正私钥的机会)
SSL现在很便宜(计算方面)
这完全取决于您的安全要求、法规以及您愿意承担多少复杂性开销。
AWS确实为防止其他租户欺骗/检索信息提供了一些保障(请参见网络部分),但安全的假设是,多租户公共云环境不是100%卫生的,您应该加密。
单租户实例(正如@andreimarinescu所建议的)不会有帮助,因为这里讨论的攻击向量是ELB(共享环境)和您的实例之间的网络。(然而,这可能有助于对抗XEN零天)
长答案和短摘要-加密。
我有一个java应用程序在两个ec2实例中运行,客户可以使用AWS应用程序负载均衡器访问它们。现在ALB可以作为SSL终止点工作。所有请求都通过端口443上的ALB。工作正常。问题是java应用程序有时需要重定向到不同的路径。由于java应用程序不知道它在SSL ALB后面运行,因此重定向路径包括超文本传输协议://而不是https:// 有什么方法可以在我的应用程序之外将协议修改为https?
我在将https添加到我的EC2实例时遇到了一个问题,也许你们可以找到让它工作的答案。 我有一个负载平衡器,它正在将连接转发到我的EC2实例,我已将SSL证书添加到负载平衡器,一切正常,我已将侦听器添加到端口443,该端口将转发到我的实例的端口443,我已将Apache配置为在端口443和80上侦听,现在这里是我的负载平衡器的屏幕截图: SSL证书有效,在端口80(HTTP)上一切正常,但如果我尝
我正在尝试使用ELB部署一些nodejs站点,但ELB和EC2实例的安全组都存在一些问题。 我想做的是允许ELB接受端口80请求,并将这些请求转发到EC2实例上的端口3000,我不希望EC2实例可以从Internet直接访问,它们应该只能通过负载均衡器(在端口3000上)访问。 因此,在我的公有子网的 VPC 中,我有: < li >设置转发80 (HTTP)到3000 (HTTP)的ELB <
我正在使用AWS应用程序负载平衡器来设置我的环境。 应用程序负载平衡器在端口443接收来自Internet的请求,并将其转发到端口80 Apache服务器在EC2服务器上运行,docker位于负载平衡器后面的端口80上<我的网站是用CakePHP开发的<我打电话的时候https://www.example.com,我的网页已加载 然而,在PHP中,当我使用以下代码获取当前url时,得到的url是h
我对Nginx完全陌生。 我想使用免费版本(不是nginx plus)负载平衡(反向代理)之间的3个服务器和连接必须是SSL/443。 我是将SSL证书放在NGINX负载均衡器服务器上,还是将3个SSL证书分别放在3个web服务器上?我听到的评价褒贬不一。我在寻找最好的表现。 其他信息:我使用通配符SSL证书和web其他web服务器是IIS和IP_Hash,以便在相同的web服务器上保持会话。
目标是在一个简单的堆栈中包含 HTTP/2 支持:在多个 EC2 实例中部署的 Web 应用程序是启用了 PROXY 协议策略 (SSL:443 ➝ TCP:80) 的传输级 CLB,以便卸载 SSL/TLS 并平衡传入的 HTTPS 流量。 PROXY协议的几个原因:(1)地理定位逻辑的执行;(2)执行简单的访问控制规则;(3)日志记录。所有这些功能都需要访问可靠的(即不可轻易伪造的)客户端IP