We have two hosts, theoretically in the same data center. The two machines are hosted at Online.net. We're having a bit of a debate: should the traffic between the two hosts be encrypted.
The traffic we need to exchange are Redis queries. The data that will be exchange is Twitter and Facebook user IDs, a code to indicate a job to do, and a market ID, which is itself a UUID. A typical query and response would be:
> hgetall Twitter:12345
1) 1) "c4a9c7f0-78d1-0132-b14c-70921c10876c"
2) "F"
The two implementations we're thinking of:
Use an SSH tunnel with port forwarding to hide the Redis server from the public Internet. On the machine hosting the Redis server, create a separate user with a single aurthorized_keys, with proper securities to not allow running arbitrary programs;
Simply use the firewall to limit traffic to Redis to the single IP address we need, nothing more.
We're not sure which would be "more secure" (or more appropriately, less risky). Adding users and configuring SSH introduces complexity, while adding a firewall rule is much simpler. On the other hand, if an attacker reads in-flight packets, what useful data can they collect?
What I want to protect against is after having gained access to the client machine, an attacker could gain a foothold into the Redis server machine, which hosts many more services.