stringtranslate.com

Reenvío de puertos

Reenvío de puertos a través del enrutador NAT

En las redes de computadoras , el reenvío de puertos o el mapeo de puertos es una aplicación de traducción de direcciones de red (NAT) que redirige una solicitud de comunicación de una combinación de dirección y número de puerto a otra mientras los paquetes atraviesan una puerta de enlace de red, como un enrutador o un firewall . Esta técnica se utiliza más comúnmente para hacer que los servicios en un host que reside en una red (interna) protegida o enmascarada estén disponibles para los hosts en el lado opuesto de la puerta de enlace (red externa), reasignando la dirección IP de destino y el número de puerto de la comunicación a un anfitrión interno. [1] [2]

Objetivo

El reenvío de puertos facilita la conexión de computadoras remotas, por ejemplo, servidores de Internet , a una computadora o servicio específico dentro de una red de área local (LAN). [3]

En una red residencial típica, los nodos obtienen acceso a Internet a través de un módem DSL o de cable conectado a un enrutador o traductor de direcciones de red (NAT/NAPT). Los hosts de la red privada están conectados a un conmutador Ethernet o se comunican a través de una LAN inalámbrica . La interfaz externa del dispositivo NAT está configurada con una dirección IP pública. Las computadoras detrás del enrutador, por otro lado, son invisibles para los hosts en Internet, ya que cada una se comunica solo con una dirección IP privada.

Al configurar el reenvío de puertos, el administrador de la red reserva un número de puerto en la puerta de enlace para el uso exclusivo de la comunicación con un servicio en la red privada, ubicado en un host específico. Los hosts externos deben conocer este número de puerto y la dirección de la puerta de enlace para comunicarse con el servicio interno de la red. A menudo, los números de puerto de servicios de Internet conocidos, como el número de puerto 80 para servicios web (HTTP), se utilizan en el reenvío de puertos, de modo que se puedan implementar servicios de Internet comunes en hosts dentro de redes privadas.

Las aplicaciones típicas incluyen las siguientes:

Los administradores configuran el reenvío de puertos en el sistema operativo de la puerta de enlace. En los kernels de Linux , esto se logra mediante reglas de filtrado de paquetes en los componentes del kernel iptables o netfilter . Los sistemas operativos BSD y macOS anteriores a Yosemite (OS 10.10.X) lo implementan en el módulo Ipfirewall (ipfw), mientras que los sistemas operativos macOS que comienzan con Yosemite lo implementan en el módulo Packet Filter (pf).

Cuando se utiliza en dispositivos de puerta de enlace, se puede implementar un reenvío de puerto con una sola regla para traducir la dirección y el puerto de destino. (En los kernels de Linux , esta es la regla DNAT). En este caso, la dirección y el puerto de origen no se modifican. Cuando se utiliza en máquinas que no son la puerta de enlace predeterminada de la red, la dirección de origen debe cambiarse para que sea la dirección de la máquina traductora, o los paquetes pasarán por alto al traductor y la conexión fallará.

Cuando un proceso de proxy implementa un reenvío de puerto (como en firewalls de capa de aplicación, firewalls basados ​​en SOCKS o mediante servidores proxy de circuito TCP), en realidad no se traducen paquetes, solo se envían datos. Esto generalmente resulta en que la dirección de origen (y el número de puerto) se cambien a la de la máquina proxy.

Por lo general, solo uno de los hosts privados puede usar un puerto reenviado específico a la vez, pero a veces es posible realizar una configuración para diferenciar el acceso según la dirección de origen del host de origen.

Los sistemas operativos tipo Unix a veces utilizan el reenvío de puertos, donde los números de puerto inferiores a 1024 solo pueden crearse mediante software que se ejecuta como usuario root. Ejecutar con privilegios de superusuario (para vincular el puerto) puede ser un riesgo de seguridad para el host; por lo tanto, el reenvío de puertos se utiliza para redirigir un puerto con un número bajo a otro puerto con un número alto, de modo que el software de la aplicación pueda ejecutarse como un sistema operativo común. usuario del sistema con privilegios reducidos.

El protocolo Universal Plug and Play (UPnP) proporciona una función para instalar automáticamente instancias de reenvío de puertos en puertas de enlace de Internet residenciales. UPnP define el Protocolo de dispositivo de puerta de enlace de Internet (IGD), que es un servicio de red mediante el cual una puerta de enlace de Internet anuncia su presencia en una red privada a través del Protocolo simple de descubrimiento de servicios (SSDP). Una aplicación que proporciona un servicio basado en Internet puede descubrir dichas puertas de enlace y utilizar el protocolo UPnP IGD para reservar un número de puerto en la puerta de enlace y hacer que la puerta de enlace reenvíe paquetes a su conector de escucha .

Tipos

El reenvío de puertos se puede distinguir por los siguientes tipos específicos: reenvío de puertos local, remoto y dinámico. [4]

Reenvío de puertos locales

El reenvío de puertos local es el tipo más común de reenvío de puertos. Se utiliza para permitir que un usuario se conecte desde la computadora local a otro servidor, es decir, reenviar datos de forma segura desde otra aplicación cliente que se ejecuta en la misma computadora que un cliente Secure Shell (SSH). Al utilizar el reenvío de puertos local, se pueden evitar los cortafuegos que bloquean determinadas páginas web. [5]

Las conexiones desde un cliente SSH se reenvían, a través de un servidor SSH, al servidor de destino previsto. El servidor SSH está configurado para redirigir datos desde un puerto específico (que es local para el host que ejecuta el cliente SSH) a través de un túnel seguro a algún host y puerto de destino especificado. El puerto local está en la misma computadora que el cliente SSH y este puerto es el "puerto reenviado". En la misma computadora, cualquier cliente que quiera conectarse al mismo host y puerto de destino se puede configurar para conectarse al puerto reenviado (en lugar de directamente al host y puerto de destino). Una vez establecida esta conexión, el cliente SSH escucha en el puerto reenviado y dirige todos los datos enviados por las aplicaciones a ese puerto, a través de un túnel seguro hasta el servidor SSH. El servidor descifra los datos y luego los redirige al host y al puerto de destino. [6]

Algunos usos del reenvío de puertos locales:

Reenvío de puerto remoto

Esta forma de reenvío de puertos permite que las aplicaciones en el lado del servidor de una conexión Secure Shell (SSH) accedan a los servicios que residen en el lado del cliente de SSH. [8] Además de SSH, existen esquemas de túneles propietarios que utilizan el reenvío de puertos remotos para el mismo propósito general. [9] En otras palabras, el reenvío de puertos remoto permite a los usuarios conectarse desde el lado del servidor de un túnel, SSH u otro, a un servicio de red remoto ubicado en el lado del cliente del túnel.

Para utilizar el reenvío de puertos remoto, se deben conocer la dirección del servidor de destino (en el lado del cliente del túnel) y dos números de puerto. Los números de puerto elegidos dependen de la aplicación que se vaya a utilizar.

El reenvío de puertos remoto permite que otras computadoras accedan a aplicaciones alojadas en servidores remotos. Dos ejemplos:

Reenvío de puertos dinámico

El reenvío dinámico de puertos (DPF) es un método bajo demanda para atravesar un firewall o NAT mediante el uso de orificios de firewall. El objetivo es permitir que los clientes se conecten de forma segura a un servidor confiable que actúa como intermediario con el fin de enviar/recibir datos a uno o varios servidores de destino. [11]

DPF se puede implementar configurando una aplicación local, como SSH, como servidor proxy SOCKS, que se puede utilizar para procesar transmisiones de datos a través de la red o de Internet. Los programas, como los navegadores web, deben configurarse individualmente para dirigir el tráfico a través del proxy, que actúa como un túnel seguro hacia otro servidor. Una vez que ya no se necesita el proxy, los programas deben reconfigurarse a sus configuraciones originales. Debido a los requisitos manuales del DPF, no se utiliza con frecuencia. [6]

Una vez establecida la conexión, DPF se puede utilizar para proporcionar seguridad adicional a un usuario conectado a una red que no es de confianza. Dado que los datos deben pasar a través del túnel seguro a otro servidor antes de ser reenviados a su destino original, el usuario está protegido contra el rastreo de paquetes que pueda ocurrir en la LAN. [12]

El DPF es una herramienta poderosa con muchos usos; por ejemplo, un usuario conectado a Internet a través de una cafetería, un hotel o una red mínimamente segura puede desear utilizar DPF como forma de proteger sus datos. DPF también se puede utilizar para evitar firewalls que restringen el acceso a sitios web externos, como en redes corporativas.

Ver también

Referencias

  1. ^ "Definición de: reenvío de puertos". Revista PC . Archivado desde el original el 3 de junio de 2012 . Consultado el 11 de octubre de 2008 .
  2. ^ Rory Krause. "Uso del reenvío de puertos ssh para imprimir en ubicaciones remotas". Diario de Linux . Consultado el 11 de octubre de 2008 .
  3. ^ Jeff "Crash" Goldin. "Cómo configurar un servidor web doméstico". Sombrero rojo . Archivado desde el original el 4 de octubre de 2008 . Consultado el 11 de octubre de 2008 .
  4. ^ Reenvío de puertos OpenSSH
  5. ^ "Reenvío de puertos locales y remotos y reflexión para un cliente de TI seguro 7.1 o superior - Nota técnica 2433". Soporte.attachmate.com. 09/11/2012 . Consultado el 30 de enero de 2014 .
  6. ^ abc "SSH/OpenSSH/PortForwarding - Documentación de la comunidad Ubuntu". Ayuda.ubuntu.com. 2013-12-13 . Consultado el 30 de enero de 2014 .
  7. ^ "Ejemplo: uso del reenvío de puerto local para recibir correo (Guía de administración del sistema: servicios de seguridad)". Docs.oracle.com . Consultado el 30 de enero de 2014 .
  8. ^ "Túnel con Secure Shell - Apéndice A: Reenvío de puertos remotos". Vandyke.com. 2005-06-12 . Consultado el 30 de enero de 2014 .
  9. ^ "Reenvío de puertos local versus remoto". RedActiva . Archivado desde el original el 4 de noviembre de 2016 . Consultado el 8 de junio de 2014 .
  10. ^ "Número de puerto FTP 21 - Puerto 21 TCP". Compnetworking.about.com. 2013-12-19. Archivado desde el original el 3 de febrero de 2014 . Consultado el 30 de enero de 2014 .
  11. ^ "Mecanismo DPF". Páginas.cs.wisc.edu . Consultado el 30 de enero de 2014 .
  12. ^ "Reenvío de puertos dinámicos SSH (vídeos tutoriales de InfoSec de la serie ilustrada sobre piratería)". Irongeek.com . Consultado el 30 de enero de 2014 .

enlaces externos