Puerto 9000 (PHP-FPM / Portainer / MinIO): para qué sirve y cómo protegerlo
El puerto 9000 TCP lo usan por defecto varios servicios: PHP-FPM (cuando escucha por TCP en vez de por socket), el panel de Portainer para gestionar Docker, MinIO (almacenamiento compatible con S3) y SonarQube. Ninguno de ellos debería estar expuesto directamente a Internet.
Qué es el puerto 9000
PHP-FPM expuesto es especialmente grave: un atacante puede enviar peticiones FastCGI y ejecutar código PHP arbitrario. Portainer da control total sobre Docker y, por tanto, sobre el servidor.
¿Es peligroso tener abierto el puerto 9000?
Riesgo alto: No debe estar abierto a Internet.
- PHP-FPM: ejecución remota de código.
- Portainer: control del servidor.
Cómo proteger el puerto 9000
- PHP-FPM en socket Unix o en 127.0.0.1:9000.
- Portainer detrás de un proxy con HTTPS, o solo por VPN.
Comandos y configuración
Comprobar si el puerto 9000 está abierto
sudo ss -tlnp | grep ':9000 '
nc -zv 203.0.113.10 9000
sudo nmap -p 9000 203.0.113.10PHP-FPM por socket (www.conf)
listen = /run/php/php8.2-fpm.sock
; en nginx: fastcgi_pass unix:/run/php/php8.2-fpm.sock;También puedes comprobarlo desde fuera de tu red con nuestro escáner de puertos online.
Herramientas para comprobarlo
Preguntas frecuentes
¿Por qué tengo el puerto 9000 abierto?
Comprueba con sudo ss -tlnp | grep 9000 qué proceso lo usa. Lo más habitual es PHP-FPM o Portainer.