Búsqueda de sitios web

Cómo ocultar el número de versión de PHP en el encabezado HTTP


La configuración de PHP, de forma predeterminada, permite que el encabezado de respuesta HTTP del servidor 'X-Powered-By' muestre la versión de PHP instalada en un servidor.

Por razones de seguridad del servidor (aunque no es una amenaza importante por la que preocuparse), se recomienda deshabilitar u ocultar esta información a los atacantes que podrían estar apuntando a su servidor al querer saber si está ejecutando PHP o no.

Suponiendo que una versión particular de PHP instalada en su servidor tiene agujeros de seguridad y, por otro lado, los atacantes llegan a saberlo, les resultará mucho más fácil explotar las vulnerabilidades y obtener acceso al servidor a través de scripts.

En mi artículo anterior, mostré cómo ocultar el número de versión de Apache, donde viste cómo desactivar la versión instalada de Apache. Pero si está ejecutando PHP en su servidor web Apache, también deberá ocultar la versión instalada de PHP, y esto es lo que mostraremos en este artículo.

Por lo tanto, en esta publicación, explicaremos cómo ocultar o desactivar la visualización del número de versión de PHP en el encabezado de respuesta HTTP del servidor.

Esta configuración se puede configurar en el archivo de configuración PHP cargado. En caso de que no conozca la ubicación de este archivo de configuración en su servidor, ejecute el siguiente comando para encontrarlo:

php -i | grep "Loaded Configuration File"
---------------- On CentOS/RHEL/Fedora ---------------- 
Loaded Configuration File => /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
Loaded Configuration File => /etc/php/7.0/cli/php.ini

Antes de realizar cambios en el archivo de configuración de PHP, le sugiero que primero haga una copia de seguridad de su archivo de configuración de PHP de esta manera:

---------------- On CentOS/RHEL/Fedora ---------------- 
sudo cp /etc/php.ini /etc/php.ini.orig

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
sudo cp /etc/php/7.0/cli/php.ini  /etc/php/7.0/cli/php.ini.orig  

Luego abra el archivo usando su editor favorito con privilegios de superusuario así:

---------------- On CentOS/RHEL/Fedora ---------------- 
sudo vi /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
sudo vi /etc/php/7.0/cli/php.ini

Localice la palabra clave expose_php y establezca su valor en Off:

expose_php = off

Guarda el archivo y cierra. Luego, reinicie el servidor web de la siguiente manera:

---------------- On SystemD ---------------- 
sudo systemctl restart httpd
sudo systemctl restart apache2 

---------------- On SysVInit ---------------- 
sudo service httpd restart
sudo service apache2 restart

Por último, pero no menos importante, verifique si el encabezado de respuesta HTTP del servidor todavía muestra su número de versión de PHP usando el siguiente comando.

lynx -head -mime_header http://localhost 
OR
lynx -head -mime_header http://server-address

donde las banderas:

  1. -head: envía una solicitud HEAD para los encabezados mime.
  2. -mime_header: imprime el encabezado MIME de un documento recuperado junto con su fuente.

Nota: asegúrese de tener instalado en su sistema el navegador web de línea de comandos lynx.

¡Eso es todo! En este artículo, explicamos cómo ocultar el número de versión de PHP en el encabezado de respuesta HTTP del servidor para proteger un servidor web de posibles ataques. Puede agregar una opinión a esta publicación o quizás hacer cualquier pregunta relacionada a través del formulario de comentarios a continuación.