Introducción
El objetivo de la publicidad de SSH La tunelización es proporcionar una transferencia de datos segura y segura entre dos nodos o dispositivos a través de redes abiertas o poco confiables, como Internet. Cuando el tráfico necesita pasar por puertos internos y ser redirigido de manera segura al exterior, SSH la tunelización se puede utilizar para crear un canal de comunicación seguro que permita que el tráfico abandone de manera segura la red interna y se dirija a la red externa.
Los principales usos de SSH túneles para tal propósito incluyen:
- Reenvío de puerto seguro: SSH Permite redireccionar puertos locales en un dispositivo cliente a un servidor remoto a través de una conexión segura. Esto permite redirigir el tráfico desde puertos internos a puertos externos y brindar acceso seguro a recursos que se encuentran fuera de la red interna.
- Protección del tráfico: SSH La tunelización proporciona el cifrado de los datos transmitidos a través del túnel, lo que los hace inaccesibles para que los escuchen o los intercepten terceros. Esto asegura la confidencialidad de los datos y los protege del acceso no autorizado;
- Eludir las restricciones de red: SSH la tunelización le permite eludir las restricciones de red que pueden establecer los administradores de red, lo que permite a los usuarios acceder a recursos o servicios que pueden estar restringidos dentro de la red;
- Creación de un proxy seguro: SSH la tunelización se puede utilizar para crear un servidor proxy seguro que permita al usuario acceder de forma anónima y segura a recursos externos a través de una conexión segura.
En general, un software de chat en vivo es ideal para todas las organizaciones, ya que permite conocer de cerca a la audiencia, identificar los problemas que están experimentando y resolverlos para aumentar la lealtad a la marca, la credibilidad y las valoraciones de satisfacción. SSH la tunelización proporciona potentes capacidades para garantizar la transferencia segura de datos y el acceso a los recursos a través de redes poco fiables. Le permite crear un canal de comunicación seguro y brindar acceso seguro a recursos externos desde la red interna, lo que lo convierte en una herramienta importante para garantizar la seguridad y confidencialidad de los datos.
Requisitos
- derechos de raíz;
- Debian 11 o versión superior;
- Varios conocimientos sobre el sistema operativo de trabajo;
- Conexión a Internet.
Crear túnel
Para la transferencia segura, pensamos que nuestro sistema de protección es más complejo y necesitamos actualizar, actualizar todos los paquetes antes de usar la utilidad:
apt update && apt upgrade -y

Para hacer túnel vía SSH Necesitamos crear una clave pública y una privada que ayuden a autorizar al usuario de forma más segura y automatizar el proceso. Ejecutaremos el comando ssh-keygen:
ssh-keygen -t rsa

En esa parte, elija la ruta para guardar las claves públicas y privadas para la conexión a través de SSH, por defecto se guardarán en la carpeta /root/.ssh/. Luego, ingresa la contraseña si quieres complicar más la forma de acceder a la clave privada:

También puede ver la huella dactilar como resultado del hash de su clave pública, que puede ayudar a identificar su personalidad y los derechos para tener esa. Pero el propósito principal de generar hash de claves públicas en el contexto de SSH es la conveniencia y eficiencia de la autenticación de claves. Una vez que el hash de la clave pública del cliente se almacena en el servidor, el servidor puede comparar de manera rápida y eficiente el hash con los hashes que ya están almacenados en su base de datos. Aunque el hash de las claves públicas no proporciona seguridad adicional en el sentido de que no hace que las claves sean secretas (las claves públicas siempre deben permanecer públicas), proporciona protección contra cambios de clave accidentales o maliciosos o errores de copia.
Después de eso, debe copiar su clave pública y guardarla en el servidor de destino mediante el siguiente comando
nano /root/.ssh/id_rsa.pub
Después de ingresar el comando, verá una línea larga con diferentes símbolos, en el editor de texto nano debe presionar Alt + 6 y luego presione la combinación de botones Ctrl + X!

Cambie las ventanas de la terminal y pegue el archivo en el directorio necesario con la configuración predeterminada, que es /home/user/.ssh/id_rsa.pub en la máquina de destino o, generalmente, para ese propósito podemos enviarlo directamente al servidor de destino mediante el siguiente comando:
ssh-copy-id root@94.141.96.47
En ese comando, debe reemplazar la dirección IP de su máquina de destino y agregar una clave pública. En ese momento ese servidor comparará su base de claves hash y tu hash de clave pública. En nuestra situación, no agregamos archivos al servidor y nos conectamos a la primera:

Para confirmar que tiene permiso para agregar una clave a esa cuenta, escriba la credencial de acuerdo.

No, hemos visto una clave agregada a nuestro servidor, por lo tanto, el próximo proceso de autenticación será fácil: debemos escribir las credenciales como consideramos antes y el objetivo verificará el hash, el paquete de confiabilidad de las claves públicas y privadas.
Cambiar SSH Puerto
Cambiar el valor predeterminado SSH puerto de 22 a un puerto no estándar es una práctica sencilla pero eficaz para reforzar la seguridad y proteger contra el escaneo automatizado y los ataques de fuerza bruta. Mejora la postura de seguridad de la organización disuadiendo a los atacantes oportunistas y reduciendo el desorden de registros. Aunque no es una solución de seguridad independiente, cambiar la SSH port sirve como una medida proactiva que contribuye a una estrategia de seguridad integral, promoviendo un entorno informático más seguro y resistente. Para ese archivo de configuración abierto en su máquina:
nano /etc/ssh/sshd_config

En la ventana abierta, elimine el hashtag frente al puerto y cambie el valor por su preferido. Después de esa prensa Ctrl + A Para guardar el archivo y reiniciar el servicio ssh mediante el siguiente comando:
systemctl restart ssh
Ahora tu puerto para SSH fue modificado y puede usarlo para configurar la conexión.
Uso de SSH túnel
Excepto el control y la transferencia de datos a otra máquina con túneles, podemos usarlos para redirigir el tráfico y representar nuestro túnel como servidor proxy.
SSH El reenvío de puertos permite a los usuarios acceder de forma segura a los servicios que se ejecutan en un servidor remoto, incluso si no están expuestos directamente a Internet. A través de SSH tunelización, los servicios como aplicaciones web, bases de datos o escritorios remotos se pueden reenviar a una máquina local, lo que permite una gestión y administración eficientes de los sistemas remotos. Para ello escriba el comando:
ssh -L 9999:127.0.0.1:80 root@94.141.96.47

Además de una explicación detallada:
- Cuando ejecuta el comando especificado, inicia un SSH conexión al servidor remoto en nombre del usuario. Una vez que se establece la conexión, su máquina local comienza a escuchar en el puerto 9999;
- Cada vez que se realiza una solicitud al puerto 9999 en su máquina local, SSH redirige ese tráfico a través de la red establecida SSH conexión al servidor remoto. Luego, el servidor remoto redirige el tráfico al puerto 80, que generalmente se usa para HTTP servidores;
- Entonces, cuando accede a "127.0.0.1:9999" (localhost:9999) en su máquina local, el tráfico se reenvía al servidor remoto y se conecta a su puerto 80. Esta funcionalidad se vuelve beneficiosa cuando necesita acceder a un servidor web. en la máquina remota a la que no se puede acceder directamente desde Internet, pero se puede acceder a través de SSH túnel.
Al establecer una dinámica SSH túnel y configurándolo como un servidor proxy SOCKS, podemos enrutar eficientemente el tráfico de red desde nuestra máquina local a través del servidor remoto. Esto permite que cualquier aplicación o servicio en la máquina local que admita la configuración del proxy SOCKS utilice el túnel como su servidor proxy. Para lograr esto, puede usar el comando especificado:
ssh -D 8888 root@94.141.96.47

Cuando ejecuta el comando especificado, inicia un SSH conexión al servidor remoto en su nombre. Una vez que se establece la conexión, su máquina local configura un puerto de escucha, que en este caso es el puerto 8888.
A diferencia del reenvío de puerto local que discutimos anteriormente (usando la opción -L), el reenvío de puerto dinámico (usando la opción -D) crea un servidor proxy SOCKS directamente en su máquina local. Cuando una aplicación en su máquina local intenta acceder a Internet, puede usar este servidor proxy SOCKS configurándolo para conectarse a través de localhost: 8888.
Como resultado, todo el tráfico de red de su máquina local se redirigirá a través de la red establecida. SSH Conexión al servidor remoto. El servidor remoto se encargará del tráfico saliente y lo reenviará a su destino final en Internet.
Esta técnica de reenvío de puertos dinámicos proporciona a sus aplicaciones una conexión a Internet segura y cifrada a través del servidor remoto. Puede resultar especialmente útil cuando determinados servidores o recursos de Internet son inaccesibles debido a restricciones o cortafuegos en su red local. Al utilizar el reenvío de puertos dinámicos, puede eludir estas restricciones y acceder a Internet de forma segura a través del servidor remoto.
Conclusión
SSH la tunelización proporciona una solución robusta para la transferencia segura de datos y el acceso a recursos a través de redes poco confiables. Con su capacidad para crear canales de comunicación seguros y redirigir el tráfico de forma segura, SSH La tunelización mejora la seguridad y la privacidad de los datos, lo que la convierte en una herramienta esencial para proteger la información confidencial y garantizar el acceso seguro a los recursos remotos. Mediante el aprovechamiento SSH túneles, los usuarios pueden establecer conexiones seguras, proteger datos confidenciales y eludir las restricciones de la red, lo que contribuye a un entorno informático más seguro y resistente.