<div dir="ltr">Hi Lyn,<div><br></div><div>There are several problems with Erlang's distribution model from a security standpoint. For e.g. if a host which has access to inter-node comms is compromised, it can sniff the cookie out and then establish connections to any node in the Erlang cluster.</div><div><br></div><div>Okay, so you change distribution to use TLS so one cannot sniff cookies. But now imagine that someone got access to just one of the boxes in an Erlang cluster. The entire cluster is now open for abuse because there is no access control mechanism within distributed erlang. There is no audit log of which node connected when, what commands were executed, nothing at all. Even os:cmd/1 is available for executing anything as that user on the box.</div><div><br></div><div>Distributed erlang assumes that the cluster is operating in a secure environment which may not always satisfy the requirements. For e.g. if you are building something in Erlang and you want it to be PCIDSS [1] compliant, you will want to turn off distributed erlang on that node because the combination of the openness of an Erlang cluster combined with its tracing capabilities means that anyone with access to a single node in a cluster can trace and capture data flowing through code handling credit card transactions.</div><div><br></div><div>regards,</div><div>Chandru</div><div><br></div><div>[1] <a href="http://www.theukcardsassociation.org.uk/security/what_is_PCI%20DSS.asp">http://www.theukcardsassociation.org.uk/security/what_is_PCI%20DSS.asp</a></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 9 June 2016 at 21:20, Lyn Headley <span dir="ltr"><<a href="mailto:lheadley@kcptech.com" target="_blank">lheadley@kcptech.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I don't understand why so many people are so dismissive of<br>
cookie-based node security. Here's what Fred Hebert wrote, for<br>
example:<br>
<br>
"While documents like the official Erlang documentation put cookies<br>
under the topic of security, they're really not security at all. If it<br>
is, it has to be seen as a joke, because there's no way anybody<br>
serious considers the cookie a safe thing. Why? Simply because the<br>
cookie is a little unique value that must be shared between nodes to<br>
allow them to connect together. They're closer to the idea of user<br>
names than passwords and I'm pretty sure nobody would consider having<br>
a username (and nothing else) as a security feature. Cookies make way<br>
more sense as a mechanism used to divide clusters of nodes than as an<br>
authentication mechanism."<br>
<br>
In opposition to this extremely widespread sentiment, I believe that:<br>
<br>
1) It is feasible to create an unguessable cookie.<br>
2) It is feasible to prevent outsiders from seeing the cookie's value.<br>
<br>
Therefore attackers cannot take over my node by compromising my cookie.<br>
<br>
Where is the flaw in my reasoning?<br>
<span class="HOEnZb"><font color="#888888"><br>
Lyn Headley<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</font></span></blockquote></div><br></div>