Sometimes one has to work with software that hasn't built in security-features for non-local connections. In fact, some client-libraries are sending credentials in clear text over the wire. On the other side these applications might be powerful and serve their purpose very well - so there is almost no reason to replace them.
How can I secure "unsecure" connections between nodes within my cluster and hide these tunnels from the actual application? In what way will it impact performance for small requests/responses or larger ones? What trade offs are to be made?
Please, note: I am relatively new to the Linux world and I'd like to learn more about securing environments etc.. The above question raised to my mind when I read a paper about the security-features of some early versions of NoSQL-databases. One example of security-leaks was that the credentials were sent in cleartext over the wire, as well as all the data between the nodes. So I wondered how it might be possible to use such valuable technology, even if it has a lack of some built in security-features.