0Pricing
Linux Server Deployment & SSH Mastery · Lección

Gestión y seguridad de puertos

Abra y cierre puertos específicos para los servicios, implemente el reenvío de puertos y conozca los vectores de ataque habituales relacionados con los puertos abiertos.

Gestión y seguridad de puertos es una lección gratuita de Linux Server Deployment & SSH Mastery en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Server Deployment & SSH Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.

¿Qué son los puertos de red?

Imagine que un servidor es un edificio de apartamentos. Cada apartamento tiene un número, y los visitantes necesitan saber a qué número dirigirse. En redes, estos «números de apartamento» se denominan puertos.

Los puertos de red son puntos finales de comunicación. Ayudan a su servidor a dirigir el tráfico de red entrante al servicio o la aplicación adecuados. A cada puerto se le asigna un número único, del 0 al 65535.

Números de puerto habituales

Muchos servicios utilizan números de puerto estándar y conocidos. Conocerlos le ayuda a identificar servicios y configurar firewalls.

  • Puerto 22: se utiliza para SSH (Secure Shell) y permite el acceso remoto.
  • Puerto 80: se utiliza para HTTP (Hypertext Transfer Protocol) y el tráfico web estándar.
  • Puerto 443: se utiliza para HTTPS (HTTP Secure) y el tráfico web cifrado.
  • Puerto 53: se utiliza para la resolución de nombres mediante DNS (Domain Name System).

Estos son solo algunos ejemplos; existen miles de puertos para distintas aplicaciones.

Comprobación de puertos en escucha

Antes de abrir puertos nuevos, conviene saber cuáles ya están activos en su servidor. El comando ss (estadísticas de sockets) es una herramienta moderna para inspeccionar los sockets de red.

Las opciones -ltn muestran numéricamente los sockets TCP en escucha, sin resolver los nombres de host.

ss -ltn

Gestión de puertos con UFW

UFW (Uncomplicated Firewall) es una herramienta popular de gestión de firewalls en Ubuntu y otros sistemas basados en Debian. Simplifica la configuración de las reglas de iptables.

Para permitir o rechazar tráfico, debe especificar el número de puerto y el protocolo (TCP o UDP). Recuerde volver a cargar UFW o activarlo después de realizar cambios.

sudo ufw allow 80/tcp
sudo ufw deny 22
sudo ufw enable

Gestión de puertos con firewalld

En los sistemas CentOS, RHEL y Fedora, firewalld es la utilidad de gestión del firewall predeterminada. Utiliza «zonas» para gestionar distintas interfaces de red.

Debe añadir las reglas a una zona, normalmente la zona public para los servicios expuestos a Internet, y después recargar firewalld para aplicar los cambios.

sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=22/tcp --permanent
sudo firewall-cmd --reload

Introducción al reenvío de puertos

El reenvío de puertos es una técnica que redirige el tráfico de red de un puerto a otro. Puede realizarse en la misma máquina o entre máquinas distintas.

Se utiliza habitualmente para permitir que dispositivos externos accedan a servicios de una red privada o para tunelizar tráfico de forma segura a través de un servidor intermediario.

Reenvío local de puertos con SSH

Un tipo habitual es el reenvío local de puertos mediante SSH. Esto crea un túnel seguro desde su máquina local hasta un servidor remoto y, desde ese servidor remoto, hasta otro host y puerto de destino (que incluso podría ser el propio servidor remoto).

Resulta útil para acceder a servicios de una red privada remota que no están expuestos directamente a Internet, como una base de datos o una aplicación web interna.

Demostración del reenvío local con SSH

Así puede utilizar el reenvío local de puertos de SSH. Este comando reenvía el tráfico del puerto local 8080 al puerto 80 de localhost (el propio servidor remoto) a través de la conexión SSH con your_server_ip.

Una vez conectado, puede acceder al servidor web remoto (en el puerto 80) navegando a http://localhost:8080 desde su máquina local.

ssh -L 8080:localhost:80 user@your_server_ip

Prácticas recomendadas para la seguridad de los puertos

La gestión de puertos es fundamental para la seguridad del servidor. Estas son algunas prácticas importantes:

  • Principio de mínimo privilegio: abra únicamente los puertos que sean absolutamente necesarios para que funcionen sus servicios.
  • Auditorías periódicas: compruebe periódicamente las reglas del firewall y los puertos activos en escucha para asegurarse de que no haya puertos no autorizados abiertos.
  • Contraseñas y claves seguras: en servicios como SSH, utilice siempre una autenticación sólida.
  • Limitación de velocidad: considere limitar los intentos de conexión a puertos críticos (como SSH) para evitar ataques de fuerza bruta.

Comprobación rápida: gestión de puertos

¿Cuáles de las siguientes se consideran buenas prácticas de seguridad al gestionar los puertos de un servidor?

Repaso: puertos y seguridad

En esta lección, hemos explorado los puertos de red, que son esenciales para dirigir el tráfico a los servicios del servidor. Hemos aprendido cuáles son los números de puerto habituales y cómo comprobar los puertos en escucha con ss.

Ahora sabe cómo gestionar las reglas del firewall mediante UFW y firewalld, y comprende el concepto de reenvío local de puertos mediante SSH. También hemos visto prácticas recomendadas fundamentales para proteger los puertos y mantener seguro su servidor.

Preguntas frecuentes

¿La lección «Gestión y seguridad de puertos» es gratis?

Sí — el texto completo de «Gestión y seguridad de puertos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Server Deployment & SSH Mastery, actualiza a CoddyKit PRO. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.

¿Qué aprenderé en «Gestión y seguridad de puertos»?

Abra y cierre puertos específicos para los servicios, implemente el reenvío de puertos y conozca los vectores de ataque habituales relacionados con los puertos abiertos. Practicas Linux Server Deployment & SSH Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Linux Server Deployment & SSH Mastery?

No se requiere experiencia previa. Linux Server Deployment & SSH Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Gestión y seguridad de puertos»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Linux Server Deployment & SSH Mastery?

Sí. Cada lección de Linux Server Deployment & SSH Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Configuración básica de red
  2. Comprensión de los firewalls (UFW/firewalld)
  3. Gestión y seguridad de puertos
  4. Configuración y resolución de problemas de DNS
← Volver a Linux Server Deployment & SSH Mastery