Puertos TCP: las puertas de entrada de tu servidor
Cada servicio de red escucha en uno o mas puertos TCP (o UDP): el servidor web en el puerto 80 (HTTP) y 443 (HTTPS), SSH en el 22, SMTP en el 25, la base de datos en el 3306 (MySQL) o 5432 (PostgreSQL). Cada puerto abierto es un potencial punto de entrada para un atacante: si el servicio tiene una vulnerabilidad, el puerto abierto permite su explotacion. La regla de oro de la seguridad de red es el principio de minimo privilegio: expone solo los puertos estrictamente necesarios.
El Port Scanner realiza un escaneo sistematico de los puertos TCP de un host, identificando cuales estan abiertos (un servicio responde), cerrados (ningun servicio, el host responde con RST) o filtrados (sin respuesta, un firewall bloquea el trafico). Para cada puerto abierto, identifica el servicio asociado y, donde es posible, la version del software. Esta informacion es el punto de partida para cualquier auditoria de seguridad o hardening del servidor.
Que puertos verificar
Para un servidor web, los puertos necesarios son tipicamente solo 80 y 443. SSH (22) deberia ser accesible solo desde IPs autorizadas mediante firewall o VPN. Los puertos de bases de datos (3306, 5432, 27017) nunca deben estar expuestos en Internet. Puertos como 8080, 8443, 3000, 9090 indican frecuentemente servicios de desarrollo o paneles de administracion que no deberian ser publicos. Verifica tambien los puertos de email (25, 587, 993, 995) solo en servidores que gestionan correo.
Hardening y reduccion de la superficie de ataque
Despues del escaneo, actua sobre cada puerto abierto innecesario: desactiva los servicios inutiles y configura el firewall para bloquear el trafico. En Linux, usa ufw o iptables para crear reglas de whitelist (deniega todo, luego permite explicitamente solo los puertos necesarios). Verifica la configuracion con un nuevo escaneo. Para SSH, considera el cambio de puerto (del 22 a otro), la autenticacion solo con clave publica, y fail2ban para bloquear brute-force.
Completa la auditoria de seguridad verificando el certificado SSL en los puertos HTTPS con SSL Check y los headers de seguridad HTTP con Security Headers. Para servidores de correo, verifica tambien que no sean open relay con Open Relay Test. Un servidor con solo los puertos necesarios abiertos, servicios actualizados y configuracion hardened es significativamente mas resistente a ataques que uno con configuracion por defecto.
El escaneo de puertos deberia ser una practica regular, no un evento puntual. Cada actualizacion de software, cada nueva instalacion, cada modificacion a la configuracion puede abrir nuevos puertos. Automatiza escaneos periodicos y compara los resultados con la linea base para identificar cambios no autorizados. Un servicio que aparece donde no deberia ser es una senal de alarma que merece investigacion inmediata.