Principales puertos TCP y UDP y para qué sirven cada uno de ellos

Principales puertos TCP y UDP y para qué sirven cada uno de ellos

Oscar Espinosa

Hoy en día casi todo el mundo en su domicilio, trabajo, o lugar de ocio, dispone de conexión a internet a través de un router. Para comunicarnos extremo a extremo necesitamos usar lo que denomina puerto, ya que TCP y UDP se ubican en la capa de transporte de la pila de protocolos TCP/IP. Hay una serie de puertos bien conocidos que sirven para aplicaciones específicas, y otros puertos que son utilizados por diferentes software como juegos, servicios online etc. En RedesZone veremos los puertos más usados, qué aplicación los usa y para qué sirven.

Cualquier aplicación o servicio que usemos, desde videojuegos, gestores de correo electrónico, mensajería instantánea o incluso el propio sistema operativo, siempre tienen una serie de puertos abiertos transmitiendo o escuchando lo que sucede a su alrededor.

 

¿Qué son los puertos?

Antes de saber qué tipos de puertos hay y para qué se utiliza cada uno, es aconsejable tener bien claro qué es son los puertos en el router.

Para que se entienda de manera sencilla, un puerto se refiere a un punto de conexión específico en un dispositivo, como un router, que se utiliza para dirigir el tráfico de red entrante y saliente.

Cada puerto, está asociado virtualmente a un número y estos números, a su vez se dividen en diferentes categorías. La asignación de estos números es muy importante para garantizar una conexión ordenada y eficiente entre los diferentes dispositivos de la red.

Si pensamos en un router, los puertos se utilizan para direccionar el tráfico de manera específica a aplicaciones concretas y servicios específicos. Por ejemplo, cuando envías una solicitud a un servidor web, el router recibe la solicitud en un puerto específico, como el 80 para HTTP o el 443 para HTTPS. Luego, el router redirige la solicitud al dispositivo correcto en la red interna donde estás conectado.

Además, cada puerto, tiene su propia función y dará mejores resultados para según qué servicio. Para el correo electrónico, por ejemplo, se utiliza el puerto 25. Por otro lado, los puertos privados permiten la comunicación interna dentro de la propia red sin que haya interferencias externas que puedan interrumpir la comunicación.

Al igual que también hay muchos puertos virtuales. Se pueden encontrar con números de puerto que van del 0 al 65535. Y es que los protocolos de Internet TCP y UDP deciden a qué proceso se envía el paquete de datos. Hay que tener en cuenta que esto se basa en un esquema servidor cliente.

 

¿Qué tipos de puerto hay?

Imagina que los puertos son como ventanas virtuales que permiten que la información entre y salga en un ordenador. Hay dos tipos principales de protocolos que se usan en Interntet: TCP y UDP.

Por un lado, el protocolo TCP es como el correo postal. Cuando enviamos información importante, como un correo electrónico, donde no podemos permitirnos una pérdida de datos, usamos TCP. Es muy confiable porque asegura que todos los datos lleguen en el orden correcto y sin errores. Como si cada paquete de datos tuviera un recibo de entrega.

Y, por otro lado, el protocolo UDP es más rápido pero menos confiable. Se utiliza para actividades como transmisiones de vídeo en directo o para juegos online, donde la pérdida de algunos datos no supone un gran problema. Como una conversación telefónica, donde puedes perder algunas palabras, pero esto no supone un problema en la recepción del mensaje.

Una de las diferentes más claras entre estos dos puertos es que la entrega en sí no está garantizada. Es decir, el puerto UDP se usa con el fin de enviar un datagrama del remitente al supuesto receptor, el cual se entrega en un paquete IP. Por lo tanto, los números de puertos son los que marcan la diferencia significativa entre un datagrama UDP y el paquete IP. En cambio, por culpa de la falta de garantía de la correspondiente entrega, el puerto TCP es la que se elige para aquellos servicios en los que es necesario que el envío de los datos sea de manera segura y confiable. Como puede ser el caso de emails o sitios web.

 

Principales puertos TCP

Cuando necesitamos acceder a un servicio desde Internet, es totalmente necesario abrir un puerto en nuestro router. Actualmente disponemos de dos protocolos en la capa de transporte, TCP y UDP, por tanto, dependiendo del tipo de servicio que queramos utilizar, tendremos que abrir el puerto TCP o UDP, aunque también podría haber servicios que necesiten abrir un puerto TCP y UDP simultáneamente.

El protocolo TCP es un protocolo conectivo, fiable y orientado a conexión, esto significa que es capaz de retransmitir los segmentos de paquetes en caso de que haya alguna pérdida desde el origen al destino. El protocolo TCP para establecer la conexión realiza el 3-way handshake, con el objetivo de que la conexión sea lo más fiable posible. Si estamos utilizando algún protocolo en la capa de aplicación como HTTP, FTP o SSH que todos ellos utilizan el protocolo TCP, en la primera comunicación se realizará este intercambio de mensajes.

Si vas a montar en tu casa, oficina o empresa algún tipo de servidor, como un servidor FTP, SSH o OpenVPN, entonces deberás abrir uno o varios puertos para poder hacer uso de estos servicios y acceder desde Internet. Actualmente todos los routers hacen NAT con la IP pública, por tanto, es completamente necesario abrir puertos en la NAT, o mejor dicho, realizar el reenvío de puertos (port forwarding) para que sean accesibles desde Internet. A continuación, podrás ver un completo listado de los principales puertos TCP que usan muchos protocolos de la capa de aplicación y también aplicaciones:

  • Puerto 0: TCP en realidad no usa el puerto 0 para la comunicación de red, pero este puerto es bien conocido por los programadores de redes. Los programas de socket TCP usan el puerto 0 por convención para solicitar que el sistema operativo elija y asigne un puerto disponible. Esto evita que un programador tenga que elegir («codificar») un número de puerto que podría no funcionar bien para la situación.
  • Puerto 21: El puerto 21 por norma general se usa para las conexiones a servidores FTP en su canal de control, siempre que no hayamos cambiado el puerto de escucha de nuestro servidor FTP o FTPES.
  • Puerto 22: Por normal general este puerto se usa para conexiones seguras SSH y SFTP, siempre que no hayamos cambiado el puerto de escucha de nuestro servidor SSH.
  • Puerto 23: Telnet, sirve para establecer conexión remotamente con otro equipo por la línea de comandos y controlarlo. Es un protocolo no seguro ya que la autenticación y todo el tráfico de datos se envía sin cifrar.
  • Puerto 25:  El puerto 25 es usado por el protocolo SMTP para él envió de correos electrónicos, también el mismo protocolo puede usar los puertos 26 y 2525.
  • Puerto 53: Es usado por el servicio de DNS, Domain Name System.
  • Puerto 80: Este puerto es el que se usa para la navegación web de forma no segura HTTP.
  • Puerto 101: Este puerto es usado por el servicio Hostname y sirve para identificar el nombre de los equipos.
  • Puerto 110: Este puerto lo usan los gestores de correo electrónico para establecer conexión con el protocolo POP3.
  • Puerto 123: Es un puerto utilizado por el NTP o Protocolo de tiempo en red, es uno de los protocolos más importantes a nivel de redes, ya que se utiliza para mantener los dispositivos sincronizados en Internet. Podemos incluso considerarlo vital, ya que, debido a la precisión de los relojes, facilitan mucho la interrelación de problemas de un dispositivo a otro.
  • Puertos 137, 138 y 139: Estos puertos son utilizados por el Protocolo NetBIOS o NBT, lo habréis escuchado mucho si trabajáis en redes en Windows, ya que ha sido durante mucho tiempo el protocolo TCP principal para interconectar los equipos que están bajo este sistema operativo, lógicamente se utiliza en la mayoría de las veces en combinación con el IP utilizando así la famosa combinación TCP/IP que todos conocemos en este mundillo.
  • Puerto 143: El puerto 143 lo usa el protocolo IMAP que es también usado por los gestores de correo electrónico.
  • Puerto 179: Es el puerto utilizado por el Protocolo de puerta de enlace fronteriza o BGP por sus siglas en inglés, es otro protocolo muy importante a nivel de redes, ya que, en su mayoría, es utilizado por los proveedores de servicio para ayudar a mantener las enormes tablas de enrutamiento que existen hoy en día. También es utilizado para procesar las inmensas cantidades de tráfico en las redes, por lo que es uno de los protocolos más utilizados en las redes públicas.
  • Puerto 194: Aunque herramientas como aplicaciones de mensajería para teléfonos inteligentes y servicios como Slack y Microsoft Teams han reducido el uso de Internet Relay Chat, IRC sigue siendo popular entre personas de todo el mundo. Por defecto, IRC usa el puerto 194.
  • Puerto 443: Este puerto es también para la navegación web, pero en este caso usa el protocolo HTTPS que es seguro y utiliza el protocolo TLS por debajo.
  • Puerto 445: Este puerto es compartido por varios servicios, entre el más importante es el Active Directory.
  • Puerto 587: Este puerto lo usa el protocolo SMTP SSL y, al igual que el puerto anterior sirve para el envío de correos electrónicos, pero en este caso de forma segura.
  • Puerto 591: Es usado por Filemaker en alternativa al puerto 80 HTTP.
  • Puerto 853: Es utilizado por DNS over TLS.
  • Puerto 990: Si utilizamos FTPS (FTP Implícito) utilizaremos el puerto por defecto 990, aunque se puede cambiar.
  • Puerto 993: El puerto 993 lo usa el protocolo IMAP SSL que es también usado por los gestores de correo electrónico para establecer la conexión de forma segura.
  • Puerto 995: Al igual que el anterior puerto, sirve para que los gestores de correo electrónico establezcan conexión segura con el protocolo POP3 SSL.
  • Puerto 1194: Este puerto está tanto en TCP como en UDP, es utilizado por el popular protocolo OpenVPN para las redes privadas virtuales.
  • Puerto 1723: Es usado por el protocolo de VPN PPTP.
  • Puerto 1812: se utiliza tanto con TCP como con UDP, y sirve para autenticar clientes en un servidor RADIUS.
  • Puerto 1813: se utiliza tanto con TCP como con UDP, y sirve para el accounting en un servidor RADIUS.
  • Puerto 2049: es utilizado por el protocolo NFS para el intercambio de ficheros en red local o en Internet.
  • Puertos 2082 y 2083: es utilizado por el popular CMS cPanel para la gestión de servidores y servicios, dependiendo de si se usa HTTP o HTTPS, se utiliza uno u otro.
  • Puerto 3074: Lo usa el servicio online de videojuegos de Microsoft Xbox Live.
  • Puerto 3306: Puerto usado por las bases de datos MySQL.
  • Puerto 3389: Es el puerto que usa el escritorio remoto de Windows, muy recomendable cambiarlo.
  • Puerto 4662 TCP y 4672 UDP: Estos puertos los usa el mítico programa eMule, que es un programa para descargar todo tipo de archivos.
  • Puerto 4899: Este puerto lo usa Radmin, que es un programa para controlar remotamente equipos.
  • Puerto 5000: es el puerto de control del popular protocolo UPnP, y que por defecto, siempre deberíamos desactivarlo en el router para no tener ningún problema de seguridad.
  • Puertos 5400, 5500, 5600, 5700, 5800 y 5900: Son usados por el programa VNC, que también sirve para controlar equipos remotamente.
  • Puertos 6881 y 6969: Son usados por el programa BitTorrent, que sirve para e intercambio de ficheros.
  • Puerto 8080: es el puerto alternativo al puerto 80 TCP para servidores web, normalmente se utiliza este puerto en pruebas.
  • Puertos 51400: Es el puerto utilizado de manera predeterminada por el programa Transmission para descargar archivos a través de la red BitTorrent.
  • Puerto 25565: Puerto usado por el famoso videojuego Minecraft.

Un aspecto muy importante de los puertos TCP, es que existe un rango de puertos desde el 49152 al 65535 que son los puertos efímeros, es decir, con cada conexión de origen que nosotros realicemos, se utilizan estos puertos que son dinámicos. Por ejemplo, si realizamos una petición a una web, el puerto de origen estará en este rango 49152-65535, y el puerto de destino será el 80 (HTTP) o 443 (HTTPS).

Otro detalle muy importante, es que, si utilizas el protocolo FTP, hoy en día se utiliza siempre FTP PASV, por lo que no solamente es necesario abrir el puerto TCP 21 para control, sino que deberemos abrir un rango de puertos para el intercambio de archivos entre el cliente FTP y el servidor FTP, de lo contrario, no podremos empezar a realizar las transferencias de datos.

No obstante, hay que tener otros puntos en cuenta, como es el caso de que no ofrece una separación entre las diferentes interfaces, protocolos o servicios, al igual que fue desarrollado de primeras en redes de área amplia. Por lo que no está realmente optimizado para redes más pequeñas como LAN o PAN.

En cualquier caso, estos serían los puertos más usados e importantes cuando hacen uso del protocolo TCP. En los equipos siempre los tendremos abiertos a no ser que un firewall lo esté cerrando explícitamente, pero en el router deberemos abrir todos estos puertos (port-forwarding o también conocido como reenvío de puertos) ya que estamos en un entorno NAT, y todos los puertos están cerrados.

 

Principales puertos UDP

  • Puerto 23: Este puerto es usado en dispositivos Apple para su servicio de Facetime.
  • Puerto 53: Es utilizado para servicios DNS, este protocolo permite utilizar tanto TCP como UDP para la comunicación con los servidores DNS.
  • Puerto 67: Los servidores del Protocolo de configuración dinámica de host usan el puerto UDP 67 para escuchar las solicitudes.
  • Puerto 68: Por su parte los clientes DHCP se comunican en el puerto UDP 68.
  • Puerto 69: Este puerto es utilizado sobre todo por el Protocolo trivial de transferencia de archivos o TFTP, dicho protocolo es el que nos ofrece un método para transferir nuestros archivos, pero sin tantos requisitos para el establecimiento de sesiones como podría por ejemplo utilizar el FTP. Cabe destacar que al utilizar UDP en lugar de TCP, este protocolo no puede garantizar de ninguna forma que nuestros archivos hayan sido transferidos de manera correcta, por lo que el dispositivo al que lo estamos enviando, debe tener la capacidad de verificar que dicha transferencia se ha realizado adecuadamente.
  • Puerto 88: El servicio de juegos en red de Xbox utiliza varios números de puerto diferentes, incluido el puerto UDP 88.
  • Puerto 161: De manera predeterminada, el Protocolo simple de administración de redes usa el puerto UDP 161 para enviar y recibir solicitudes en la red que se administra.
  • Puerto 162: Se utiliza el puerto UDP 162 como predeterminado para recibir capturas SNMP desde dispositivos administrados.
  • Puerto 500: este puerto es utilizado por el protocolo de VPN IPsec, concretamente se usa por ISAKMP para la fase 1 del establecimiento de la conexión con IPsec.
  • Puerto 514: Es usado por Syslog, el log del sistema operativo.
  • Puerto 1194: este puerto es el predeterminado del protocolo OpenVPN, aunque también se puede utilizar el protocolo TCP. Lo más normal es usar UDP 1194 porque es más rápido a la hora de conectarnos y también de transferencia, obtendremos más ancho de banda.
  • Puerto 1701: Es usado por el protocolo de VPN L2TP.
  • Puerto 1812: se utiliza tanto con TCP como con UDP, y sirve para autenticar clientes en un servidor RADIUS.
  • Puerto 1813: se utiliza tanto con TCP como con UDP, y sirve para el accounting en un servidor RADIUS.
  • Puerto 4500: este puerto también es utilizado por el protocolo de VPN IPsec, se utiliza este puerto para que el funcionamiento de la NAT sea perfecto. Este puerto se utiliza en la fase 2 del establecimiento IPsec, pero también tenemos que tener abierto el puerto UDP 500.
  • Puerto 51871: es utilizado por el protocolo de VPN Wireguard de manera predeterminada.

Cabe destacar que los números de puerto TCP y UDP entre 1024 y 49151 se denominan puertos registrados, la Autoridad de Números Asignados de Internet mantiene una lista de servicios que utilizan estos puertos para minimizar los usos conflictivos.

A partir de estos numeros en adelante y a diferencia de los puertos con números más bajos, los desarrolladores de nuevos servicios TCP/UDP pueden seleccionar un número específico para registrarse con IANA en lugar de que se les asigne un número. El uso de puertos registrados también evita las restricciones de seguridad adicionales que los sistemas operativos imponen a los puertos con números más bajos.

Tal y como habéis visto, tenemos una gran cantidad de puertos TCP y UDP que utilizaremos muy a menudo. Estos son los principales puertos que podemos utilizar para los diferentes servicios, no obstante, hay cientos de puertos TCP y UDP más que utilizan diferentes aplicaciones, pero estos son los más importantes y utilizados.

 

Puertos más utilizados

Como puedes ver, existen gran cantidad de puertos en Internet que se utilizan para las diferentes aplicaciones y servicios que nos podemos encontrar y utilizar. Cada uno de ellos tiene su función específica en la transmisión de datos. Pero hay algunos de ellos, los cuales tienen un índice de uso mucho más alto que los demás, lo cual los convierte en los más utilizados. Estos son:

  • Puerto 80: Es el puerto utilizado por HTTP, el protocolo de transferencia de hipertexto que se utiliza para acceder a todas las páginas web. La mayoría de los sitios web lo utilizan para transmitir todo su contenido.
  • Puerto 443: Es el puerto utilizado por HTTPS, el protocolo de transferencia de hipertexto seguro. Permite la transmisión segura de datos por toda la red y se utiliza para transacciones en línea, como compras, transacciones bancarias, bolsa, entre otros.
  • Puerto 21: Es el puerto utilizado por el protocolo FTP (File Transfer Protocol), que se utiliza para la transferencia de archivos entre dispositivos en una red. Su uso principal es para la transferencia de archivos grandes, como imágenes o videos entre otros archivos.
  • Puerto 22: Es el puerto utilizado por el protocolo SSH (Secure Shell), que se utiliza para la conexión segura a un servidor remoto. Es utilizado por los administradores de sistemas para la gestión de servidores, entre otras aplicaciones con funciones similares.
  • Puerto 25: Es el puerto utilizado por el protocolo SMTP (Simple Mail Transfer Protocol), que se utiliza para la transferencia de correo electrónico. Se utiliza para poder enviar correos electrónicos desde un cliente de correo electrónico a un servidor de correo electrónico.
  • Puerto 53 UDP: Es el puerto utilizado por el protocolo DNS (Domain Name System), que se utiliza para traducir nombres de dominio en direcciones IP. Es esencial para la navegación por internet hoy en día, ya que permite que los navegadores web accedan a los sitios web utilizando nombres de dominio y no direcciones IP que son más complicadas.
  • Puerto 110: Es el puerto utilizado por el protocolo POP3 (Post Office Protocol version 3), que se utiliza para recibir correo electrónico en un cliente de correo electrónico. En combinación con el puerto 25.
  • Puerto 161 UDP: se utiliza por el protocolo SNMP para visualizar la configuración y administrar diferentes equipos como routers, switches, y también servidores. Es recomendable cerrarlo si no vas a usarlo.
  • Puerto 4444: este puerto se suele utilizar por parte de troyanos y malware en general, es recomendable tenerlo siempre bloqueado.
  • Puertos 6660-6669: estos puertos es usado por el popular IRC, si no lo usamos, no lo abrimos.
 

Tipos de puertos

CP y UDP hacen referencia al protocolo de la capa de transporte utilizado para la comunicación extremo a extremo entre dos host, los puertos forman parte del propio segmento TCP o datagrama UDP para que la comunicación se establezca correctamente. Podríamos decir que los «puertos» son algo así como las «puertas» hacia un determinado servicio, independientemente de si utilizamos TCP o UDP ya que ambos protocolos hacen uso de los puertos. Los puertos en sí mismos no son peligrosos, un puerto es un puerto y da lo mismo que sea el puerto 22 que el 50505, lo que más importante es el uso que se le da a un puerto, lo peligroso es tener un puerto abierto hacia un servicio de la capa de aplicación que no esté protegido, porque cualquiera se podría conectar a dicho servicio y explotar vulnerabilidades o hackearnos directamente. Por supuesto, siempre es necesario que si exponemos un puerto a Internet, controlemos el tráfico con un IDS/IPS para detectar posibles ataques, y tener el programa que está escuchando en este puerto actualizado.

Tanto en TCP como en UDP tenemos un total de 65535 puertos disponibles, tenemos una clasificación dependiendo del número de puerto a utilizar, ya que algunos puertos son los comúnmente llamados «conocidos», y que están reservados para aplicaciones específicas, aunque hay otros muchos puertos que se utilizan habitualmente por diferentes software para comunicarse tanto a nivel de red local o a través de Internet. También tenemos los puertos registrados, y los puertos efímeros.

  • Puertos conocidos: los puertos conocidos (well-known en inglés) van desde el puerto 0 hasta al 1023, están registrados y asignados por la Autoridad de Números Asignados de Internet (IANA). Por ejemplo, en este listado de puertos está el puerto 20 de FTP-Datos, el puerto 21 de FTP-Control, el puerto 22 de SSH, puerto 23 de Telnet, puerto 80 y 443 para web (HTTP y HTTPS respectivamente), y también el puerto de correo entre otros muchos protocolos de la capa de aplicación.
  • Puertos registrados: los puertos registrados van desde el puerto 1024 hasta al 49151. La principal diferencia de estos puertos, es que las diferentes organizaciones pueden hacer solicitudes a la IANA para que se le otorgue un determinado puerto por defecto, y se le asignará para su uso con una aplicación en concreto. Estos puertos registrados están reservados, y ninguna otra organización podrá registrarlos nuevamente, no obstante, normalmente están como «semireservados», porque si la organización deja de utilizarlo podrá reutilizarse por otra empresa. Un claro ejemplo de puerto registrado es el 3389, se utiliza para las conexiones RDP de Escritorio Remoto en Windows.
  • Puertos efímeros: estos puertos van desde el 49152 hasta el 65535, este rango de puertos se utiliza por los programas del cliente, y están constantemente reutilizándose. Este rango de puertos normalmente se utiliza cuando está transmitiendo a un puerto conocido o reservado desde otro dispositivo, como en el caso de web o FTP pasivo. Por ejemplo, cuando nosotros visitamos una web, el puerto de destino siempre será el 80 o el 443, pero el puerto de origen (para que los datos sepan cómo volver) hace uso de un puerto efímero.
 

Diferentes estados de los puertos

Para determinar el estado de los puertos, podemos utilizar tres términos los cuales varían en función de la configuración de los mismos.

  • Puertos cerrados: Cuando la comunicación es rechazada completamente, por lo cual no generan ningún tráfico entrante o saliente.
  • Puertos filtrados: Todo el tráfico que transcurre por estos, es filtrado por aplicaciones de seguridad como los firewall.
  • Puertos abiertos: Cuando un servicio está escuchando en este puertos, y es accesible desde el exterior.
 

Diferencias de rendimiento

Con TCP estamos ante un protocolo orientado a la conexión. Esto quiere decir que establece la conexión entre dos dispositivos, previamente a enviar los datos. Una vez esta está creada, TCP utiliza procesos de confirmación para poder garantizar que todos los datos se entreguen sin errores y en el orden correcto. Por lo cual es un protocolo confiable y seguro que se utiliza para la transmisión de datos críticos y sensibles, como la información financiera o los correos electrónicos. En cambio, estos procesos de confirmación y verificación de errores tienen un impacto significativo en el rendimiento de la red.

Por lo general, TCP es más lento que UDP y requiere más ancho de banda. Esto ocurre porque cada paquete debe ser confirmado antes de que se envíe el siguiente, aumentando así la cantidad de tiempo que se tarda en realizar los envíos. Al cual tendremos que sumar, los procesos de confirmación.

Por otro lado, con UDP estamos ante un protocolo sin conexión que no requiere una conexión previa entre los dispositivos antes de enviar datos. Esto quiere decir que los paquetes se envían inmediatamente y sin confirmación de recepción.

Esto hace que estemos ante un protocolo rápido y eficiente que se utiliza para aplicaciones en tiempo real, como el streaming de video y audio, videojuegos o videollamadas. Pero a pesar de su rapidez, se trata de un sistema que es menos confiable que TCP. Esto ocurre porque no dispone de una confirmación de recepción, y tampoco contienen mecanismos de corrección de errores. Estos paquetes, se pueden perder o incluso llegar en un orden que no es el adecuado al envío que se ha realizado. Por lo cual puede afectar a la calidad de los datos que se han transmitido, siendo este el motivo por el cual se descarta para otro tipo de comunicaciones.

En definitiva, hay que tener claro que, en términos de rendimiento puro, lo cierto es que los puertos UDP son los que ofrecen una mayor eficiente, siempre en comparación con los puertos TCP. Y todo porque este no pone una conexión antes de la transmisión en sí, por lo que los paquetes se envían de una forma más rápida y con una mejor latencia. Esto hace que, en servicios como los de almacenamiento en la nube en tiempo real, se use más el otro protocolo. Al igual que en otras opciones como videojuegos o transmisiones de vídeo en directo.

 

Por qué es importante abrir puertos

Hemos mostrado los principales puertos tanto TCP como UDP. Ahora vamos a hablar de por qué en ocasiones es importante abrir determinados puertos. Lo es para que la conexión pueda pasar correctamente y lograr así una buena velocidad, evitar cortes y no tener problemas para acceder a ciertos servicios.

 

Jugar por Internet

Un ejemplo claro es para jugar por Internet. Los juegos utilizan determinados puertos para poder establecer una conexión. Para que esa conexión sea veloz y no aparezcan cortes, es necesario saber qué puertos utiliza cada juego y abrirlos en el router. Esto evitará problemas o que incluso no puedas entrar en una partida determinada. Esto es algo que puede ser necesario tanto a la hora de jugar en ordenador como también a través de videoconsolas. Debes informarte bien sobre qué puertos utiliza cada juego y si es necesario o no abrirlos. En algunos routers incluso verás puertos predeterminados en la configuración para abrirlos fácilmente para determinados juegos populares.

Videoconsolas como la PS4, PS5 o xBox pueden requerir de abrir un rango de puertos específico para poder jugar a determinados juegos sin que haya problemas. Podrás encontrar mucha información en Internet, en foros especializados o en la propia página de los videojuegos, donde verás cuáles debes abrir y así poder configurar correctamente tu router.

Velocidad necesaria para jugar online

En cuanto al puerto que los videojuegos van a utilizar, la elección es un proceso crítico. Y lo cierto es que de forma constante es muy incomprendido ante la creación de un videojuego online. En muchos casos, los desarrolladores tienen la capacidad y libertad de poder seleccionar los puertos que van a utilizar para sus servicios online y poder sacar el juego a la comunidad. A menudo, se eligen puertos muy específicos por diferentes razones. Algunos de ellos son bien conocidos y están asociados con un tráfico muy particular de la red. Como puede ser el puerto 80 o el 443. En cambio para evitar todo tipo de conflictos con otros servicios, suelen elegir puertos en rangos de entre 1024 y 49151. Lo cuales se conocen como puertos registrados.

La elección de este puerto, también puede estar muy dictada por diferentes razones, como las convenciones de la industria del videojuego. Algunos juegos multijugador, pueden usar los mismos puertos para que la configuración sea mucho más sencilla para las redes de los jugadores. Y por supuesto, a la hora de resolver problemas también tendremos muchos videojuegos en el mismo puerto. Por lo cual sabemos más o menos hacia donde apuntar en todo caso.

Cabe destacar, que los desarrolladores tienen capacidades para elegir el puerto. Pero es posible que no todos los juegos permitan a los jugadores modificar este parámetro para cambiar de puerto. Esto por lo general tiene sus razones, como puede ser la seguridad, la simplicidad de la conexión, o simplemente que el jugador tenga la experiencia de juego tal cual fue diseñada. Existen varias formas en las cuales los jugadores pueden configurar el router para que en juego funcione mejor. Pero lo más sensato en estos casos, es acudir a la página oficial de la desarrolladora, donde encontraremos en muchas ocasiones la información necesaria con respecto al puerto que utilizan sus videojuegos.

 

Descargas P2P

Algo similar ocurre al utilizar aplicaciones de descargas P2P. Estos programas van a conectarse a determinados puertos para establecer la conexión. Si esos puertos están cerrados, se produciría un cuello de botella y la velocidad de las descargas sería muy limitada y podrías tener problemas para bajar archivos correctamente.

Por ejemplo para usar BitTorrent o uTorrent será necesario tener los puertos abiertos correctamente. En algunos casos no será necesario y no notarás diferencia, pero en otras ocasiones sí que podrás ver que los archivos se descargan mucho más rápido. Aplicaciones de descargas P2P clásicas como eMule incluso mostraban una señal que indicaba que los puertos estaban cerrados y la velocidad de descarga muy limitada.

Especialmente en la descarga de archivos es cuando más interesa que la aplicación aproveche al máximo la capacidad que tiene nuestra conexión. Esto puede ser determinante de cara a que una descarga tarde más o tarde menos en completarse.

 

Programas de mensajería y puertos usados

También puede ser importante a la hora de usar algunas aplicaciones de mensajería, especialmente aquellas para realizar videollamadas como es el caso de Skype. Si los tienes cerrados, tendrías problemas para que la comunicación fuera rápida y podrías sufrir limitaciones importantes. Estos programas necesitan enviar y recibir datos. Si la conexión no es fluida, si aparece algún problema, puedes ver que se corte la comunicación, que el envío de imágenes o vídeos se ralentice o tener problemas incluso para poder iniciar una conversación. Estas herramientas también las podemos utilizar tanto en el ordenador como en otros dispositivos móviles.

Normalmente los puertos se abren automáticamente cuando instalas un programa que lo necesite. Te aparecerá un mensaje donde te pide permisos para abrirlos. Ahora bien, en ocasiones esto no es así y debes abrirlos de forma manual a través de la configuración del router. Esto te permitirá usar esos servicios o juegos sin problemas. Hay que tener en cuenta que, por seguridad, van a estar cerrados hasta que se necesitan.

La manera en la que nos comunicamos ha cambiado mucho gracias a Internet y sin duda las videollamadas son muy utilizadas. Hay muchos programas que podemos usar tanto en dispositivos móviles como en ordenadores, como pueden ser por ejemplo Skype, Meet o Zoom. Sin embargo a veces pueden funcionar mal y es necesario tomar medidas. Normalmente los problemas de conexión de estos programas ocurren por una mala velocidad de Internet, mala configuración del sistema o tener los equipos desactualizados. Pero podría ocurrir que tengamos los puertos cerrados en el router o firewall y eso impida que funcionen al máximo rendimiento. Si esos puertos están cerrados es como si se produjera un cuello de botella. La conexión no entraría con normalidad y no podríamos realizar una videollamada correctamente. Se producirían cortes, mala imagen o incluso la imposibilidad de establecer la comunicación. Por ello, algo que podemos hacer para optimizar las videollamadas es asegurarnos de que los puertos están abiertos. Es importante conocer en todo momento cuáles necesitamos abrir según la aplicación que estemos utilizando, aunque algunos son genéricos.

Vamos a mostrar cuáles son los puertos que debemos tener en cuenta para las principales aplicaciones. Esto nos ayudará a evitar esos molestos cortes cuando veamos que no funciona bien una llamada de vídeo y queramos optimizarlo al máximo.

 

Qué puertos abrir en Skype

Skype es sin duda una de las aplicaciones más usadas para realizar videollamadas. Es un programa que podemos instalar tanto en el ordenador como en el móvil. Si queremos optimizar la señal y que funcione lo mejor posible, más allá de la configuración, de instalar siempre aplicaciones oficiales y seguras, podemos abrir los puertos.

Lo primero es mencionar el puerto genérico 443/TCP. Este es el puerto utilizado para poder realizar una conexión segura y comunicaciones. Utiliza el protocolo HTTPS, algo que es fundamental para cualquier videollamada hoy en día.

Además del puerto genérico 443/TCP que debemos abrir para cualquier programa de videollamadas, los específicos de Skype son los puertos UDP 3478-3481 y 50000-60000 UDP. Estos puertos deben estar abiertos en el firewall. También, como indican desde Skype, para lograr una mejor experiencia de calidad de imagen podemos abrir los puertos 1000-10000, 50000-65000 y 16000-26000 UDP.

Si utilizamos algún programa de seguridad como un cortafuegos, debemos asegurarnos de que está configurado correctamente con estos puertos que hemos mencionado abiertos. Esto permitirá que la conexión sea fluida y que funcione sin cortes.

 

Puertos para que Meet funcione mejor

Otra aplicación para realizar videollamadas muy popular es Meet. Como en el caso anterior, además de configurarlo correctamente, de instalar programas que sean oficiales y mantener siempre la seguridad, también debemos asegurarnos de que los puertos adecuados están abiertos.

Meet necesita que esté abierto el puerto 443 TCP y también los puertos UDP 19302-19309. El primero es el genérico para el tráfico web, las APIs, reportes, subir logs, etc. El resto son puertos encargados del tráfico multimedia, algo fundamental para una llamada de vídeo.

Con estos puertos abiertos podemos asegurarnos de que va a funcionar correctamente la conexión cuando utilicemos Meet. Evitará esos molestos cortes o encontrarnos con que la imagen no es nítida. Lo debemos aplicar sin importar qué tipo de dispositivo estemos utilizando y cuál sea el firewall que hemos instalado.

Meet videollamadas

 

Optimizar Zoom al abrir los puertos

Con Zoom pasa lo mismo que en los casos anteriores. Es también un servicio muy utilizado para poder estar en contacto permanente con otros usuarios, tanto a nivel doméstico como también empresarial. Siempre hay que tener en cuenta la configuración para optimizar el rendimiento, pero también podemos hablar de los puertos.

En primer lugar debemos tener abiertos los puertos 80 y 443 TCP, que son los que va a utilizar la aplicación para la conexión. Son puertos genéricos que suelen estar abiertos, como el 80, que se encarga de permitir la escucha de un servidor HTTP (sin cifrar).

También, como puertos más específicos, debemos abrir los puertos TCP 8801 y 8802, así como los UDP 3478, 3479, 8801 y 8802. Todos ellos van a influir en la conexión y van a permitir que podamos realizar una llamada de vídeo sin tantos problemas.

Zoom va a mejorar la seguridad

 

Abrir puertos para Discord

También queremos hablar de Discord, que es otro programa para realizar videollamadas. Podemos optimizar la conexión si nos aseguramos de tener abiertos determinados puertos, algo fundamental para que no haya cortes y que la imagen llegue nítida.

En este caso los puertos que debemos abrir, además del 443 TCP para las conexiones HTTPS, es el puerto TCP 6463, así como los puertos TCP y UDP 6457-6463. Estos puertos van a ayudar a que las conexiones funcionen de la manera más óptima posible.

Si tenemos configurado un firewall por ejemplo en el ordenador, para poder usar Discord con total normalidad debemos asegurarnos que esos puertos están abiertos en el cortafuegos y no están siendo bloqueados.

 

Puertos que hay que abrir para FaceTime

Otro programa más es FaceTime. También cuenta con muchos usuarios que realizan videollamadas en su día a día. Podemos igualmente asegurarnos de tener los puertos necesarios abiertos para que la conexión funcione correctamente.

En este caso debemos asegurarnos de tener abierto el puerto 443 TCP, además de los puertos 53, 80, 5223 y 16393-16472 UDP. Con ellos podremos conseguir que funcione lo mejor posible y que no aparezcan los temidos cortes cuando hagamos una llamada. Esto puede afectar tanto a FaceTime como a cualquier otra aplicación de este tipo que utilicemos.

En definitiva, estos son los principales puertos que debemos tener abiertos cuando utilicemos aplicaciones de videollamadas como estas que hemos mencionado. Si utilizamos un firewall habrá que configurarlo adecuadamente y que no esté bloqueando la conexión, algo que impediría que la imagen llegue con normalidad.

 

Puertos más utilizados en internet

Ahora que hemos podido ver cuales son los puertos más peligrosos de Internet, también podemos ver los que se utilizan de forma más común. Esto no quiere decir que sean totalmente seguros, pues eso es algo que no existe. Pero si que no son tan peligrosos, siendo utilizados por muchas aplicaciones diferentes de las que nos podemos fiar. Estos puertos son:

  • HTTP: Puerto 80
  • HTTPS: Puerto 443
  • FTP: Puerto 21
  • FTPS/SSH: Puerto 22
  • POP3: Puerto 110
  • POP3 SSL: Puerto 995
  • IMAP: Puerto 143
  • IMAP SSL: Puerto 993
  • SMTP: Puerto 25, pero puede tener alternativas como el 26
  • SMTP SSL: Puerto 587
  • MySQL: Puerto 3306
  • CPanel: Puerto 2082
  • CPanel SSL: Puerto 2083
  • WHM (Webhost Manager): Puerto 2086
  • WHM (Webhost Manager) SSL: Puerto 2087
  • Webmail: Puerto 2095
  • Webmail SSL: Puerto 2096
  • WebDAV/WebDisk: Puerto 2077
  • WebDAV/WebDisk SSL: Puerto 2078

Pero nos podemos fijar en tres principalmente, los cuales son los que acaparan el 65% de todos los ataques que se llevan a cabo en internet. Estos son el 22 SSH, el 80 HTTP y el 443 HTTPS. Esto se ha calculado al analizar más de 130.000 ataques de más de 4000 clientes diferentes. Esto permitió llegar a esta conclusión, que en todo caso vendrá bien conocer siempre. Por lo cual siempre debemos estar prevenidos, incluso si son puertos muy utilizados por aplicaciones fiables. Como vamos a ver a continuación, el contar con la seguridad adecuada en nuestro equipo es muy importante para mantenernos a salvo de cualquier problema que nos encontramos en internet.

Esto no quiere decir que sean los únicos puertos peligrosos. Simplemente son los que más ataques reciben. Realmente nos podemos encontrar una larga lista de puertos, los cuales son tremendamente peligrosos. Ya que permiten a los atacantes no solo acceder a nuestros datos, si no llegar a controlar nuestro equipo de formas muy peligrosas para el contenido que tenemos guardado en el. Por lo cual, no se debe bajar la guardia nunca.

 

Mejoras en los puertos TCP/UDP

Como puedes ver, los puertos TCP y UDP son una parte fundamental en Internet hoy en día. Estos se han utilizado ampliamente para las comunicaciones, durante décadas. Pero a pesar de que se ha demostrado que son eficaces y confiables para tal efecto, es muy importante que continúen evolucionando para poder adaptarse a los cambios y demandas actuales. Esto se debe al aumento exponencial de las aplicaciones que los requiere, así como para los servicios en línea que también son cada vez más.

En el caso de TCP, alguna evolución puede pasar por las mejoras en la eficiencia y velocidad de transferencia de los datos. Para ello muchos desarrolladores exploran diferentes técnicas como puede ser la segmentación y la multiplexación. Estos mejoran los flujos de datos, para así optimizar la transmisión cuando se trata de grandes volúmenes de datos. Por otro lado, también se trabaja en mecanismos para poder controlar la congestión de la red. De forma que esta se hace más efectiva, y garantiza un rendimiento lo más óptimo posible en todos los casos.

En el caso del protocolo UDP, este se ha utilizado mucho en aplicaciones donde se requiere una comunicación muy rápida. Pueden ser videojuegos o transmisiones en tiempo real. En cambio, está falto de mecanismos de control para prevenir errores, y la retransmisión de paquetes limita sus aplicaciones en algunos contextos. Por lo cual una posible evolución en este aspecto, podría ser el implicar la incorporación de mecanismos más selectivos para el control de errores y retransmisión. Lo cual puede permitir que se utilice en aplicaciones donde es muy importante mantener una integridad muy alta en los datos.

Por otro lado, algo en lo que siempre se está evolucionando y mejorando es la seguridad. En los tiempos que corren los datos que se manejan en Internet son más privados que nunca, por lo cual la seguridad es un aspecto que no se puede olvidar nunca. Pero esto es algo que ya se aplica a prácticamente cualquier sistema ya en uno, o en desarrollo.

 

Seguridad para abrir puertos

Siempre y cuando realizamos aperturas de puertos, es muy recomendable contar con algún sistema  de seguridad que sea capaz de analizar el tráfico que fluye por estos en tiempo real. Los ataques a los que nos exponemos al abrir puertos, pueden ser muy peligrosos al proporcionar malware, accesos no autorizados, y ataques DDoS que causan denegaciones de servicio.

Antes de abrir un puerto, debemos estar seguros que realmente es necesario abrirlo para el correcto funcionamiento de alguna aplicación o servicio. Por la contra, si estos no son necesarios, lo más recomendable es dejarlos cerrados, de forma que nada se pueda colar por ellos y generar algún tipo de problema como el robo de información, o una infección del dispositivo.

Por tanto, como has podido ver son varias las circunstancias en las que vas a tener que abrir los puertos del router. Esto permitirá que tu conexión funcione mejor, con más velocidad y evitar ciertos problemas que puedan afectarte a la hora de jugar, descargar o comunicarte a través de aplicaciones. Ahora bien, si realmente no necesitas tener los puertos abiertos lo ideal, por seguridad, es que permanezcan cerrados. Abre únicamente aquellos que sí que vas a necesitar que estén abiertos y así evitarás riesgos innecesarios que puedan afectar a tu seguridad en la red.

 

Por qué algunos puertos TCP y UDP son peligrosos

En la capa de transporte del modelo TCP/IP, disponemos de dos tipos de protocolos: TCP y UDP. Ambos se utilizan constantemente por los diferentes programas y protocolos de la capa de aplicación, como el puerto 80 y 443 para navegar por la web, el puerto 22 para el protocolo SSH, o el popular puerto 1194 para las VPN con OpenVPN. Algunos de estos puertos son bastante peligrosos si no los filtramos correctamente con un firewall, porque podrían realizarnos diferentes tipos de ataques e incluso hackearnos nuestro equipo.

Normalmente cuando abrimos puertos en nuestros routers, es pensando en algún beneficio que estos nos van a dar, bien sea para que alguna aplicación funcione, o mejorar el rendimiento de otra. Pero estos pueden conllevar algunos peligros, los cuales pueden comprometer no solo nuestro equipo, si no todos los dispositivos que se encuentran en la misma red. Si estos puertos se dejan sin supervisión, los ataques a través de estos aumentan considerablemente.

  • Malware, troyanos y accesos: Los puertos abiertos facilitan la comunicación con muchos servicios de internet, y entre ellos los maliciosos. Malware y troyanos son los que más aprovechan este tipo de configuraciones para colarse en las redes y ejecutar servicios no autorizados en los puertos. Algunos de ellos, solo se pueden detectar realizando escaneos muy detallados del sistema. Entre otras cosas, puede quedar expuesta información sensible, robos de credenciales, o que nuestro equipo se pueda manejar de forma remota por un atacante.
  • Exposición de vulnerabilidades: Las herramientas de análisis de redes entran aquí en juego, pues los atacantes las utilizan para crear listados de los puertos abiertos. Luego pueden comunicarse con los servicios que escuchan en los puertos abiertos para encontrar información de nuestro equipo. Todo esto, puede servir para posteriores ataques.
  • Ataques DDoS: Los puertos abiertos facilitan la transferencia de paquetes para toda aquella entidad que use alguno de los puertos. Si una de ellas establece comunicación, ninguna otra podrá usar ese puertos en ese momento, lo cual puede generar ataques de denegación de servicio, lo cual haría que no sea accesible.
 

Puertos de servidores más hackeados

Como sabemos, los servidores son elementales para las conexiones de Internet. Son imprescindibles para juegos, comunicaciones, correo electrónico, páginas web en general. Son muchos los puertos que hay en la red y que permiten acceder a estos servidores, así como al contenido en general. Hay miles de puertos y muchos de ellos tienen funciones concretas. Algunos pueden estar abiertos para que alguna determinada herramienta funcione. En este artículo vamos a ver cuáles son los puertos que suelen ser hackeados más frecuentemente.

Hay determinados protocolos que utilizan un puerto generalmente. Algunos servidores están diseñados para transferir archivos, otros acceder a equipos remotos, intercambiar mensajes, jugar por Internet. Como decimos, hay muchos puertos que están presentes en la red. Hay determinados protocolos que normalmente utilizan uno en concreto. Vamos a ver cuáles son los más atacados, poniéndolos en orden.

  • FTP-21: sin duda uno de los puertos más populares es el 21. Es el que corresponde al protocolo FTP. Permite la transferencia de archivos entre diferentes equipos que estén conectados a una red TCP. Generalmente este protocolo utiliza el puerto 21. Es utilizado para autenticarse en un servidor de forma remota. Los piratas informáticos, dentro de las opciones donde ponen sus miras, tienen muy en cuenta este puerto concreto.
  • SSH-22: otro puerto muy utilizado es el 22 por el protocolo SSH. Está diseñado para controlar y modificar servidores de forma remota a través de la red. Tiene un mecanismo que permite autenticar un usuario y fue creado como un sustituto seguro para Telnet. Hoy en día es uno de los objetivos principales de los ciberdelincuentes. A fin de cuentas, como decimos, ponen sus miras en aquello que es más utilizado y donde por tanto pueden tener más éxito.
  • Telnet-23: aunque se trata de un protocolo antiguo, todavía sigue estando muy presente. Los piratas informáticos pueden poner sus miras también en este puerto 23. Es una herramienta que permite conectarnos en remoto a otro equipo. Muy útil por ejemplo para llevar a cabo una reparación a distancia. Como decimos, es un protocolo antiguo y ha quedado algo en desuso. Precisamente SSH llegó para mejorar la seguridad.
  • SMTP-25: SMTP viene de Simple Mail Transfer Protocol. Sirve para el intercambio de mensajes a través del correo electrónico entre diferentes dispositivos conectados a la red. Por ejemplo podemos mandar un mensaje de un ordenador a un móvil o viceversa. Generalmente utiliza el puerto 25 del router y es, una vez más, uno de los más atacados por los ciberdelincuentes.
  • HTTP-80: es otro protocolo básico en la red. HTTP es el que nos permite transferir información en la web. Indispensable para navegar por Internet y que las páginas nos muestren el contenido correctamente. Por defecto el puerto que suelen utilizar es el 80 y se une así a la lista de los más atacados.
  • HTTPS-443: el protocolo HTTPS llegó para hacer que las conexiones fueran más seguras. Consiste básicamente en añadir un cifrado al protocolo HTTP. De esta forma, cuando navegamos por una página web que use este protocolo nuestros datos estarían protegidos, sin que pudieran ser expuestos para que posibles intrusos los roben. Utiliza de serie el puerto 443 y también es otro de los que suelen atacar con más frecuencia los piratas informáticos en la red.
  • POP3-110: el último puerto que queremos mostrar en esta lista de los más hackeados es el 110, que corresponde generalmente al protocolo POP3. Es el que utilizan los clientes locales de correo electrónico para obtener los mensajes que se almacenan en un servidor remoto.

En definitiva, estos son los puertos de servidores más hackeados. Como vemos son algunos de los más utilizados en el día a día de los usuarios particulares y de empresas. Sirven generalmente para comunicarnos y que nuestros dispositivos puedan acceder a la información de forma remota.

 

Por qué es muy importante revisar los puertos UDP abiertos

Hay protocolos muy importantes que utilizan los puertos UDP para comunicarse, algunos de estos protocolos son el popular protocolo DNS (Domain Name System) y también el protocolo SNMP (Simple Network Management Protocol). Ambos protocolos utilizan unos puertos DNS por defecto que debemos cerrar si no los estamos utilizando, e incluso deberíamos controlarlos si es que sí estamos usando estos protocolos.

 

Asegurar el protocolo DNS

Los servidores DNS suelen utilizar el puerto UDP 53, aunque también tenemos la posibilidad de usar otros puertos como el TCP 53, e incluso si hacemos uso de DNS over HTTPS o DNS over TLS, los puertos son diferentes y gobernados por TCP en lugar de UDP. El puerto 53 UDP es usado ampliamente para recibir las solicitudes DNS, y para responderlas, es fundamental que, si no tenemos un servidor DNS activado, bloqueemos a través del firewall cualquier tipo de comunicación entrante que utilice este puerto, ya que podríamos estar ante un escaneo de puertos para intentar conseguir información muy valiosa para posteriormente atacar dicho servidor.

Cambiar los DNS de la operadora

En caso de tener configurado el servidor DNS, es muy importante también protegerlo correctamente con el firewall, para evitar los ataques DoS que podrían hacer que el servidor DNS dejase de responder, con los firewalls podríamos limitar el número de peticiones por segundo que podemos recibir, descartando todas las demás, e incluso realizando «baneos» de direcciones IP para que no nos envíen más información.

Una herramienta realmente útil para proteger al servidor DNS de ataques DoS, es Fail2ban. Esta herramienta nos sirve para analizar el log real del proceso, y en función del log, podrá detectar posibles ataques de denegación de servicio para posteriormente bloquear esas direcciones IP de origen en el firewall. De esta forma, Fail2ban protege al servidor DNS de una manera reactiva, en cuanto detecta un tráfico más alto de lo «normal», automáticamente le dirá al firewall que bloquee cualquier solicitud desde una determinada IP de origen, dejando al servidor DNS disponible para el resto de equipos.

 

DHCP también utiliza el protocolo UDP, hay que protegerlo

Otro protocolo ampliamente utilizado es el popular protocolo DHCP (Dynamic Host Control Protocol), un protocolo que nos proporciona de manera dinámica y automática las direcciones IP privadas en nuestra red local. Este protocolo hace uso de los puertos UDP 67/68 para la recepción y el envío de información. Un posible atacante podría enviarnos continuamente DHCP Discover con el fin de saturar el servidor DHCP, o directamente escanear la red en busca del servidor DHCP para saber qué versión del proceso estamos utilizando y si existe alguna vulnerabilidad conocida para posteriormente explotarla.

Como recomendación, si no vamos a usar el servidor DHCP, lo mejor es deshabilitar el proceso, y si lo utilizamos, debemos asegurarnos de que usamos la última versión disponible siempre y que se encuentra libre de vulnerabilidades.

 

Cómo proteger el protocolo SNMP y evitar ataques

Otro protocolo ampliamente utilizado en redes es el protocolo SNMP. Este protocolo SNMP se encuentra en la capa de aplicación y permite el intercambio de información de administración entre dispositivos de red, además, el protocolo SNMP no solamente está en los PC, sino también en casi cualquier dispositivo de red como routers, switches gestionables, servidores, impresoras, módems e incluso en teléfonos VoIP. Gracias a este protocolo, los administradores de redes podrán monitorizar si existe algún tipo de problema, utilizando sistemas de monitorización como Nagios, Icinga2, Zabbix entre otros muchos que existen, y no solamente permite ver la configuración y monitorizar el estado de toda la red, sino que también permite realizar configuraciones de manera remota.

Por la propia naturaleza del SNMP, es muy probable que este proceso esté funcionando con permisos de administrador en un servidor, PC o en tu router, ya que, si SNMP permite que se cambie la configuración de un host, es obligatorio que tenga permisos para ello. Actualmente existen dos versiones de SNMP ampliamente utilizas, la SNMPv2c que la podemos encontrar en la mayoría de dispositivos como routers, switches gestionables, módems y telefonía VoIP, y también la versión SNMPv3 que la encontramos en estos mismos dispositivos siempre que su firmware lo soporte. El protocolo SNMPv3 añade una gran cantidad de medidas de seguridad, incorpora autenticación con cifrado de los datos, y todas las comunicaciones van cifradas punto a punto para garantizar la confidencialidad, anteriormente con el protocolo SNMPv2c todo el tráfico de datos se realiza en texto claro.

Lo primero que tenemos que tener en cuenta para proteger adecuadamente SNMP, es que, si no lo vamos a utilizar, lo mejor que podemos hacer es deshabilitar el proceso, otra opción es la de bloquear los puertos correspondientes de UDP 161 y UDP 162 por completo en el firewall. Con estas dos acciones, evitaremos que cualquier tipo de vulnerabilidad que se encuentre en el servicio SNMP pueda ser explotada, ya que lo primero que hará un atacante es realizar un escaneo de puertos y comprobar si el servicio SNMP se encuentra activo. Además, no debemos olvidar que, aunque el SNMP esté en modo de solo lectura, es posible recibir un ataque de denegación de servicio si no está bien implementado este protocolo, tal y como ocurrió en el sistema operativo Cisco IOS hace años.

Otra medida de seguridad que podemos tomar, es la de solamente responder a las direcciones IP que nosotros definamos, no obstante, UDP es un protocolo no orientado a conexión, por lo que realizar un IP spoofing es realmente sencillo, así que esta opción es un añadido más y no una solución completa a tomar. Si haces uso de SNMPv3, estarás protegido frente a este posible ataque.

A nivel de firewall, si haces uso de iptables u otros firewalls, podemos crear un par de reglas para limitar el acceso al servidor SNMP de nuestro equipo, y también limitar la salida de información a otra dirección IP.

$ iptables -A INPUT -s <direccion ip> -p udp -m udp --dport 161 -j ACCEPT
$ iptables -A OUTPUT -d <direccion ip> -p udp -m udp --sport 161 -j ACCEPT

Por supuesto, en el caso de usar versiones inferiores a SNMPv3, todas las comunicaciones van sin cifrar, aunque sí tenemos autenticación para la lectura y escritura en los diferentes hosts, por este motivo, es muy recomendable no tener accesible a la red de gestión cualquier equipo, ya que podría realizar un ataque Man in the Middle y capturar las credenciales de acceso RW de SNMP. Segmentar adecuadamente la red en VLANs es algo fundamental y que no debemos dejar de lado en el diseño y securización de la red. Con el protocolo SNMPv3 tendremos una buena autenticación y cifrado con criptografía, pero es susceptible a ataques de fuerza bruta o de diccionario para adivinar las claves de autenticación, sobre todo si estas claves son cortas en longitud, por lo que es recomendable usar claves largas. Por último, una muy buena recomendación de seguridad es hacer uso de SNMP dentro de un túnel SSH o directamente dentro de un túnel VPN, siempre que esto sea posible, claro.

El mismo programa Fail2ban que os hemos recomendado anteriormente, también es capaz de proteger correctamente el protocolo SNMP frente a posibles ataques DoS que realice un atacante en la red.

 

Cómo comprobar los puertos UDP que tienes abiertos desde Internet

Para comprobar los puertos UDP abiertos, la forma más fácil, es entrando en una web específica usando nuestro navegador de Internet habitual. En este caso recomendamos hacer este test de puertos. En el caso de acceder desde el exterior (fuera de nuestra red local), conviene que apuntemos antes nuestra IP pública usando la web cual es mi ip.

Una vez que hayamos entrado al test de puertos, lo primero que hay que hacer es poner nuestra dirección IP pública si accedemos desde el exterior. Luego añadimos el puerto o los puertos que queremos comprobar. Esta herramienta permite comprobar rangos de puertos y también usar puertos separados por comas. En esta ocasión hemos elegido el protocolo FTP y, a continuación, hemos pulsado en comenzar.

Scan puertos FTP

La información revela que tenemos el puerto 21 abierto. Esto significa que, por ejemplo, podríamos tener un servidor FTP generalmente utilizado para compartir archivos con el exterior. Sin embargo, si no tenemos uno, lo mejor que podemos hacer es cerrarlo. Así evitamos un posible ataque usando ese puerto.

 

Cómo comprobar los puertos que tienes abiertos desde LAN

Si estás en la red local y los puertos no están abiertos de cara a la WAN de Internet, aunque no puedan ser accesibles desde el exterior, sí se podrían explotar vulnerabilidades desde la propia red local profesional. Uno de los programas más populares para realizar escaneos de puertos es Nmap, el escaneo con el protocolo UDP se activa con la opción -sU, y si queremos realizar el escaneo con UDP y TCP a la vez, podemos añadir -sS también para verificar ambos protocolos simultáneamente. Simplemente con ejecutar el siguiente comando, estaremos escaneando todos los puertos UDP de un determinado host:

nmap -sU -v <direccion ip>

Dependiendo de lo que reciba Nmap, detectará si el puerto está abierto (hay contestación), si está abierto y filtrado (no se recibe respuesta), si está cerrado (si devuelve un error ICMP tipo 3 port unreachable) o filtrado (si recibe otro tipo de error ICMP).

Starting Nmap ( http://nmap.org )
Nmap scan report for 192.168.1.1
(The 997 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
53/udp open|filtered domain
67/udp open|filtered dhcpserver
111/udp open|filtered rpcbi
MAC Address: 00:01:02:03:04:05 (RedesZone Router)

Nmap done: 1 IP address (1 host up) scanned in 100.25 seconds

 

Peligros de los puertos abiertos

Los puertos UDP se utilizan de forma constante para enviar y recibir paquetes y mensajes del exterior, y a su vez transmitir respuestas adecuadas. Por lo cual deben estar totalmente supervisados para evitar que algún ataque se pueda colar por ellos. Cuando estos están abiertos estamos dejando puertas abiertas a nuestros dispositivos, lo cual puede ser tan positivo como negativo, ya que muchas veces suelen utilizarse para lanzar ataques.

El malware, los troyanos y los accesos no autorizados, son algunos de los principales problemas con los que nos podemos encontrar, ya que se aprovechan de los puertos abiertos para poder acceder a nuestra red y ejecutar servicios que no están autorizados en los puertos. Para poder solucionar esto, lo mejor es realizar análisis periódicos y monitorizar constantemente la comunicación de todos los servicios que se están ejecutando en esos puertos.

Hoy en día, existen programas que son capaces de realizar escaneos de los puertos abiertos, y de esta forma obtener un listado para conocer por cuales de estos se puede lanzar un ataque. Los principales motivos de estos hacia las empresas, son el descubrimiento de secretos, los cuales se pueden filtrar ocasionando las correspondientes pérdidas económicas. La denegación de servicio (DDoS) es otro de los grandes problemas que nos pueden afectar, pues cuando los puertos facilitan la transferencia de datos a cualquier entidad, se pueden ejecutar ataques masivos en forma de accesos, los cuales pueden saturar la red ocasionando cuellos de botella. Por lo cual nuestro servicio se quedaría inaccesible.

Por lo cual es muy importante contar con las medidas de seguridad adecuadas y la capacidad de administración óptima para que la apertura de puertos no suponga un problema. Para ellos es recomendable generar procesos automáticos que realicen análisis de los puertos abiertos, en lugar de hacerlo de forma manual, lo que da más probabilidad de fallo. Tal y como habéis podido ver, es muy importante también proteger correctamente los puertos UDP, ya que son un vector muy importante y utilizado por ciberdelincuentes para violar la seguridad de nuestra red.

Es importante siempre que mantengamos los equipos protegidos, que estén actualizados y cuidemos los puertos que tenemos abiertos o expuestos en la red. La seguridad informática es muy importante y entran en juego muchos factores clave.

 

Problemas con CG-NAT

La CG-NAT es una tecnología que las operadoras de Internet utilizan para compartir una sola dirección IP pública entre varios clientes. Aunque el uso de la CG-NAT es eficiente con la gestión de direcciones IP y ayuda con la escasez de direcciones IPv4, puede darnos algunos problemas cuando intentamos abrir puerto en nuestra red.

El problema es, que bajo una CG-NAT, varios usuarios comparten la misma dirección IP. Cuando intentas abrir un puerto en tu router para permitir el acceso a un servicio en la red, la dirección IP compartida se convierte en un obstáculo. Como muchos usuarios comparten la misma dirección IP, el router de la CG-NAT, no puede saber a qué dispositivo debe dirigir la conexión.

Para solucionar estos problemas, algunas compañías de telecomunicaciones ofrecen servicios de IPv6 o planes de dirección IP pública estática. Para solucionar este problema, ponte en contacto con tu operadora de servicios para averiguar si te encuentras en la CG-NAT y te den alternativas para salir de ella.

 

¿Cómo debo proteger los puertos correctamente?

De manera predeterminada todos los puertos deberían estar cerrados, a no ser que estés utilizando un determinado servicio y lo tengas que abrir. Es muy importante tener siempre el menor número de servicios locales expuertos, ya que la superficie de ataque será menor. Los firewall nos van a permitir cerrar todos los puertos de forma automática, y abrir únicamente los que nosotros necesitemos.

El software utilizado que abre un socket TCP o UDP es fundamental que esté actualizado, de poco sirve tener todos los puertos cerrados excepto uno, si el servicio que hay corriendo en ese puerto está sin actualizar y tiene fallos de seguridad. Por este motivo, es tan importante la actualización de todo el software, es recomendable siempre utilizar software que se siga manteniendo, para recibir las diferentes actualizaciones.

Si para acceder a un determinado servicio se necesita autenticación, es necesario que las credenciales sean robustas, a ser posible, usad certificados digitales o claves SSH (si vas a autenticarte en un servidor SSH). Por ejemplo, siempre es recomendable cerrar el puerto 23 del Telnet, porque es un protocolo no seguro, y por tanto, es mejor no utilizarlo bajo ninguna circunstancia.

Es muy recomendable supervisar qué puertos TCP y UDP están en uso, para detectar posibles problemas de intrusiones o infección por troyanos. Es importante investigar cualquier tráfico extraño, o puertos que están abiertos cuando no deberían estarlo. Es también muy importante saber cómo se comporta un determinado servicio (que está escuchando en un determinado puerto) con un uso normal, para poder identificar el comportamiento inusual.

Por último, además de utilizar firewalls para cerrar todos los puertos que no usemos, también sería muy recomendable hacer uso de IDS/IPS para detectar comportamientos extraños a nivel de red, e incluso sería recomendable instalar en nuestro propio PC un IDS, para que detecte cualquier anomalía.

¡Sé el primero en comentar!