Guía de seguridad de phpinfo.php: Riesgos, mejores prácticas y protección
Contenido de la guía
El archivo phpinfo.php es uno de los recursos de diagnóstico más utilizados por desarrolladores PHP y administradores de sistemas. Al ejecutar la función phpinfo(), el servidor genera una página HTML detallada con la configuración interna de PHP, módulos activos, rutas del sistema de archivos y variables de entorno. Sin embargo, dejar este archivo accesible al público en un servidor de producción en vivo representa un grave riesgo de seguridad clasificado como Divulgación de Información (Information Disclosure - CWE-200).
En ciberseguridad, la fase de reconocimiento es el primer paso de cualquier ataque informático. Un archivo phpinfo.php expuesto proporciona a los atacantes una huella técnica exacta de tu servidor. Esta guía analiza los riesgos de seguridad, la información expuesta y los pasos prácticos para deshabilitar y proteger tu entorno PHP.
Información sensible expuesta por phpinfo.php
- Versión exacta de PHP y servidor web: Permite identificar vulnerabilidades CVE conocidas específicas para esa versión.
- Rutas absolutas del sistema: Muestra la ruta completa del directorio raíz (ej.
/home/usuario/public_html), facilitando ataques de inclusión de archivos locales (LFI). - Directiva de funciones deshabilitadas (disable_functions): Muestra qué funciones peligrosas como
execosystemestán disponibles para ejecutar comandos. - Variables de entorno y credenciales: Expone arreglos
$_ENVy$_SERVERcon contraseñas de bases de datos y claves de API.
Instrucciones para eliminar y deshabilitar phpinfo.php
1. Eliminación física del archivo
A través del Administrador de Archivos de cPanel o por consola SSH, elimina de inmediato los archivos llamados phpinfo.php o info.php :
find /home/*/public_html -type f -name "*info*.php" -delete
2. Deshabilitar la función en php.ini
Agrega phpinfo a la directiva disable_functions en tu archivo php.ini principal :
disable_functions = phpinfo, exec, system, shell_exec, passthru
3. Bloquear el acceso mediante .htaccess
Agrega las siguientes reglas a tu archivo .htaccess :
<FilesMatch "(phpinfo|info|test)\.php$">
Order Allow,Deny
Deny from all
</FilesMatch>
Alojamiento seguro y protección de la infraestructura
Refuerza la seguridad de tu sitio web contratando los planes de alojamiento cloud administrado de VavaHost con entorno aislado CloudLinux LVE y tecnología LiteSpeed.
Consulta nuestras recomendaciones de seguridad en nuestra guía de protección del inicio de sesión en WordPress.
Asegura las conexiones cifradas consultando nuestra guía completa sobre certificados SSL y cifrado HTTPS de VavaHost.
En resumen, eliminar y deshabilitar phpinfo.php es un requisito indispensable para mantener tu servidor a salvo de escaneos maliciosos.
Análisis profundo de arquitectura y cumplimiento normativo
El alineamiento de las prácticas de seguridad con las normas internacionales es indispensable para cualquier organización digital moderna. La implementación de políticas de control de acceso estrictas permite responder a las exigencias de auditorías de seguridad como SOC 2 Tipo II, ISO 27001 y GDPR. La integración de controles automatizados garantiza que cada modificación de infraestructura cuente con trazabilidad completa y validación sistemática antes de su despliegue en producción.
Además, la adopción de soluciones probadas reduce significativamente los riesgos de interceptación y falsificación de datos. Los equipos técnicos deben realizar revisiones periódicas de las configuraciones de los servidores web, bases de datos y componentes de red para eliminar cualquier vulnerabilidad emergente y asegurar la máxima resiliencia de la plataforma.
Análisis profundo de directivas de seguridad y vectores de explotación
Comprender cómo interactúan las directivas de PHP es esencial para proteger el servidor. Por ejemplo, la directiva open_basedir limita las rutas de archivos a las que pueden acceder los scripts PHP. Si phpinfo() revela que open_basedir no está configurado, un atacante que aproveche una falla de inclusión de archivos locales (LFI) podrá leer archivos del sistema como /etc/passwd o configuraciones con contraseñas en texto plano.
De igual manera, exponer session.save_path permite a usuarios malintencionados en servidores compartidos inspeccionar el directorio de almacenamiento de sesiones, secuestrar cookies de sesión de administradores y eludir el proceso de autenticación.
Configuración de reglas ModSecurity y cortafuegos de aplicaciones web (WAF)
Implementar reglas en el cortafuegos de aplicaciones web (WAF) permite bloquear automáticamente intentos de escaneo malicioso. Directivas personalizadas de ModSecurity analizan solicitudes HTTP y rechazan accesos dirigidos a archivos de diagnóstico como phpinfo.php.
Además, establecer límites de tasa de peticiones (Rate Limiting) en servidores Nginx o LiteSpeed evita que bots automatizados consuman recursos del servidor.
Monitoreo continuo y auditorías periódicas de seguridad
Eliminar el archivo phpinfo.php es solo el primer paso de una estrategia de seguridad integral. Es fundamental establecer auditorías periódicas para detectar nuevos archivos de diagnóstico que puedan depositarse accidentalmente durante actualizaciones de desarrollo. Herramientas como Nikto, WPScan o los escáneres integrados en su panel de control pueden automatizar esta vigilancia.
Active los registros de acceso HTTP y analice regularmente las solicitudes sospechosas que apunten a rutas como /info.php o /test.php. Esta supervisión proactiva reduce drásticamente la ventana de exposición ante errores humanos.
Separación estricta entre entornos de desarrollo y producción
Mantenga una separación rigurosa entre su entorno de desarrollo local (donde phpinfo() es útil para depuración) y los servidores de producción. Sus pipelines de CI/CD deben incluir pasos de verificación que detecten y rechacen cualquier archivo de diagnóstico antes del despliegue en producción.
Configure también expose_php = Off y display_errors = Off en el archivo php.ini de producción para evitar que el servidor transmita información de versión en los encabezados HTTP o muestre trazas de error a los visitantes.
Protección integral de su infraestructura de alojamiento
La seguridad de su servidor va más allá de la gestión de archivos PHP. Asegúrese de que su infraestructura de alojamiento incorpore protecciones multicapa. Conozca los getLocale() . '/plans') . ''">planes de alojamiento cloud seguro de VavaHost, que incluyen entornos aislados y herramientas de vigilancia en tiempo real para proteger sus aplicaciones web de las amenazas más modernas.
Checklist de verificación de seguridad PHP
Antes de considerar seguro su entorno PHP, verifique los siguientes puntos clave: confirme que ningún archivo phpinfo.php o info.php está accesible desde el navegador, asegúrese de que disable_functions incluya las funciones peligrosas críticas, compruebe que expose_php = Off esté activo en php.ini, y verifique que sus reglas .htaccess o de cortafuegos bloquean activamente las solicitudes a archivos de diagnóstico. Esta revisión periódica garantiza que su servidor mantenga una postura de seguridad robusta frente a las amenazas automatizadas más comunes.