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 le mostrará cómo deshabilitar esta salida para ayudar a proteger su servidor. Por lo general, no hay razón para que esté activo y apagarlo solo debería tomar un minuto.

Índice de contenidos
  1. ¿Cuál es el problema?
  2. Deshabilitar la firma del servidor
  3. Gestión de tokens de servidor
  4. ¿Qué pasa con PHP?
  5. Resumen

¿Cuál es el problema?

Aquí hay una instalación nueva de Apache 2.4 que muestra un índice de directorio:

Imagen de la página de índice de Apache predeterminada que muestra la firma del servidor

El pie de página de la página revela el código de versión de Apache, el nombre del sistema operativo y la dirección IP interna y el 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, le muestra al mundo si su máquina está en riesgo. Esto hace que sea mucho más fácil para los atacantes identificar su host como un objetivo potencial.

Apache se refiere a estos datos como su "firma del servidor". 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 Server encabezamiento:

imagen que muestra cómo los encabezados de respuesta de Apache incluyen la firma del servidor de forma predeterminada

Estará presente independientemente del código de estado de la respuesta. Los atacantes pueden encontrar su versión precisa de Apache simplemente enviando una solicitud a su servidor, independientemente de si conocen una URL válida.

Deshabilitar la firma del servidor

Hay dos partes para deshabilitar esta salida no deseada. primero es el ServerSignature valor en su archivo de configuración de Apache. La ubicación de este archivo varía; /etc/apache2/apache2.conf y /usr/local/apache2/conf/httpd.conf son dos posibilidades comunes. los ServerSignature la directiva también es compatible en el interior .htaccess archivos en su raíz web.

Establezca la directiva en Off para deshabilitar la firma que aparece en las páginas web generadas por el servidor:

ServerSignature Off

Reinicie Apache para aplicar el cambio:

$ sudo service apache2 restart

Imagen de la página de índice de Apache predeterminada sin la firma del servidor

Esto afecta las listas de directorios, las páginas de error predeterminadas de Apache y otros resultados HTML producidos por el servidor. Off elimina por completo la línea de la firma. La configuración admite opcionalmente un tercer valor, EMailque proporciona un enlace para enviar un correo electrónico a la dirección definida por ServerAdmin:

ServerAdmin [email protected]
ServerSignature EMail

Esto 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 de la Server el encabezado de respuesta está controlado por una configuración diferente, ServerTokens. Esto solo puede establecerse mediante el archivo de configuración global de su servidor. No es compatible en el interior .htaccess archivos

El valor predeterminado es Full que presenta la cadena de versión precisa y el nombre del sistema operativo observado en el ejemplo anterior. Esto también puede incluir los números de versión de los módulos cargados y los motores de contenido CGI como PHP.

Se admiten 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

los Prod la elección es el valor más seguro. Puedes pensar en ello como Productionaunque en realidad es la abreviatura de ProductOnly. Este token de servidor significa el Server El encabezado solo revelará que está utilizando Apache, sin ninguna información adicional sobre el lanzamiento. Los atacantes tendrán que realizar más investigaciones de prueba y error para encontrar vulnerabilidades explotables en su instalación.

Desafortunadamente, no hay forma de eliminar el Server encabezado en total. Apache en realidad sostiene que deshabilitarlo "no hace nada en absoluto para que su servidor sea más seguro" y sugiere el uso de Min para facilitar la depuración de problemas interoperacionales.

Sin embargo, la mayoría de la gente nunca consume el Server encabezado y siempre es más seguro anunciar la menor información posible sobre su sistema. Si bien no evitará la explotación de vulnerabilidades, ServerTokens Prod podría disuadir a los atacantes de hacer intentos especulativos. También hará que sea más difícil para los transeúntes obtener detalles del funcionamiento interno de su pila de tecnología. Es solo un pequeño endurecimiento 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. Aparecerá en el X-Powered-By encabezado de las respuestas enviadas por su código PHP.

Puede desactivar esto modificando su archivo de configuración de PHP con la siguiente línea:

expose_php = Off

El archivo de configuración generalmente se puede encontrar en /etc/php/8.1/apache2/php.ini. Reemplazar 8.1 con la versión de PHP que estás usando. Deberá reiniciar su servidor web para aplicar el cambio.

Resumen

La configuración predeterminada de Apache expone el número de versión preciso de su servidor, así como su 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 su entorno. También es una buena idea abordar la exposición de información similar de otro software en su pila al mismo tiempo. PHP y algunos frameworks web vienen con vulnerabilidades similares.

Descubre más contenido

Subir Change privacy settings