Blog

Qué es un puerto abierto y por qué son peligrosos

Que es un puerto abierto y cómo puede afectar a nuestra seguridad

En ciberseguridad, el término puerto abierto hace referencia a un número de puerto TCP o UDP que está configurado para aceptar conexiones y paquetes de datos. En contraste, un puerto que rechaza conexiones o ignora todos los paquetes, es un puerto cerrado.

Los puertos (existen 65535 para cualquier dirección IP) son una parte integral  y esencial del modelo de comunicación de Internet.

Cada dirección IP contiene dos tipos de puertos: puertos UDP y TCP (numerados del 0 al 65535).

Los servicios que dependen de Internet (como navegadores, páginas web y servicios de transferencia de archivos) dependen de puertos específicos para recibir y transmitir información.

Los desarrolladores, normalmente usan protocolos de transferencia de archivos (FTP) o SSH ( acceso remoto a un servidor por medio de un canal seguro en el que toda la información está cifrada) para comunicarse entre dispositivos o compartir información entre hosts.

Por lo tanto, para ejecutar ciertas aplicaciones en nuestro ordenador, es necesario tener abiertos algunos puertos.

Por ejemplo, el puerto 25 es usado por el protocolo SMTP para poder enviar correos electrónicos, y los puertos 6881 y 6969, son usados por el programa BitTorrent, para el intercambio de archivos.

Si los cerramos no podremos utilizar estos servicios.

¿Son peligrosos los puertos abiertos?

Existe la idea errónea de que un puerto abierto presenta necesariamente un riesgo para la seguridad.

Esto se debe en gran parte a la falta de información de cómo funcionan por qué están abiertos y cuáles deberían no estarlo.

Pero un puerto abierto no tiene porque representar necesariamente un riesgo para la seguridad.

Los puertos abiertos solo se vuelven peligrosos cuando son utilizados por servicios legítimos que presentan algún tipo de vulnerabilidad de seguridad no corregida  (pueden ser vulnerables a exploits) , o por piezas de malware (como por ejemplo troyanos) que están a la escucha através de ellos.

Los ciberdelincuentes pueden usar estos servicios comprometidos, junto con los puertos abiertos que utilizan, o algun tipo de software malicioso específico, para obtener acceso no autorizado a datos confidenciales.

Por ejemplo, en mayo de 2017 el protocolo SMB (protocolo de red que permite compartir archivos, impresoras etc.) fue explotado por un exploit de día cero llamado EternalBlue lo que propició el ataque mundial perpetrado mediante el insidioso ransomware WannaCry.

¿Por qué los atacantes buscan puertos abiertos?

Para ejecutar un exploit, el atacante necesita encontrar una vulnerabilidad en el sistema operativo o en un programa instalado en el mismo.

Y para encontrar una vulnerabilidad, lo ideal es saber todos los servicios que se ejecutan en una máquina, incluidos los protocolos que utiliza y los programas instalados junto con sus versiones.

Una forma de lograr esto, es encontrar un puerto de acceso público utilizando una herramienta de exploración de redes y análisis de puertos.

Programas como Nmap permiten detectar, entre otras cosas, los servidores y servicios disponibles en una red, los sistemas operativos y cortafuegos instalados en cada ordenador, etc.

Nmap

Y si el villano encuentra versiones de software obsoletas o desactualizadas que pueden tener vulnerabilidades conocidas (como las enumeradas en CVE ), que se pueden explotar mediante herramientas para ejecutar exploits contra una máquina remota, aprovechará la conyuntura para hacer de las suyas.

Los ciberdelincuentes también están explotando los puertos del Protocolo de escritorio remoto (RDP) gracias al enorme aumento de personas que trabajan desde casa como resultado del COVID-19.

Los puertos más utilizados en Microsoft Windows

  • FTP (21): FTP o Protocolo de transferencia de archivos se utiliza para transferir archivos a través de Internet.
  • SSH (22): SSH o Secure Shell se utiliza para conectarse de forma remota a un servidor o host, lo que permite ejecutar comandos y trabajar con archivos.
  • Telnet (23): Telnet establece una conexión entre un servidor y un ordenador de forma remota.
  • SMTP (25): SMTP o Protocolo simple de transferencia de correo garantiza que los mensajes de correo electrónico se envien a través de la red de forma segura.
  • WHOIS (43): se utiliza para obtener el registro de propiedad de nombres de dominio y direcciones IP
  • DNS (53): DNS o sistema de nombres de dominio utiliza bases de datos para vincular los nombres de host de ordenadores o redes a sus respectivas direcciones IP.
  • DHCP (67, 68): DHCP o el protocolo de configuración dinámica de host asigna información relacionada con la dirección IP a los clientes de una red automáticamente. Esta información puede estar compuesta por máscara de subred, dirección IP, etc. El puerto 67 realiza la tarea de aceptar solicitudes de dirección de DHCP y enviar datos al servidor, mientras que el puerto 68 responde a todas las solicitudes de DHCP y reenvía los datos al cliente.
  • TFTP (69): TFTP o Trivial File Transfer Protocol es un simple protocolo de transferencia de archivos que permite a un cliente obtener un archivo o subirlo a un host remoto.
  • HTTP (80): asignado a servidores web y asociado directamente con el protocolo de transferencia de hipertexto.
  • POP3 (110): los clientes de correo electrónico utilizan POP3 para recuperar datos de servidores de correo electrónico remotos.
  • SFTP (115): SFTP o Secure File Transfer Protocol, es un protocolo separado empaquetado con SSH que funciona de manera similar a través de una conexión segura.
  • IMAP (143): IMAP o Protocolo de acceso a mensajes de Internet recupera correos electrónicos de un servidor remoto sin tener que descargar el correo electrónico.
  • SNMP (161): SNMP o Protocolo simple de administración de red se utiliza para recopilar y organizar información sobre dispositivos administrados en redes IP y para modificar esa información o cambiar el comportamiento del dispositivo.
  • HTTPS (443):permite conectarse a Internet estableciendo una conexión segura entre las páginas web y el navegador.
  • LPD (515): LPD o Line Printer Daemon Protocol es un protocolo de impresión en red para enviar trabajos a una impresora remota.
  • rsync (873): rysnc se utiliza para transferir y sincronizar archivos entre un ordenador y un disco duro externo, o entre dispositivos en red comparando los tiempos y tamaños de modificación de los archivos.
  • IMAP SSL (993): protocolo IMAP que admite cifrado SSL.
  • POP3 SSL (955): protocolo POP3 que admite cifrado SSL.
  • SOCKS (1080): SOCKS o SOCKet Secure es un protocolo de Internet que intercambia paquetes de red entre un cliente y un servidor a través de un servidor proxy.
  • Proxy (3128): actualmente es el puerto que utilizan los proxies.
  • MySQL (3306): utilizado por bases de datos MySQL.
  • RDP (3389): RDP o Remote Desktop Protocol establece una conexión con un dispositivo remoto, lo que le permite acceder a el desde cualquier parte del mundo.
  • PostgreSQL (5432): utilizado por bases de datos PostgreSQL.
  • VNC (5900): un sistema gráfico de escritorio compartido que utiliza el protocolo Remote Frame Buffer (RFB) para controlar de forma remota otro ordenador.
  • TeamViewer (5938):aplicación de software patentada para control remoto, uso compartido del escritorio, reuniones en línea, conferencias web y transferencia de archivos entre ordenadores.
  • HTTP (8080): un puerto alternativo para HTTP.

Estos son los puertos que acostumbran a estar abiertos, a no ser que un cortafuegos por alguna razón tenga cerrado alguno.

En cualquier caso, lo más seguro es cerrar todos los que no estemos utilizando.

¿Cómo afectan los puertos abiertos a los usuarios y organizaciones?

Los puertos abiertos pueden afectar la confidencialidad, integridad y disponibilidad de un usuario o una organización.

  1. Confidencialidad: los puertos abiertos y los programas que los utilizan pueden revelar información sobre el sistema o la arquitectura de la red.
    También pueden filtrar el tipo de sistema operativo, las versiones del software instalado, el contenido almacenado etc.
  2. Integridad: sin los controles adecuados, el software puede abrir cualquier puerto y comunicarse con el exterior sin obstáculos.
    A menudo, esto se utiliza para el buen funcionamiento de algunos servicios o para que los programas legítimos reciban actualizaciones, pero también puede ser aprovechado por diferentes tipos de malware.
  3. Disponibilidad: los servicios que se ejecutan en puertos abiertos aún procesan el tráfico entrante, incluso si las solicitudes no son válidas.
    Esto puede facilitar ataques de denegación de servicio.

¿Cómo puedo monitorear los puertos de mi PC?

En una red pequeña con pocas direcciones IP, encontrar y cerrar puertos abiertos no es una tarea complicada.

Sin embargo, en redes más grandes con un flujo importante de nuevos dispositivos, monitorear y administrar puertos abiertos puede llevar mucho tiempo.

Existen programas como CurrPorts, un software de monitoreo de red que muestra la lista de todos los puertos TCP/IP y UDP abiertos en un ordenador local.

Para cada puerto de la lista, se muestra información sobre el proceso que abrió el puerto, la ruta completa del proceso, la información de la versión del proceso (nombre del producto, descripción del archivo, etc.), la hora y el nombre del usuario que lo creó.

Además  permite cerrar conexiones TCP no deseadas, eliminar el proceso que abrió los puertos y guardar la información en diversos formatos de archivo como HTML o XML.

CurrPorts también marca automáticamente con color rosa los puertos TCP/UDP sospechosos de ser utilizados por aplicaciones no identificadas.

Windows incluye una herramienta nativa llamada NETSTAT que funciona mediante línea de comandos.

netstat

Nos da la posibilidad de conocer exactamente que puertos tenemos abiertos a la escucha e incluso cuales están recibiendo o transmitiendo información hacia el exterior

Para ejecutar la herramienta, tenemos que ir a Inicio y escribir cmd.

Accederemos al Símbolo del sistema.

Una vez dentro, tenemos que escribir netstat -a y a continuación pulsar intro.

Abrir o cerrar puertos en el Firewall de Windows 10

Puedes configurar los ajustes del Firewall de Windows según tus necesidades o incluso restaurar sus valores predeterminados. Para ello debes acceder a la configuración avanzada del firewall.

  • Abrimos la página de Configuración del sistema, (Win+I).
  • Seleccionamos la opción Actualización y Seguridad.
  • Hacemos clic sobre la opción Seguridad de Windows del menú lateral izquierdo.
  • Dentro del apartado Áreas de protección, seleccionamos la opción Firewall y protección de red.
  • Esto nos abrirá el centro de seguridad de Windows Defender donde tenemos que hacer clic sobre la opción Configuración avanzada.
  • Esto nos abrirá la ventana de configuración avanzada de Windows Defender Firewall.
  • En función de si queremos abrir o cerrar puertos, seleccionamos Reglas de Entrada o Salida dentro de Windows Defender Firewall.
  •  En el panel de la derecha hacemos clic en nueva regla.
  • A continuación se nos pedirá que indiquemos el tipo de regla.
  • Seleccionamos Puerto y pulsamos en Siguiente.
  • Ahora elegimos el tipo de tráfico TCP o UDP y el número de puerto sobre el que queremos aplicar la regla.
  • En el siguiente paso, debemos definir si queremos bloquear el tráfico, permitirlo o ambas cosas. Pulsamos en siguiente y a continuación debemos indicar cuándo se aplicará la regla.
  • Por último, le damos un nombre a la regla que acabamos de crear en el Firewall de Windows 10.

Abrir o cerrar puertos en el Firewall de Windows 10

Si el proceso se realiza correctamente, veremos la regla que acabamos de crear para abrir o cerrar un puerto en el Firewall del sistema en el panel central de la ventana de configuración avanzada.

Ten en cuenta que, a veces, después de bloquear un determinado puerto, las aplicaciones pueden no funcionar correctamente.

También puedes tener problemas al conectarte a ciertos recursos. Esto significa que es posible que debas abrir el puerto que bloqueaste. Puedes deshacer los cambios en cualquier momento siguiendo el mismo proceso.

Como alternativa, existen aplicaciones de terceros como Windows Firewall Control.

Una herramienta que amplía la funcionalidad del Firewall de Windows y proporciona características adicionales que mejoran su manejo.

Se ejecuta en la bandeja del sistema y permite al usuario controlar el firewall nativo fácilmente sin tener que entrar en su configuración avanzada que a veces puede resultar algo caótica.

Etiquetas:
Mostrar el formulario de comentarios