Una opción que suelen usar las organizaciones para reenviar una conexión TCP de texto sin formato a través de la red es el reenvío de puertos local y remoto SSH. SSH une un puerto localmente y reenvía todo el tráfico a la máquina remota a través de SSH.
Esta es una gran solución por varias razones, a saber, que obtiene el cifrado y la autenticidad del mensaje, y también tiene una garantía de autorización en que el usuario debe tener acceso SSH a la máquina (y root si el el puerto está por debajo de 1024).
Sin embargo, en el caso de querer el cifrado de mensajes y la autenticidad sin querer autenticarse, no estoy seguro de que haya otra solución existente a la mano.
Lo que pude imaginar, sin embargo, es una configuración de servidor / agente que envolvería TLS y haría el reenvío de puertos cuando fuera necesario. Diga que necesito ejecutar Redis a través de Internet (por qué está fuera del punto, si pregunta por qué, solicite otro servicio que se ajuste mejor a su imaginación). Una solución decente sería ejecutar un proceso en el servidor Redis que se uniera a un puerto determinado y actuara como un proxy TLS. Deberá ejecutar un protocolo de enlace TLS completo para conectarse y transferir datos a este proxy.
La segunda mitad de la ecuación sería ejecutar algo del lado del cliente en los servidores que necesitan conectarse a Redis. Esto volvería a escuchar en un puerto local, pero reenviaría el tráfico a través de TLS al proxy TLS mencionado anteriormente.
¿Existe tal tecnología? Me gustaría la opción eventual de usar certificados SSL del lado del cliente para la autenticación, pero simplemente actualizar a TLS sobre texto sin formato es un gran beneficio en mi opinión.