我认为节点间通信是明确的,并且cookie值严格用于身份验证。 (我还没有任何证据)。
答案 0 :(得分:6)
好吧,因为它全部通过IP运行,所以一种选择是在节点之间使用IPSec。加密的VPN连接也可以解决问题。这些都不需要对Erlang方面进行任何更改,Erlang程序或运行时也不会意识到加密正在发生,除了(希望)罕见的导致通信失败的攻击情况,在这种情况下它会看起来好像另一个节点已关闭。
答案 1 :(得分:3)
您可以使用SSH隧道通过它传递所有erlang通信,使用-rsh ssh参数,您将需要为ssh设置基于证书的身份验证(即无密码)。然后你可以简单地使用
的内容erl -rsh ssh ....
有关其他详细信息,请参阅:
答案 2 :(得分:2)
现在可以使用inet_tls_dist
自定义分发模块开箱即用。关于如何使用inet_tls_dist
模块作为分发模块来获取群集节点之间的加密通信,有一个guide in the documentation。我不确定何时引入所有这些功能,但我知道它们存在于Erlang 18.2及更新版本中。
Erlang Solutions还写了blog post on this。
答案 3 :(得分:1)
基本上有两种选择: