Ocultar la versión PHP del Servidor Web ( X-Powered-By )

La seguridad del sitio web es el componente más importante y crítico del alojamiento web.

Los ataques cibernéticos pueden dañar su aplicación.

Este tutorial le ayudará a ocultar los detalles de la versión de Apache/PHP a los usuarios finales.

Antes de hacer el cambio, primero usa el comando below para ver qué servidor de información está enviando un encabezado HTTP.

¿Qué significa “X-Powered-By”?

“X-Powered-By” es un encabezado de respuesta HTTP común no estándar (la mayoría de los encabezados con el prefijo ‘X-‘ no son estándar).

A menudo se incluye por defecto en las respuestas construidas a través de una tecnología de scripts particular.

Es importante señalar que puede ser desactivada y/o manipulada por el servidor.

Algunos servidores optaron por no incluirlo o incluso proporcionar información engañosa para despistar a los hackers que podrían tener como objetivo una tecnología/versión en particular.

Eliminar X-Powered-By php del encabezado de respuesta del HTTP

Paso 1 – Revisar los detalles del encabezado

Puedes usar el comando curl o wget para obtener detalles de la cabeza de cualquier sitio web a través de la línea de comandos.

$wget --server-response --spider http://example.com/index.php
Ocultar la versión PHP del Servidor Web
Ocultar la versión PHP del Servidor Web

Anote los detalles anteriores y guárdelos para compararlos más adelante. Sigamos los pasos para ocultar los detalles.

Paso 2 – Ocultar los detalles del servidor Apache

Primero que nada, encuentra y edita el archivo de configuración de Apache en tu sistema. El archivo de configuración de Apache se puede encontrar en la siguiente ubicación.

Archivos de configuración

  • CentOS/Fedora/Redhat – /etc/httpd/conf/httpd.conf
  • Ubuntu/Debian/Linuxmint – /etc/apache2/conf-enabled/security.conf

Directiva de Setup ServerTokens

La directiva ServerTokens controla si el campo de cabecera de la respuesta del servidor que se envía a los clientes incluye los detalles genéricos del sistema operativo.

Se pueden configurar las siguientes opciones con los valores de respuesta cuando se utiliza eso. Utilice una de las siguientes opciones en función del servidor.

ServerTokens Prod    # Server sends (e.g.): Server: Apache

haga clic aquí para ver más opciones para usar con la directiva ServerTockens

Configurar la Directiva de Firma de Servidores

El ServerSignature configura el pie de página en los documentos generados por el servidor. Edita el archivo de configuración de Apache y busca la directiva ServerSignature y actualízala. Lea más sobre ServerSignature

ServerSignature Off

Paso 3 – Ocultar la versión PHP

Por defecto, la instalación de PHP expone al mundo que PHP está instalado en el servidor, que incluye la versión de PHP dentro del encabezado HTTP (por ejemplo:, X-Powered-By: PHP/7.2.0-2+ubuntu16.04.1+deb.sury.org+2). Leer más.

Archivo de configuración

  • CentOS/Fedora/Redhat – /etc/php.ini
  • Ubuntu/Debian/Linuxmint – /etc/php/7.2/apache2/php.ini

Para ocultar estos valores de la cabecera, edite php.ini y actualice la siguiente directiva a Off.

expose_php = Off

Paso 4 – Recargar Apache y verificar la configuración

Reinicie el servidor Apache para recargar los cambios.

$sudo sytemctl restart httpd.service        ## Redhat systems 
$sudo sytemctl restart apache2.service      ## Debian systems

Ha hecho los cambios necesarios en su servidor. Ahora vuelve a usar el comando below después de hacer todos los cambios y compara la salida con los resultados anteriores.

wget --server-response --spider http://example.com/index.php

Paso 5 – Probar la salida

Para probar sus cabeceras de respuesta HTTP utilizo curl -I. La opción -I nos dará los encabezados de respuesta de vuelta.

curl -I example.com

Como pueden ver, el X-Powered-By ya no se encuentra en las cabeceras de respuesta HTTP.

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 05 Nov 2014 21:00:36 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding

Deja un comentario