¿Cómo ocultar el número de versión de Apache y la información del sistema operativo?

Apache es uno de los servidores web más populares, pero su configuración predeterminada contiene opciones cuestionables en muchas distribuciones de Linux.

Apache tiende a anunciar su versión específica y la plataforma en la que se ejecuta, información que podría ser valiosa para los atacantes.

Este artículo rápido te mostrará cómo deshabilitar esta salida para ayudar a proteger tu servidor. Por lo general, no hay razón para que esté activo y apagarlo solo debería tomar un minuto.

¿Cuál es el problema?

En una instalación nueva de Apache 2.4 se muestra el índice de directorio, pero en el pie de página de la página se revela el código de versión de Apache, el nombre del sistema operativo y la dirección IP interna junto al número de puerto de su servidor.

Estos son detalles potencialmente sensibles. Una vulnerabilidad de día cero en Apache podría afectar solo a una pequeña variedad de versiones.

Al dejar esta salida activada, se muestra al mundo si tu máquina está en riesgo. Eso hace que sea mucho más fácil para los atacantes identificar tu host como un posible objetivo potencial.

Apache se refiere a estos datos como su “firma del servidor” y no se limita a las páginas de índice del directorio: El código de la versión se incluye en cada respuesta HTTP dentro del encabezado  Server (mostrando el número de versión de Apache).

Ese encabezado estará presente independientemente del código de estado de la respuesta.

Los atacantes pueden encontrar tu versión precisa de Apache simplemente enviando una solicitud a tu servidor, independientemente de si conocen una URL válida o no.

Deshabilitar la firma del servidor

Existen dos fórmulas para deshabilitar esa salida no deseada.

Primero está el valor de ServerSignature en tu archivo de configuración de Apache, la ubicación de ese archivo puede variar entre alguna de las siguientes posibles rutas: /etc/apache2/apache2.conf/usr/local/apache2/conf/httpd.conf .

La directiva ServerSignature también es compatible con los arechivos .htaccess de la raíz de tu web.

Configura la directiva para estar deshabilitada en  Off y ello desactivará la firma que aparece en las páginas web generadas por el servidor ServerSignature Off .

Luego Reinicia Apache para aplicar el cambio, puedes hacerlo en Linux mediante el comando: $ sudo servicio apache2 restart .

Eso afectará a las listas de directorios, las páginas de error predeterminadas de Apache y otros resultados HTML producidos por el servidor. Off eliminará por completo la línea de la firma.

La configuración admite opcionalmente un tercer valor,  EMail que proporciona un enlace para enviar un correo electrónico a la dirección definida por  ServerAdmin :

ServerAdmin [email protected]
ServerSignature EMail

Eso reemplaza la información de la versión de Apache con el enlace del correo electrónico.

Gestión de tokens de servidor

El contenido del encabezado Server de respuesta está controlado por una configuración diferente, ServerTokens .

Eso solo puede establecerse mediante el archivo de configuración global de tu servidor. No es compatible con los archivos internos de .htaccess .

El valor predeterminado de esta configuración es por defecto Full , este parámetro se encarga de presentar la cadena de la versión precisa y el nombre del sistema operativo.

Además, también puede incluir los números de versión de los módulos cargados y los motores de contenido CGI como PHP.

El parámetro se puede modificar con los siguientes valores alternativos:

  • Full Apache/2.4.2 (Ubuntu)
  • Prod Apache
  • Major Apache/2
  • Minor Apache/2.4
  • Min Apache/2.4.2
  • OS – Igual que  Full pero sin información sobre los módulos cargados

La elección de Prod es el valor más seguro. Puedes pensar en ello como  Produccion  aunque en realidad es la abreviatura de  ProductOnly .

Este token de servidor significa que el encabezado Server solamente revelará que estás usando Apache, sin ninguna información adicional.

Los atacantes tendrán que realizar más investigaciones de prueba y error para encontrar posibles vulnerabilidades explotables en tu instalación.

Desafortunadamente, no existe forma de eliminar el encabezado Server por completo.

Sin embargo, la mayoría de las personas nunca consumen el encabezado Server y siempre es más seguro anunciar la menor información posible sobre tu sistema.

Si bien, no evitarás la explotación de vulnerabilidades, ServerTokens Prod podría disuadir a los atacantes de realizar intentos especulativos.

También harás que sea más difícil para los transeúntes obtener detalles del funcionamiento interno de tu pila de tecnología.

Es solo un pequeño endurecimiento de seguridad pero algún día podría ser la diferencia que necesitas.

¿Qué pasa con PHP?

Apache se usa a menudo frente a sitios web y aplicaciones con tecnología de PHP.

Desafortunadamente, PHP tiene su propia costumbre de proporcionar su número de versión a Internet, ello parecerá en el encabezado X-Powered-By de las respuestas enviadas por tu código PHP.

Puedes desactivarlo modificando tu archivo de configuración de PHP con la siguiente línea exponer_php = Off

El archivo de configuración generalmente se puede encontrar en la ruta de /etc/php/8.1/apache2/php.ini reemplaza 8.1 con la versión de PHP que estás usando.

Deberás reiniciar tu servidor web para aplicar el cambio.

Conclusión final

La configuración predeterminada de Apache expone el número de versión preciso de tu servidor, así como tu sistema operativo y dirección IP.

Esta información aparentemente inocua, puede ayudar a los atacantes que buscan servidores vulnerables. Desactivar la firma del servidor es una forma rápida de fortalecer tu entorno.

También, es una buena idea abordar la exposición de información similar de otros posibles software dentro de tu pila.

Por ejemplo, PHP o algunos otros frameworks web que vengan con posibles vulnerabilidades similares.

Relacionados