Los puertos son lugares virtuales en un sistema operativo en el que empiezan y terminan las conexiones de red. Ayudan a los ordenadores a clasificar el tráfico de red que reciben.
Después de leer este artículo podrás:
Contenido relacionado
Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar enlace del artículo
Un puerto es un punto virtual en el que comienzan y terminan las conexiones de red. Los puertos están basados en software y los gestiona el sistema operativo de un ordenador. Cada puerto está asociado a un proceso o servicio específico. Los puertos permiten a los ordenadores diferenciar fácilmente los distintos tipos de tráfico: los correos electrónicos van a un puerto distinto de las páginas web, por ejemplo, aunque ambos lleguen a un ordenador a través de la misma conexión a Internet.
Los puertos están estandarizados en todos los dispositivos conectados a redes, y cada puerto tiene asignado un número. La mayoría de los puertos están reservados para ciertos protocolos, por ejemplo, todos los mensajes del Protocolo de transferencia de hipertexto (HTTP) se dirigen al puerto 80. Mientras que las direcciones IP permiten que los mensajes vayan hacia y desde dispositivos específicos, los números de puerto permiten dirigirse a servicios o aplicaciones específicos en esos dispositivos.
Por una misma conexión de red fluyen tipos de datos muy diferentes hacia y desde un ordenador. El uso de puertos ayuda a los ordenadores a saber qué hacer con los datos que reciben.
Supongamos que Bob transfiere una grabación de audio en MP3 a Alice mediante el protocolo de transferencia de archivos (FTP). Si el ordenador de Alice pasara los datos del archivo MP3 a la aplicación de correo electrónico de Alice, esta no sabría cómo interpretarlos. Pero ya que la transferencia de archivos de Bob utiliza el puerto designado para FTP (puerto 21), el ordenador de Alice es capaz de recibir y almacenar el archivo.
Entretanto, el ordenador de Alice puede cargar de forma simultánea páginas web HTTP utilizando el puerto 80, aunque tanto los archivos de la página web como el archivo de sonido MP3 circulan hacia el ordenador de Alice a través de la misma conexión WiFi.
El Modelo OSI es un modelo conceptual de cómo funciona Internet. Divide los diferentes servicios y procesos de Internet en 7 capas. Estas capas son:
Los puertos son un concepto de la capa de transporte (capa 4). Solo un protocolo de transporte como el Protocolo de control de transmisión (TCP) o el Protocolo de datagrama de usuarios (UDP) puede indicar a qué puerto debe ir un paquete. Las cabeceras de TCP y UDP tienen una sección para indicar los números de puerto. Los protocolos de la capa de red, por ejemplo, el Protocolo de Internet (IP), no saben qué puerto está en uso en una determinada conexión de red. En una cabecera de IP estándar, no hay lugar para indicar a qué puerto debe ir el paquete de datos. Las cabeceras de IP solo indican la dirección IP de destino, no el número de puerto en esa dirección IP.
Normalmente, la imposibilidad de indicar el puerto en la capa de red no tiene impacto en los procesos de red, ya que los protocolos de la capa de red casi siempre se utilizan junto con un protocolo de la capa de transporte. Sin embargo, esto repercute en la funcionalidad del software de pruebas, que es el software que "comprueba la disponibilidad" de las direcciones IP de usando paquetes del Protocolo de control de mensajes de Internet (ICMP). El ICMP es un protocolo de capa de red que puede diagnosticar la disponibilidad de los dispositivos conectados a la red, pero sin la posibilidad de hacerlo para puertos concretos, los administradores de la red no pueden probar servicios específicos en esos dispositivos.
Algunos programas de diagnóstico de red, como My Traceroute, ofrecen la opción de enviar paquetes de UDP. El UDP es un protocolo de capa de transporte que puede especificar un puerto concreto, a diferencia del ICMP, que no puede especificar un puerto. Al añadir una cabecera de UDP a los paquetes ICMP, los administradores de la red pueden probar puertos específicos en un dispositivo en red.
Un firewall es un sistema de seguridad de la red que bloquea o permite el tráfico de la red en función de unas normas de seguridad. Los firewalls usualmente se localizan entre una red de confianza y una red que no es de confianza; a menudo, la red que no es de confianza es Internet. Por ejemplo, las redes de la oficina a menudo utilizan un firewall para proteger sus redes de las amenazas en línea.
Algunos atacantes intentan enviar tráfico malicioso a puertos aleatorios con la esperanza de que esos puertos se hayan dejado "abiertos", lo que significa que pueden recibir tráfico. Esta acción es algo así como si un ladrón de coches caminara por la calle e intentara abrir las puertas de los vehículos aparcados, con la esperanza de que alguna de ellas estuviera abierta. Por esta razón, los firewalls deben estar configurados para bloquear el tráfico de red dirigido a la mayoría de los puertos disponibles. No hay ninguna razón legítima para que la gran mayoría de los puertos disponibles reciban tráfico.
Los firewalls que están correctamente configurados bloquean el tráfico a todos los puertos por defecto, excepto a unos pocos puertos predeterminados que se sabe que son de uso común. Por ejemplo, un firewall corporativo podría dejar solo abiertos los puertos 25 (correo electrónico), 80 (tráfico web), 443 (tráfico web) y algunos otros, permitiendo que los empleados usen estos servicios esenciales, y luego bloquean el resto de los más de 65 000 puertos.
Como ejemplo más concreto, en ocasiones los atacantes intentan aprovechar las vulnerabilidades del protocolo RDP enviando un ataque de tráfico al puerto 3389. Para detener estos ataques, un firewall puede bloquear el puerto 3389 por defecto. Debido a que este puerto solo se utiliza para las conexiones de escritorio remoto, esta regla tiene poco impacto en las operaciones diarias de la empresa, a menos que los empleados necesiten trabajar en remoto.
Hay 65 535 números de puerto posibles, aunque no todos son de uso común. Algunos de los puertos más utilizados, junto con su protocolo de red asociado, son:
La Internet Assigned Numbers Authority (IANA) mantiene la lista completa de números de puerto y protocolos asignados a los mismos.