Cómo funciona el túnel?
El túnel es un mecanismo que protege diferentes servicios al deshabilitarlos para que se accedan directamente desde fuera de la red. Implica recibir tráfico en un puerto y reenviarlo a otro puerto y se puede hacer a nivel local o remotamente. El túnel es una técnica de redirección de puertos que utiliza túneles cifrados dentro del protocolo SSH. El túnel es un tipo de comunicación entre dos dispositivos de red utilizando una conexión SSH. SSH capta la solicitud de servicio del cliente al host, luego crea una conexión que lleva la solicitud al otro lado de la conexión. En el otro lado de la conexión SSH, la solicitud se descifrará para enviarse al servidor de aplicaciones en el sistema remoto.
Rinetd
Rinetd es una utilidad que permite al usuario reenviar el tráfico de red de un puerto a otro puerto. Es una de las utilidades de reenvío de puertos más comunes debido a su naturaleza fácil de usar.
Por ejemplo, considere un escenario en el que el servidor RDP (192.168.0.10) En el puerto 3389 es inaccesible debido a un bloqueo en todo el tráfico saliente del sistema de oficina (192.168.0.15) Excepto por el puerto 80, y hay otro sistema doméstico (192.168.0.20) también.
La situación puede utilizar el sistema de inicio como un proxy con la ayuda de Rinetd de modo que recibirá una conexión de una dirección IP y puerto y lo reenviará a otra dirección IP y número de puerto. En el sistema de inicio, configure el archivo de configuración Rinetd de la siguiente manera:
#bindaddress #bindport #connectaddress #connectport
192.168.0.20 80 192.168.0.10 3389
En la máquina de oficina (192.168.0.15), intente conectarse a RDP en el IP: puerto (192.168.0.20:80). El sistema de inicio recibirá la conexión en (192.168.0.20:80), pero debido al reenvío del puerto, reenvía la conexión al servidor RDP (192.168.0.10) en el puerto 3389. Por lo tanto, se puede acceder al servidor RDP desde el sistema de oficina, incluso si todo el tráfico saliente está bloqueado.
Ngrok
Ngrok proporciona sincronización en tiempo real de lo que se ejecuta en el local de uno. Permite que el sitio web se ejecute en nuestro localhost detrás de NAT y los firewalls sean accedidos por el público a través de Internet a través de túneles seguros. Digamos que estamos desarrollando un sitio web y probándolo en nuestro localhost en el puerto 4444. Queremos compartirlo con otra persona con fines de demostración. Podemos compartirlo a través de Github y otros métodos.
Pero llevará mucho tiempo desplegarse, y los cambios no tendrán lugar en tiempo real en todos los lugares. Con Ngrok, cualquier cambio en el localhost enviará una actualización al final de todos. NGROK es un servicio multiplataforma disponible para descargar en su sitio web oficial.
Por ejemplo, un sitio web que se ejecuta en Localhost: 8080 puede ser públicamente accesible por cualquier persona con un enlace de URL. Use el siguiente comando para generar una URL pública:
ubuntu@ubuntu: ~ $./ngrok http 8080
Túnel ssh
SSH Tunneling es la mejor manera de túneles de túneles desde un sistema de clientes hasta un sistema de servidor y viceversa. Para usar SSH para túnel los puertos, tanto el cliente como el servidor deben tener la configuración de SSH. Hay tres tipos de túneles SSH, yo.mi., Reenvío de puertos local, reenvío de puertos remoto, reenvío de puertos dinámico.
Reenvío de puertos locales
El reenvío de puertos locales es una técnica para hacer que los recursos remotos estén disponibles localmente. Estos recursos pueden estar prohibidos o colocarse detrás de un firewall para restringir el acceso local.
Sintaxis:
ubuntu@ubuntu: ~ $ ssh -l: : nombre de [email protected]
Considere un escenario en el que un escritorio remoto debe integrarse en una computadora doméstica desde el sistema de la oficina. Pero el puerto 3389 (RDP) está bloqueado por razones de seguridad. Para acceder al puerto RDP, use el túnel SSH para reenviar puertos de bloque a un desbloqueo diferente de un número de puerto. Esto se puede hacer usando el siguiente comando:
ubuntu@ubuntu: ~ $ ssh -l 4444: 192.168.0.2: 3389 [email protected]
Ahora en la configuración de RDP, Localhost se puede escribir en lugar de una IP o nombre de host con la columna de número de puerto 4444 para acceder al Inicio RDP.
Reenvío de puertos remoto:
El reenvío de puertos remotos es una técnica para acceder a recursos locales de forma remota. Supongamos que una empresa quiere que un empleado trabaje desde la oficina, y restringe el acceso remoto del sistema de la oficina bloqueando el puerto RDP (3389). En este caso, el reenvío de puertos remotos puede ser útil. En el sistema de oficina, use el siguiente comando:
ubuntu@ubuntu: ~ $ ssh -r 4444: localhost: 3389 [email protected]
Esto establecerá una conexión. Ahora se puede acceder a la computadora de trabajo desde el sistema de inicio utilizando RDP ingresando localhost en lugar de una IP o nombre de host con la columna de número de puerto 4444 en la configuración de RDP.
Reenvío de puerto dinámico:
El reenvío de puertos dinámicos permite túnel múltiples puertos. En este tipo de reenvío, SSH actúa como un servidor proxy. Digamos que los empleados pueden acceder a la web en el puerto 80 desde el sistema de la oficina debido a una restricción de firewall. El reenvío de puertos dinámico puede ayudar a navegar por la web en el puerto 80 como desde casa. Use lo siguiente ssh dominio:
ubuntu@ubuntu: ~ $ ssh -d 4444 [email protected]
El comando anterior crea un proxy de calcetines, que requiere la configuración del navegador web. Para Firefox, vaya a Configuración y haga clic en "Abrir configuración proxy". Escriba localhost en la columna proxy de calcetines y el número de puerto especificado.
Siempre que la dirección se escriba en la barra de URL, se enviará al número de puerto especificado a través del túnel SSH y se recibe en nuestro sistema de inicio.
Conclusión
El túnel y el reenvío de puertos se pueden utilizar para acceder al tráfico de red a través de firewalls de forma segura. SSH Tunnels se asegura de que los datos en tránsito viajen a través de un túnel seguro para que no puedan ser escuchados o capturados. También le permite configurar las conexiones VPN y acceder a los datos de forma anónima o desde una ubicación segura o inaccesible debido a un firewall. El artículo analiza diferentes escenarios que requieren el uso de un mecanismo que ayude a acceder a los recursos deseados de forma local o remota a través de Rinetd, Ngrok y SSH Tuneling.