pablito

pablito

Encryption in Elixir's process messaging

Hi, we’re using libcluster + horde to manage process balancing of some genservers. So, we want to get the security right and have an encrypted communication between processes.
I guess that horde messages aren’t so important because they are mostly metadata, but the genservers themselves are communicating between each other and there is some sensitive information in those messages. Is there any library to send those messages encrypted or simply encrypt message before send and decrypt after receive?

Most Liked

shanesveller

shanesveller

You can view this guide to see the facilities for making Distributed Erlang itself use SSL for all communications between nodes:

https://www.erlang.org/doc/apps/ssl/ssl_distribution

Just as a doom-and-gloom aside, Distributed Erlang as a paradigm/protocol doesn’t have any notion of meaningful security, privacy, or other boundaries between cluster peers. If you have any concerns that another BEAM node has been successfully compromised by a malicious party, reading inter-process messages is far down the list of possible harm they could do. They could use RPC to delete files, manipulate database rows, plus ~anything the OS user has permission to do. Erlang cookie is also not a terribly useful security mechanism and should be combined with suitable network rules when possible.

kokolegorille

kokolegorille

Hello and welcome, You might be interested by…

pablito

pablito

We’re not exposing the nodes to the internet. This will run on k8s, so the communication is internal, we’re just exploring this to add an extra level of security. As said by @shanesveller, if a malicious actor has total control of a node, the messages are the least worrying thing. I’m thinking the possibility of another pod compromised on the network that can somehow read these unencrypted messages.

Where Next?

Popular in Questions Top

openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
kostonstyle
Hi all I want to have a unix time, from the current time plus 1 hour. DateTime.now + 1 hour How to get it in elixir? Thanks
New
sabri
Can someone explain the settings of pool_size of Ecto in config file? and what is the recommend size? Thanks
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New

Other popular topics Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
William
I would like to know that is there any online source for learning Phoenix Framework for building E-Commerce Store? Any advantage on build...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New

We're in Beta

About us Mission Statement