¿Cómo eliminar el servidor: encabezado de la respuesta HTTP con Apache?

20

Me gustaría eliminar la línea:

Server: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g

de las respuestas HTTP de mi servidor, pero no pude encontrar nada más que modificar include/ap_release.hy compilar Apache yo mismo. Me preguntaba si hay una manera que desconozco.

Neo
fuente

Respuestas:

16

Puede eliminar o enmascarar la identificación del servidor del encabezado Http utilizando el firewall de la aplicación web de código abierto ModSecurity .

Máscara de identidad del servidor

Una técnica que a menudo ayuda a ralentizar y confundir a los atacantes es el cambio de identidad del servidor web. Los servidores web suelen enviar su identidad con cada respuesta HTTP en el encabezado del servidor. Apache es particularmente útil aquí, no solo enviando su nombre y versión completa por defecto, sino que también permite que los módulos del servidor agreguen sus versiones también.

Para cambiar la identidad del servidor web Apache, debe ingresar al código fuente, buscar dónde está codificado el nombre "Apache", cambiarlo y volver a compilar el servidor. El mismo efecto se puede lograr usando el

Directiva SecServerSignature:

SecServerSignature "Microsoft-IIS/5.0"

Cabe señalar que, aunque esto funciona bastante bien, los atacantes expertos (y herramientas) pueden utilizar otras técnicas para "huellas digitales" del servidor web. Por ejemplo, los archivos predeterminados, los mensajes de error, el orden de los encabezados salientes, la forma en que el servidor responde a ciertas solicitudes y similares, pueden revelar la verdadera identidad. Buscaré mejorar aún más el soporte para el enmascaramiento de identidad en las futuras versiones de mod_security.

Si cambia la firma de Apache pero le molesta el extraño mensaje en el registro de errores (algunos módulos aún están visibles; esto solo afecta al registro de errores, desde el exterior todavía funciona como se esperaba):

[Fri Jun 11 04:02:28 2004] [notice] Microsoft-IIS/5.0 mod_ssl/2.8.12 OpenSSL/0.9.6b \ configured -- resuming normal operations

Luego, debe reorganizar el orden de carga de los módulos para permitir que mod_security se ejecute en último lugar, exactamente como se explicó para el chrooting.

Nota

Para que esta directiva funcione, debe dejar / configurar ServerTokens en Full.

Cuando la directiva SecServerSignature se usa para cambiar la firma del servidor público, ModSecurity comenzará a escribir la firma real en el registro de errores, para permitirle identificar el servidor web y los módulos utilizados.

Fuente: Manual de referencia de ModSecurity

Chris_O
fuente
Se está ejecutando en este momento, pero creo que no es inteligente usar otro nombre de servidor existente porque puede desencadenar acciones de ataque.
Codebeat
27

Si establece ServerTokensen " Prod", puede reducir el encabezado a " Server: Apache". Consulte la documentación para obtener una lista completa de opciones:

Documentación para Apache 2.2

Documentación para Apache 2.4

Nota: La configuración es la misma en ambas versiones, sin embargo, la documentación 2.4 agrega esta nota:

No se recomienda configurar ServerTokens en menos que el mínimo porque hace que sea más difícil depurar problemas interoperativos También tenga en cuenta que deshabilitar el servidor: el encabezado no hace nada para que su servidor sea más seguro. La idea de "seguridad a través de la oscuridad" es un mito y conduce a una falsa sensación de seguridad.

Si desea eliminar la palabra "Apache" por completo, deberá modificar la fuente.

usuario1686
fuente
+1 tnx por la respuesta, olvidé mencionar en cuestión que estaba al tanto de esto, pero quiero que diga Microsoft IIS o algo así. Debería haberlo dejado claro.
Neo