Cómo ocultar la versión de PHP en Plesk para mejorar la seguridad
¿Por qué es importante ocultar la versión de PHP en Plesk?
Cuando un atacante quiere vulnerar tu sitio web, lo primero que hace es recopilar información sobre el servidor. Saber qué versión de PHP estás utilizando es como entregarle las llaves de un mapa: le indica qué vulnerabilidades conocidas puede explotar. Si usas una versión antigua o con parches pendientes, el riesgo aumenta considerablemente.
Ocultar la versión de PHP en Plesk es una medida de seguridad básica pero muy efectiva. No se trata de esconder algo ilegal, sino de reducir la superficie de ataque. Cada dato que ocultas es un obstáculo más para quien intenta acceder sin permiso.
En este artículo te explicaré paso a paso cómo hacerlo, incluso si nunca has tocado un panel de administración. No necesitas ser un experto en servidores, solo seguir las instrucciones con calma. Al final, también resolveré las dudas más frecuentes para que te quedes tranquilo.
¿Qué significa "ocultar la versión de PHP" y qué expone realmente?
Cuando un servidor responde a una petición, incluye cabeceras HTTP que revelan información técnica. Una de ellas es la cabecera X-Powered-By, que muestra algo como PHP/8.1.22. También existe la cabecera Server, que puede indicar el sistema operativo y el servidor web (Apache o Nginx).
Además, si un atacante solicita un archivo PHP que no existe, el servidor puede devolver una página de error con la versión exacta de PHP. Esto ocurre porque la configuración predeterminada de expose_php está activada.
Ocultar esta información no hace tu sitio invulnerable, pero sí más difícil de atacar. Los bots y scripts automáticos que escanean internet buscan versiones específicas para lanzar exploits. Si no ven la versión, pasan al siguiente objetivo. Es como poner un cartel de "no hay nada interesante aquí" en tu puerta.
Antes de empezar: haz una copia de seguridad y entiende tu configuración
Regla de oro en cualquier cambio de configuración: haz una copia de seguridad antes de tocar nada. Aunque los cambios que haremos son reversibles, es mejor prevenir.
En Plesk, tienes dos formas de gestionar PHP: la configuración por dominio (recomendada para sitios individuales) y la configuración global del servidor. Te explicaré ambas, pero empieza por la de tu dominio, que es la más segura y la que afecta solo a tu sitio.
Método 1: Ocultar la versión de PHP en un dominio específico (el más fácil)
Este método es perfecto si solo tienes un sitio web o si quieres proteger un dominio concreto. No afecta a otros sitios del servidor.
Paso 1: Accede a la configuración de PHP de tu dominio
- Inicia sesión en Plesk con tu usuario administrador o con un usuario que tenga permisos sobre el dominio.
- En el panel izquierdo, verás la lista de dominios. Haz clic en el nombre del dominio que quieres proteger.
- En el menú de la derecha, busca la sección "PHP" o "Configuración de PHP". Dependiendo de la versión de Plesk, puede aparecer como un icono de engranaje o como una pestaña.
Paso 2: Desactiva la opción "expose_php"
Dentro de la configuración de PHP, busca la opción llamada expose_php. Por defecto, suele estar en "On".
- Cambia el valor de "On" a "Off".
- Haz clic en "Aplicar" o "Guardar" en la parte inferior de la página.
Paso 3: Verifica que el cambio se aplicó
Para comprobar que el cambio funcionó, puedes usar una herramienta en línea como "headers checker" o simplemente abrir la consola de desarrollador de tu navegador (F12) y revisar la pestaña "Red". Recarga tu sitio y busca la respuesta del servidor. La cabecera X-Powered-By ya no debería aparecer.
Método 2: Ocultar la versión de PHP de forma global en todo el servidor
Si administras varios sitios o quieres una solución única, puedes cambiar la configuración global. Esto afectará a todos los dominios del servidor, así que asegúrate de que es lo que deseas.
Paso 1: Accede a la configuración global de PHP
- En Plesk, ve a "Herramientas y ajustes" en el menú principal.
- Busca la sección "Ajustes de PHP" o "Configuración de PHP" (puede variar según la versión).
- Aquí verás una lista de versiones de PHP disponibles. Selecciona la que estés utilizando por defecto.
Paso 2: Edita el archivo php.ini o usa la interfaz
Plesk te permite editar los parámetros de PHP de dos formas:
- A través de la interfaz gráfica: Busca la opción
expose_phpy cámbiala a "Off". - Editando el archivo
php.inidirectamente: Si prefieres el control total, haz clic en "Mostrar ajustes avanzados" o "Editar archivo php.ini" y busca la líneaexpose_php = On. Cámbiala aexpose_php = Off.
Paso 3: Reinicia PHP y verifica
Después de guardar los cambios, es posible que necesites reiniciar el servicio de PHP o el servidor web para que se apliquen. Plesk normalmente lo hace automáticamente, pero si no, busca la opción "Reiniciar" en la sección de servicios.
Método 3: Ocultar la versión de PHP a través de archivos .htaccess (para usuarios avanzados)
Si tu sitio está en Apache, puedes añadir una directiva en el archivo .htaccess de la raíz de tu dominio. Este método funciona incluso si no tienes acceso directo a la configuración de Plesk, siempre que tu hosting permita el uso de .htaccess.
- Conecta por FTP o usa el administrador de archivos de Plesk.
- Abre el archivo
.htaccess(si no existe, créalo). - Añade la siguiente línea:
<IfModule mod_php.c>
php_flag expose_php Off
</IfModule>
- Guarda el archivo y sube los cambios.
Importante: Este método solo funciona si tu servidor usa Apache con el módulo mod_php. Si usas PHP-FPM o Nginx, este código no tendrá efecto.
Otras medidas de seguridad complementarias
Ocultar la versión de PHP es solo el primer paso. Para proteger tu servidor Plesk de forma más completa, te recomiendo:
- Mantener PHP y Plesk actualizados: Las actualizaciones corrigen vulnerabilidades conocidas. Activa las actualizaciones automáticas si es posible.
- Eliminar las versiones de PHP que no uses: En Plesk, puedes desactivar las versiones antiguas en "Herramientas y ajustes" > "Ajustes de PHP". Cuantas menos versiones activas, menos superficie de ataque.
- Desactivar funciones peligrosas de PHP: En la misma configuración de PHP, busca funciones como
exec,shell_exec,passthruysystem. Si no las necesitas, desactívalas. - Usar contraseñas fuertes y autenticación en dos pasos: Protege el acceso a Plesk y a tu panel de administración.
- Configurar un firewall: Plesk tiene módulos para firewalls como ModSecurity o Fail2ban. Actívalos para bloquear ataques comunes.
Preguntas frecuentes (FAQ) sobre ocultar la versión de PHP en Plesk
¿Es ilegal ocultar la versión de PHP?
No, para nada. Es una práctica de seguridad estándar recomendada por expertos. Ocultar la versión no oculta nada ilegal, solo dificulta el trabajo de los atacantes.
¿Afecta el rendimiento de mi sitio?
No. El cambio de expose_php a "Off" no tiene ningún impacto en el rendimiento. Solo elimina una cabecera de respuesta.
¿Qué pasa si uso un CDN como Cloudflare?
Si usas un CDN, este puede añadir sus propias cabeceras. La cabecera X-Powered-By de tu servidor original se mantendrá, pero el CDN puede ocultarla o modificarla. Aún así, es recomendable hacer el cambio en tu servidor.
¿Cómo puedo verificar si mi versión de PHP está oculta?
Puedes usar herramientas en línea como "HTTP Header Checker" o "Security Headers". Introduce tu dominio y revisa si aparece la cabecera X-Powered-By. También puedes usar el siguiente comando en tu terminal:
curl -I tudominio.com
Si la cabecera no aparece, el cambio se aplicó correctamente.
¿Qué hago si uso Syspanel en lugar de Plesk?
Si estás usando Syspanel (antes conocido como HestiaCP), el proceso es diferente. En Syspanel, el acceso al panel se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). Dentro de Syspanel, busca la sección de "Ajustes de servidor" y luego "Configuración de PHP". Allí podrás cambiar la opción expose_php a "Off". El resto de los principios son los mismos.
¿Y si mi sitio usa Nginx en lugar de Apache?
Si tu servidor usa Nginx, el método .htaccess no funcionará. Debes hacer el cambio a través de la configuración de PHP en Plesk, que es el método 1 o 2 de este artículo. Plesk gestiona Nginx y PHP-FPM de forma transparente, así que el cambio se aplicará correctamente.
¿Necesito reiniciar algo después del cambio?
Generalmente no, Plesk aplica los cambios al instante. Si no ves el cambio, intenta reiniciar el servicio de PHP o el servidor web desde la sección "Servicios" del panel.
Conclusión: un pequeño cambio, una gran mejora
Ocultar la versión de PHP en Plesk es una tarea sencilla que puede marcar la diferencia en la seguridad de tu sitio. No es una solución mágica, pero es un eslabón más en la cadena de protección.
Recuerda que la seguridad es un proceso continuo. No te detengas en este paso. Mantén tus sistemas actualizados, revisa los logs de acceso con regularidad y considera contratar un servicio de monitorización de seguridad si tu sitio maneja información sensible.
Si has seguido los pasos de este artículo, ya has dado un gran paso para proteger tu sitio web. Ahora, los bots y atacantes verán un muro en lugar de una puerta abierta con un cartel que dice "PHP 7.4, vulnerable a tal exploit".
Si tienes alguna duda o problema durante el proceso, no dudes en consultar la documentación oficial de Plesk o contactar con tu proveedor de hosting. Ellos siempre están dispuestos a ayudarte a mejorar la seguridad de tu servidor.
En resumen:
- Ocultar la versión de PHP es una medida de seguridad básica.
- Plesk permite hacerlo por dominio o de forma global.
- El cambio es reversible y no afecta el rendimiento.
- Combina esta práctica con otras medidas como actualizaciones y firewalls.
[TIP] Si tienes varios dominios, configúralo primero en uno de prueba y verifica que todo funciona antes de aplicar el cambio global.
[WARNING] No desactives expose_php si estás depurando un error técnico y necesitas ver la versión exacta de PHP en las respuestas. Recuerda volver a activarlo cuando termines.
[INFO] La cabecera X-Powered-By no es la única fuente de información. Los errores de PHP también pueden revelar la versión. Asegúrate de configurar display_errors a "Off" en producción.
¡Espero que este artículo te haya sido de ayuda! Ahora ve y protege tu servidor.
