我正在测试Erlang并且有几个与分发安全相关的问题。 (这里有很多混合的信息)这些类型的问题带有许多与情况有关的意见,并取决于您处理的数据类型的个人舒适度。为了这个问题,我们假设它是一个简单的聊天服务器,用户可以在这里连接并聊天。如何在私有子网后面保护Erlang群集
群集将与弹性负载平衡引导所有连接到这些节点(和从)一专用子网VPC后面。弹性负载平衡将是通向这些节点的唯一直接路径(将无法通过名称@ privatesubnet连接到节点)。
我的问题是:
在此基础上自问自答:Distributed erlang security how to?
有两种不同类型的可发生的内部沟通。要么使用内置功能直接连接节点,要么使用自定义协议通过TCP连接执行所有操作。第一个是最简单的,但我认为它带有一些安全问题,我想知道是基于上面的图表是否足够好(呃,好的,处理敏感信息时不够好,但总是可以有更好的方式去做所有事情......)
你如何保护和私人子网后面的Erlang集群?我想隐藏节点,并手动连接它们,当然在它们上使用cookie。这种方法有缺陷吗?而且由于使用TCP的自定义协议将是最佳选择,因此对性能有何种影响?我想知道潜在的安全漏洞(正如我所说的,关于如何做到这一点,有很多混杂的信息)。
我会对以这种方式使用Erlang的人有兴趣!
当你说:“你可以使用一些安全组规则做比上述更好的一点。”你的意思是保持群集公开面向子网?使用ELB(或可能的路由53私有区域),是将这些实例保留在私有子网中,是否有更好的方法?另外,如何在不使用ELB的情况下将流量路由回所连接的客户端?使用NAT网关?谢谢! – Mike5050
不,请保留私人子网,但_add_ SGs。这样,如果子网中的非erlang实例受到损害,则无法访问群集。这是一个特例,但它是一个很好的纪律IMO。如果您需要连接到群集以进行调试,请访问专用子网(VPN或SSH跳转框)并允许私有IP访问“erlang”SG。 –
没关系!你是什么意思:“你的负载均衡器不应该转发Erlang节点流量。”谢谢!这有很大帮助。 – Mike5050