Is the fact that I mentioned ChatGPT setting a wrong impression?
Not at all, but the fact that it suggested jumping straight to k8s for such a trivial problem is… interesting.
how using Unix sockets would improve my security posture here
Unix sockets enforce another layer of protection by requiring the user/application writing/reading to/from them to have a valid UID or be part of the correct group (traditional Linux/Unix permission system). Whereas using plain localhost HTTP networking, a rogue application could somehow listen on the loopback interface and/or exploit a race condition to bind the port and prentend to be the “real” application. Network namespaces (which container management tools use to create isolated virtual networks) mostly solve this problem. Again, basic unencrypted localhost networking is fine for a vast majority of use cases/threat models.
Chewy7324@discuss.tchncs.de 1 year ago
Nothing wrong with asking LLM’s about topics, I’d even say it’s a good idea instead of directly asking on a forum. Just like searching before asking, asking an LLM before asking humans is good.
And mentioning where you got the recommendation for k8s is also helpful. I’m not knowledgeable about k8s, but I guess the “wtf” was about the overkill of recommending k8s when simpler solutions exist.
Unix sockets have permissions like any file, so it’s simple to restrict access to a user/group and thus process running as the user. If it’s unencrypted http on a server other processes could listen on localhost, but I’m unsure about that part.
MigratingtoLemmy@lemmy.world 1 year ago
Sorry for replying this late; I wanted to read more about Unix sockets and podman before I got back. Thanks for your comment.
I already responded to the other commenter with what I’ve understood and my plans, I’ll paste it here too:
If I understand correctly, Unix sockets specifically allow two or more processes to communicate amongst each other, and are supporter on Podman (and Docker).
Now, the question is: how do I programmatically programmatically utilise sockets for containers to communicate amongst each other?
I was considering a reverse proxy per pod as someone else suggested, since every podman pod has its own network namespace. Connecting between pods should likely be through the reverse proxies then. I just need to figure out how I can automate the deployment of such proxies along with the pods.
Thanks again for your comment, and please let me know if I’m missing anything.
Chewy7324@discuss.tchncs.de 1 year ago
Thanks for the long reply. Sadly I don’t know enough about unix sockets and docker/podman networking to help you.
I’ve only used unix sockets with postgresql and signald. For both I had to mount the socket into the container and for the postgres I had to change the config to use unix sockets.
MigratingtoLemmy@lemmy.world 1 year ago
I see. My use-case would probably be better served through a software bus implementation (how would I keep all of these containers attached to the bus? Isn’t that a security risk?), but perhaps handling everything through the network behind individual reverse-proxies might be the best idea in this case.