Dirección IP y redes

Puerto (Port Number)

Se lee en aproximadamente 5 minutos

Qué es un puerto

Un puerto es un valor numérico de 0 a 65535 que identifica aplicaciones o servicios en la comunicación de red. Si la dirección IP es la dirección del edificio, el puerto es el número de habitación.

Un servidor puede ejecutar simultáneamente servidor web, correo y SSH porque cada uno usa un puerto diferente para distribuir la comunicación. Al acceder a https://example.com, internamente se conecta al puerto 443.

Clasificación de puertos

Puertos bien conocidos (0-1023)
Reservados para protocolos principales. Requieren privilegios de administrador. HTTP (80), HTTPS (443), SSH (22), SMTP (25), DNS (53).
Puertos registrados (1024-49151)
Registrados por aplicaciones específicas en IANA. MySQL (3306), PostgreSQL (5432), Redis (6379).
Puertos dinámicos (49152-65535)
Usados temporalmente por el cliente. El navegador recibe un puerto aleatorio de este rango como puerto de origen.

Escaneo de puertos y riesgos de seguridad

El escaneo de puertos prueba conexiones a múltiples puertos para descubrir cuáles están abiertos. Tiene uso legítimo (auditoría propia) pero también se usa como reconocimiento por atacantes.

  • TCP SYN scan: Solo envía el primer paso (SYN) y juzga por la respuesta. No completa la conexión, difícil de detectar.
  • TCP Connect scan: Establece conexión completa. Fiable pero deja registros.
  • UDP scan: Verifica puertos UDP. Lento y menos preciso.

Dejar puertos innecesarios abiertos los convierte en puntos de entrada para ataques. El principio básico del firewall es permitir solo los puertos necesarios y bloquear todo lo demás.

Control de puertos con firewall

  • Reglas de entrada (inbound): Controlan conexiones externas al servidor. Un servidor web permite solo 80 y 443; SSH (22) solo desde IPs de administradores.
  • Reglas de salida (outbound): Controlan conexiones del servidor al exterior. Limitar comunicaciones salientes innecesarias previene que malware contacte servidores C&C.

En la nube, los security groups de AWS o NSG de Azure cumplen este rol. "Abrir solo los puertos mínimos necesarios" es el principio de mínimo privilegio, base de la seguridad de red.

Los routers domésticos con NAT bloquean por defecto todas las conexiones entrantes. Sin configurar port forwarding, no se puede acceder directamente a dispositivos internos desde el exterior.

Puntos clave en la práctica

  • Migración de puerto 80 a 443: Antes HTTP (80) era estándar; ahora HTTPS (443) es obligatorio. Chrome muestra "No seguro" en sitios HTTP.
  • Uso de puertos no estándar: Cambiar SSH del 22 a otro (ej: 2222) evita la mayoría de ataques automatizados de fuerza bruta. Pero es medida auxiliar, no seguridad fundamental.
  • Conflictos de puerto: Dos aplicaciones no pueden usar el mismo puerto simultáneamente. El error "Address already in use" requiere identificar y detener el proceso que ocupa el puerto.

Conceptos erróneos comunes

Cambiar el puerto mejora la seguridad
Cambiar a puerto no estándar evita escaneos automáticos pero un atacante puede escanear todos los puertos. La verdadera seguridad está en autenticación fuerte y configuración adecuada del firewall.
Cerrar puertos hace imposible el hackeo
Cerrar puertos es importante, pero los puertos que deben estar abiertos (443 para web) existen. Las vulnerabilidades de las aplicaciones en esos puertos pueden ser explotadas; las actualizaciones de software son igualmente imprescindibles.
Solo necesito conocer los puertos 80 y 443
Incluso desarrolladores web manejan SSH (22), DNS (53), bases de datos (3306, 5432) cotidianamente. Sin conocimiento de puertos, diagnosticar problemas de conexión lleva mucho más tiempo.
Compartir

Términos relacionados

Artículos relacionados