Tutoriales y Manuales
Entradas Mensuales
-
▼
2025
(Total:
215
)
-
▼
enero
(Total:
165
)
-
Inteligencia artificial, TOPs y tokens
-
uBlock Origin dejará de funcionar en Chrome
-
Francia tenía su propia IA para competir con ChatG...
-
México pide en una carta a Google corregir lo que ...
-
GPU AMD RX 7900 XTX supera a la NVIDIA RTX 4090 en...
-
El FBI cierra los dominios de los foros de pirater...
-
DeepSeek sufre una filtración de datos
-
Actualizaciones de seguridad críticas para iPhone,...
-
Parece un inocente PDF, pero es una estafa bancari...
-
DeepSeek tendrá un clon «100% abierto» desarrollad...
-
¿Qué son los tokens en el contexto de los LLM?
-
¿Qué es el destilado de una LLM?
-
Se saltan el sistema de cifrado BitLocker de Windo...
-
Facebook bloquea cualquier tema de Linux de Distro...
-
Ramsomware Makop y Lynx
-
NVIDIA pide explicaciones a Super Micro por vender...
-
Investigadores canadienses afirman que un ajuste d...
-
Vulnerabilidad crítica en Cacti (SNMP)
-
FARM discos duros Seagate
-
DeepSeek habría sido entrenada con datos robados a...
-
Alibaba presenta Qwen2.5-Max, su poderosa IA
-
Huawei dice tener un chip para IA igual de potente...
-
El fabricante de móviles Oppo es víctima de una gr...
-
DeepSeek puede crear malware para robar tarjetas d...
-
Historia del fabricante Asus
-
Instalar DeepSeek (destilado) con Ollama en tu ord...
-
Lossless Scaling: ¿Qué es y cómo funciona?
-
Una hora de anuncios para ver un simple vídeo de Y...
-
Herramientas gratuitas para transcribir de audio a...
-
OpenAI Operator: el agente de IA que automatiza ta...
-
DeepSeek Janus-Pro-7B, otro modelo de IA multimoda...
-
DeepSeek es víctima de un ataque DDoS
-
NVIDIA DLSS 4 (Tecnología de Escalado de nvidia)
-
Sony abandona los discos Blu-Ray grabables, MiniDi...
-
Vulnerabilidad en el framework Llama Stack de Meta...
-
PayPal pagará 2 millones de dólares por la filtrac...
-
DeepSeek, la herramienta china que revoluciona la ...
-
119 vulnerabilidades de seguridad en implementacio...
-
Cómo bloquear y demorar bots IA de Scraping web
-
Oracle, en negociaciones con ByteDance para compra...
-
Descubren que Elon Musk hacía trampas en los juego...
-
Por ser cliente de Movistar en España tienes grati...
-
HDMI 2.2 VS DisplayPort 2.1
-
Filtrados datos personales de asegurados de Asisa
-
Los fallos que cometió Ulbricht para ser detenido:...
-
Instagram desata las críticas de los usuarios espa...
-
Donald Trump indulta a Ross Ulbricht, creador del ...
-
Alia, la IA del Gobierno Español, es un desastre: ...
-
Stargate, un proyecto de Estados Unidos para inver...
-
Ataques del ransomware BlackBasta mediante Microso...
-
El mayor ataque DDoS registrado alcanzó 5,6Tb/s me...
-
Tras el éxito de Doom en documentos PDF, ahora tam...
-
Cae una banda de ciberestafadores que enviaba hast...
-
Cómo desactivar el Antimalware Service Executable ...
-
Herramienta Restablecer Windows
-
Seagate llega a los 36 TB con sus nuevos discos du...
-
YST (‘Yo soy tú’, como se autodenominó irónicament...
-
¿Qué es la pipeline?
-
Una chica de 28 años se enamora de ChatGPT
-
Copilot+ ya permite la búsqueda local
-
DORA: la normativa europea que obliga a los bancos...
-
Apple desactiva funciones de Apple Intelligence po...
-
La empresa de hosting GoDaddy, obligada a reforzar...
-
Domina los ficheros PDF con dos servicios Docker
-
OpenAI desarrolla una IA para prolongar la vida hu...
-
TikTok cierra en Estados Unidos
-
Vulnerabilidad permite eludir UEFI Secure Boot
-
Normativa Drones España 2025
-
Robados los datos personales de 97.000 aspirantes ...
-
¿Cómo volar un dron de noche? Esta es la normativa...
-
Expuestas 15.000 configuraciones robadas de FortiG...
-
Filtración masiva en China expone 1.500 millones d...
-
Un ciberataque expone la identidad de 160.000 guar...
-
La Policía de España advierte sobre una nueva técn...
-
Microsoft estrena protección del administrador de ...
-
Windows 11 con sólo 184 MB de RAM
-
Evilginx 3 para ataques man-in-the-middle mediante...
-
Cómo Barcelona se convirtió en un centro de empres...
-
El Gobierno de España anuncia la creación de un Ce...
-
RDP Bitmap Forensics para investigaciones DFIR
-
Más de 660.000 servidores Rsync expuestos a ataque...
-
El FBI elimina el malware chino PlugX en 4.250 ord...
-
Hiren's BootCD PE con Windows 11
-
Las chicas del ENIAC y las programadoras de los Co...
-
Trucos de Windows 11
-
Millones de cuentas vulnerables por fallo en OAuth...
-
Si no actualizas a Windows 11, no podrás usar Offi...
-
Jugar al DOOM dentro de un archivo PDF
-
Los mejores procesadores para jugar en 2025, ¿cuán...
-
"Explotación masiva" de los firewalls de Fortinet ...
-
Cómo funciona la sincronización en el almacenamien...
-
Parallels ya permite emular Windows y Linux las Ma...
-
Ransomware en Servidores ESXi: Amenazas, Vulnerabi...
-
Roban información con Infostealer Lumma mediante t...
-
Cómo compartir contraseñas en Google Chrome con "M...
-
El arquitecto jefe de Xeon cambia de Intel a Qualc...
-
Hackean cuentas de Path of Exile 2 tras robar una ...
-
Microsoft consigue que su IA se vuelva experta en ...
-
Cómo instalar Stremio en Raspberry Pi para conecta...
-
"Free our Feeds" quiere evitar que los millonarios...
-
-
▼
enero
(Total:
165
)
-
►
2024
(Total:
1110
)
- ► septiembre (Total: 50 )
-
►
2023
(Total:
710
)
- ► septiembre (Total: 65 )
-
►
2022
(Total:
967
)
- ► septiembre (Total: 72 )
-
►
2021
(Total:
730
)
- ► septiembre (Total: 56 )
-
►
2020
(Total:
212
)
- ► septiembre (Total: 21 )
-
►
2019
(Total:
102
)
- ► septiembre (Total: 14 )
-
►
2017
(Total:
231
)
- ► septiembre (Total: 16 )
-
►
2016
(Total:
266
)
- ► septiembre (Total: 38 )
-
►
2015
(Total:
445
)
- ► septiembre (Total: 47 )
-
►
2014
(Total:
185
)
- ► septiembre (Total: 18 )
-
►
2013
(Total:
100
)
- ► septiembre (Total: 3 )
-
►
2011
(Total:
7
)
- ► septiembre (Total: 1 )
Blogroll
Etiquetas
Entradas populares
-
Existen muchas herramientas que nos permiten tener un mayor control sobre el sistema como DoNotSpy11 o la popular WinAero Tweaker . Ahora n...
-
OpenAI sigue buscando la forma no solo competir contra sus rivales en el campo de la IA, sino también de hacer frente a grandes empresas e...
-
WhatsApp interrumpió un ataque contra sus usuarios que se perpetró utilizando spyware de la empresa israelí Paragon Solutions , reportan...
Túnel SSH port forwarding: Local, remote y dynamic
SSH (Secure Shell)
es un protocolo de comunicaciones seguras entre dos sistemas usando una
arquitectura cliente/servidor que permite a los usuarios conectarse a
un host remotamente para su posterior administración. A diferencia de
otros protocolos de comunicación remota como FTP o Telnet (Telecommunication Network), SSH cifra la sesión de conexión y la comunicación ofreciendo también una infraestructura de autenticación PKI (Public Key Infrastructure) para la conexión con el host remoto.
¿Qué es SSH?
Para poder establecer una conexión a un host que tenga implementado el
rol de servidor SSH es necesario disponer de un cliente SSH. El puerto
por defecto de escucha del servicio SSH es el 22.
Una vez se disponga de una comunicación establecida al servidor SSH se pueden usar los protocolos SFTP (SSH File Transfer Protocol) o SCP (Secure Copy) para la transferencia segura de ficheros entre cliente/servidor.
Rendimiento del túnel SSH
Un túnel SSH puede introducir cierta latencia en la conexión debido al cifrado y descifrado de datos. Este proceso puede requerir más recursos del sistema que una conexión no encriptada, lo que puede hacer que la conexión sea más lenta. Por otro lado, el impacto en el rendimiento de un túnel SSH puede ser mitigado mediante la optimización de la configuración y el uso de algoritmos de cifrado más eficientes. Por ejemplo, utilizar algoritmos de cifrado más rápidos como AES en lugar de Blowfish puede reducir el impacto en el rendimiento.
Además, también es importante tener en cuenta el ancho de banda disponible. Si el ancho de banda disponible es limitado, el cifrado y descifrado de datos puede consumir gran parte de los recursos disponibles, lo que puede provocar una disminución en el rendimiento de la red. Por otro lado, un túnel SSH también puede mejorar el rendimiento de la red en ciertos casos. Por ejemplo, si se está accediendo a una red desde una ubicación remota y se utiliza un túnel SSH para encriptar la conexión, puede mejorar el rendimiento de la conexión en comparación con una conexión no encriptada.
Para mejorar el rendimiento de un túnel SSH, hay varias opciones que se pueden considerar:
- Utilizar algoritmos de cifrado más eficientes, como AES en lugar de Blowfish, puede reducir el impacto en el rendimiento. Como mencionamos al inicio.
- Ajustar la configuración del servidor SSH para aumentar el tamaño del búfer de paquetes. Un tamaño de búfer más grande puede mejorar el rendimiento de la conexión.
- Utilizar la compresión SSH para reducir el tamaño de los datos transmitidos a través del túnel. Esto puede mejorar el rendimiento de la conexión en redes con ancho de banda limitado.
- Utilizar un hardware más potente en el servidor SSH puede mejorar el rendimiento de la conexión.
- Optimizar la configuración del sistema operativo en ambos extremos de la conexión SSH para maximizar el rendimiento de la red.
¿Qué es un tunel SSH? (SSH Tunneling)
Es una técnica que consiste en encapsular un protocolo de red sobre otro o un determinado tráfico de red. En el caso de usar conexión SSH se trata de realizar esta técnica de forma segura añadiendo una capa de seguridad en la que los datos viajan de forma cifrada a través del túnel SSH, realizando un reenvío o redirección de puertos (port forwarding) desde una máquina local a otra remota (o viceversa) para establecer una comunicación a un recurso o servicio accesible solamente desde uno de los extremos de la red.Suele usarse para conectarse a un servicio remoto que solo se tiene acceso desde la red local remota. A través de un cliente SSH nos podemos conectar a un servidor SSH remoto que tenga acceso a la red remota a la que queremos acceder, especificar un reenvío de puertos para establecer las conexiones a ese servicio y así poder ejecutarlo de forma local desde la máquina que inició la conexión SSH. El método más habitual suele ser el reenvío de puertos local.
¿Tipos de reenvíos de puertos? (Port forwarding)
- Reenvío de puerto local (Local por fortwarding)
- Reenvío de puerto remoto (Remote port forwarding)
- Reenvío de puerto dinámico (Dynamic port forwarding)
SSH Local port forwarding
Local (Redirección de puertos local): Reenvía un puerto local a un host remoto.Si un servicio se ejecuta en la máquina remota en la que establecemos la conexión y queremos ejecutar este servicio en la máquina local que inicia la conexión, se puede acceder a este servicio de desde nuestra máquina local usando la dirección local de lookback (127.0.0.1 o localhost) haciendo referencia al puerto mapeado a través de la conexión de inicio de la sesión SSH.
Pongamos un escenario de ejemplo de una conexión local port forwarding de escritorio remoto RDP realizando pivoting a otro equipo dinstinto al servidor SSH.
Supongamos que estamos en una red A y queremos acceder por escritorio remoto a un equipo situado en una red B (192.168.0.10), pero que por restricción del Firewall de la red A solo podemos realizar solicitudes de conexión al puerto 22 de SSH y no al puerto 3389 del servicio RDP. Lo que podemos hacer es crear una conexión desde un cliente SSH desde la red A (172.16.0.20) a un servidor SSH situado en la red B (192.168.0.15), en esa conexión tendremos que especificar un port forwarding local en un puerto aleatorio (mayor del puerto 1024 para que esté fuera del rango de "puertos bien conocidos") por ejemplo el 9090 como puerto origen (puerto local) de la red A y la IP:3389 del equipo de la red B al que nos queremos conectar (192.168.0.10), después de establecer esta parametrización nos conectamos al servidor SSH de la red B para crear el túnel local.
En el host de la red A que estableció la conexión desde el cliente SSH (172.16.0.20) abrimos un cliente de RDP (mstsc Windows, rdesktop o Remmina en Linux) y nos conectamos a "localhost:9090". Esto redirigirá la petición del host localhost (172.16.0.20) del puerto 9090 al servidor SSH de la red B que a su vez este redirigirá la petición al host destino 192.168.0.10 hacia el puerto 3389 y así establecer la conexión RDP.
En el caso de querer conectarse a otro servicio o desde otro host que no sea el propio host que realiza conexión desde el cliente SSH se especificaría: "<host-remoto>:<puerto-remoto>".
Desde una terminal se usa el parámtro -L para port forwarding local.
ssh -L <puerto-local-escucha>:<host-remoto>:<puerto-remoto> <servidor-ssh>
ssh -L 9090:192.168.0.10:3389 mi.servidorssh.com
Si el servidor remoto SSH al que nos conectamos para realizar el pivoting del primer salto (mi.servidorssh.com) está expuesto por otro puerto que no sea el 22 por defecto, podemos especificarlo con el parámetro "-p <puerto-servidor-ssh>".
- Cliente SSH (Red A): 172.16.0.20
- Servidor SSH (Red B): 192.168.0.15
- Host RDP (Red B): 192.168.0.10
SSH Remote port forwarding
Remote (Reedirección de puertos inverso): Reenvía un puerto remoto a un host local.Al contrario que una conexión de túnel local, si un servicio solo es accesible desde una máquina de la red local y se necesita tener conexión a el de forma remota. Se puede usar un puerto específico de escucha para conectarse a esa máquina remota y que esta nos proporcione el servicio a través de ella, pivotando posteriormente esa conexión a la máquina desde la que se inicia la sesión SSH.
Pongamos un ejemplo con los mismos hosts del escenario anterior de una conexión remote port forwarding de escritorio remoto RDP.
Supongamos que estamos en una red A y queremos ofrecer el servicio de escritorio remoto RDP situado en la red A (172.16.0.20), pero este servicio hacía este host solo solamente es accesible desde la red A y no desde otras redes externas. Lo que podemos hacer es crear una conexión con un cliente SSH desde el mismo host de la red A a un servidor SSH situado en la red B (192.168.0.15), en esa conexión tendremos que especificar un port forwarding remote en un puerto aleatorio (mayor del puerto 1024 para que esté fuera del rango de "puertos bien conocidos") por ejemplo el 9090 como puerto origen (puerto remoto) de la red B y la 172.16.0.20:3389 del equipo de la red A del que queremos ofrecer la conexión RDP (sería válido también localhost:3389 ya que se trata del mismo equipo local quien es el cliente SSH que establece la conexión), después de establecer esta parametrización nos conectamos al servidor SSH de la red B para crear el túnel remoto.
La idea es prácticamente la misma que el tunel local, la diferencia está en que la conexión se establece de forma inversa (reverse port forwarding).
En el host 192.168.0.10 de la red B abrimos un cliente de RDP (mstsc Windows, rdesktop o Remmina en Linux) y nos conectamos a "192.168.0.5:9090" (servidor SSH de la red A). Esto redirigirá la petición al puerto 9090 al host destino de la red B 172.16.0.20 hacia el puerto 3389 para establecer la conexión RDP.
En el caso de ofrecer otro servicio o desde otro host que no sea el propio host que realiza conexión desde el cliente SSH se especificaría: "<host-local>:<puerto-local>".
Directivas en el servidor SSH (/etc/ssh/sshd_config)
Para que el servidor SSH permita el conexiones de puertos de reenvío remoto es necesario habilitar principalmente la directiva GatewayPorts. Referencia: https://linux.die.net/man/5/sshd_configAllowTcpForwarding
Especifica si se permite el reenvío de TCP, de forma predeterminada el valor está establecido a "yes".GatewayPorts
Especifica si los hosts remotos pueden conectarse a los puertos reenviados para el cliente. De forma predeterminada, enlaza los reenvíos de puertos remotos a la dirección de loopback. Esto evita que otros hosts remotos se conecten a puertos reenviados. Por lo que para poder usarse para el reenvío de puertos remotos debe establecerse a "yes".Desde una terminal se usa el parámtro -R para port forwarding remote.
ssh -R <puerto-remoto-escucha>:<host-local>:<puerto-local> <servidor-ssh>
ssh -R 9090:172.168.0.20:3389 mi.servidorssh.com
o también
ssh -R 9090:localhost:3389 mi.servidorssh.com
Si el servidor remoto SSH al que nos conectamos para realizar el pivoting del primer salto (mi.servidorssh.com) está expuesto por otro puerto que no sea el 22 por defecto, podemos especificarlo con el parámetro "-p <puerto-servidor-ssh>".
- Cliente SSH y Host RDP (Red A): 172.16.0.20
- Servidor SSH (Red B): 192.168.0.15
- Client RDP (Red B): 192.168.0.10
SSH Dynamic port forwarding
Dynamic (Redirección de puertos dínamico): Utiliza SOCKS.Se comporta como un proxy SOCKS, suele usarse si nos necesitamos conectar a un software que espera un reenvío de SOCKS.
La idea es igual que cuando se establece un túnel local SSH. La diferencia es que los datos se enviarían a todos los destinos remotos. Para utilizar este tipo de conexión es necesario que la aplicación del cliente que se conecta al puerto local debe enviar tráfico mediante el protoclo SOCKS. En el lado del túnel del cliente se crearía un porxy SOCKS y la aplicación (por ejemplo un navegador web) utiliza el protocolo SOCKS para especificar donde debe enviarse el tráfico cuando sale del otro extremo del túnel SSH.
SSH creará un proxy SOCKS que escuchará las conexiones en el puerto 9090, al recibir una solicitud enrutará el tráfico a través del canal SSH establecido entre la red A (172.16.0.20) y la red B (192.168.0.15). Para ello, es necesario configurar la aplicación (navegador web) del host de la red A para que apunte al proxy SOCKS en el puerto 9090 en localhost. De ese modo estaremos saliendo con la conexión pública (si el mecanismo NAT está habilitado) a través de este navegador web como si estuviésemos en la red B.
Si en vez usar la dirección de loopback 127.0.0.1 refiriéndose a la dirección local, se usa una dirección de red no enrutable como 0.0.0.0 (indicando desde "cualquier lugar" -anywhere-) y especificando un puerto concreto, podemos indicar que se configure un Proxy SOCKS en el navegador web de cualquier máquina remota y así desde cualquier máquina de la red se establezca un túnel directo a nuestra máquina y que este tunelice el tráfico web recibido, bypaseando el tráfico restringido por los firewalls internos de la empresa.
Ejecutándolo desde un cliente SSH desde la red A. Desde una terminal se usa el parámtro -D para port forwarding dynamic.
ssh -D <puerto-origen-dinámico-escucha> <servidor-ssh>
ssh -D 9090 mi.servidorssh.com
Si
el servidor remoto SSH al que nos conectamos para realizar el pivoting
del primer salto (mi.servidorssh.com) está expuesto por otro puerto que
no sea el 22 por defecto, podemos especificarlo con el parámetro "-p <puerto-servidor-ssh>".
- Cliente SSH (Red A): 172.16.0.20
- Servidor SSH (Red B): 192.168.0.15
Fuentes:
https://www.zonasystem.com/2019/01/tunel-ssh-port-forwarding-local-remote-dynamic.html
0 comentarios :
Publicar un comentario
Los comentarios pueden ser revisados en cualquier momento por los moderadores.
Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.
Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.