I believe that internode communication is taking place in the clear and that the cookie value is strictly used for authentication. (I do not have any proof as yet).
- How do I encrypt internode communication?
- How do I encrypt Mnesia replication messages?
- How do I configure my firewall and packet filters to permit these messages to pass through?
- How do I prevent snooping of my Erlang traffic?
4条答案
按热度按时间um6iljoc1#
好吧,因为它都是在IP上运行的,一种选择是在节点之间使用IPSec。加密的VPN连接也可以实现这个目的。这两种连接都不需要在Erlang方面做任何更改,Erlang程序或运行时也不会知道加密正在发生,除非在(希望如此)导致通信失败的攻击的罕见情况,在这种情况下,看起来好像另一个节点已关闭。
fwzugrvs2#
您可以使用SSH隧道通过它传递所有的erlang通信,使用-rsh ssh参数,您将需要为ssh设置基于证书的身份验证(即没有密码)。
呃--呃--嘘嘘....
有关更多详细信息,请参阅:
6ioyuze23#
现在,使用
inet_tls_dist
自定义分发模块就可以实现这一点。有一个guide in the documentation介绍了如何使用inet_tls_dist
模块作为分发模块来获得集群节点之间的加密通信。我不知道这些特性是什么时候引入的,但我知道它们在Erlang 18.2和更新版本中都有。Erlang Solutions也编写了一个blog post on this。
dddzy1tm4#
基本上有两种选择:
1.使用SSL连接Erlang节点,如on Trap Exit所述
1.使用VPN或IpSEC等底层IP机制