|
Eliminando o modificando este banner, conseguiremos mas seguridad de forma sencilla y complicaremos la vida a posibles atacantes.
Como quitar y modificar el banner del servidor Apache *****************************************************
1.- Introduccion 2.- Modificar el banner (httpd.conf) 3.- Modificar el banner (codigo fuente)
1.- Introduccion ****************
Tanto los servidores web como otros servicios de red que se presentan en servidores te muestran un banner cuando conectas a ellos, este banner puede ser utilizado para sacar informacion de un servidor y de este modo poder saber que vulnerabilidades afectan a este software.
Por ejemplo conectando a un servidor web me da la siguiente informacion:
HTTP/1.1 200 OK Date: Thu, 01 May 2003 21:13:58 GMT Server: Apache/2.0.41 (Unix) (Red-Hat/Linux) mod_ssl/2.8.12 Connection: close Content-Type: text/html
Como podeis observar de ahi ya sabemos que servidor web utiliza, la version, el sistema operativo que es Red-Hat y la version del modulo mod_ssl, lo cual es muchisima informacion del servidor web y del propio sistema operativo. Aunque no tocaremos el tema en este texto, lo mismo ocurre con servidores FTP, telnet, pop y practicamente todos los servicios de red.
Pero no es algo inebitable, esto se puede configurar y eso es lo que vamos ha hacer en este texto, ale, vamos a darle leñita al asunto.....
2.- Modificar el banner (httpd.conf) ************************************
La modificacion del banner del servidor Apache se puede realizar de 2 formas. Una de las formas seria modificando el fichero de configuracion de Apache que es la que haremos ahora y con ella lo que podemos conseguir es minimizar la informacion que el banner mostrara de nuestro servidor.
Las opciones de configuracion de Apache que utilizaremos para ello son las siguientes:
-- ServerTokens - Que nos permite modificar el banner en si
Las opciones de configuracion de ServerTokens son las siguientes:
ServerTokens Prod[uctOnly] Banner de respuesta (e.g.): Server: Apache
ServerTokens Major Banner de respuesta (e.g.): Server: Apache/2
ServerTokens Minor Banner de respuesta (e.g.): Server: Apache/2.0
ServerTokens Min[imal] Banner de respuesta (e.g.): Server: Apache/2.0.41
ServerTokens OS Banner de respuesta (e.g.): Server: Apache/2.0.41 (Unix)
ServerTokens Full (o sin especificar) Banner de respuesta (e.g.): Server: Apache/2.0.41 (Unix) (Red-Hat/Linux) mod_ssl/2.8.12
De este modo podemos limitar vastante la informacion que nuestro servidor facilitara a los clientes.
-- ServerSignature - Que nos permite modificar informacion de las paginas de error
Ahora veamos la opcion ServerSignature, esta opcion nos permite modificar la informacion que se mostrara con un error 404 de pagina no encontrada, veamos que opciones de configuracion nos ofrece:
ServerSignature On Respuesta: Apache/1.3.26 Server at localhost Port 80
ServerSignature Off Respuesta: (En este caso no apareceria nada)
ServerSignature EMail Respuesta: Apache/1.3.26 Server at localhost Port 80
La direccion de e-mail que se mostrara en este caso sera la que especifiquemos mediante la opcion ServerAdmin en la configuracion de Apache. Para un resultado como el del ejemplo, la linea de configuracion seria: ServerAdmin mail@admin
Por lo tanto como podemos observar, aunque modifiquemos el banner, un cliente podria ver la version de nuestro servidor web simplemente accediendo a una pagina que no exista en el servidor, por eso tambien es necesario tener muy en cuenta la opcion ServerSignature.
3.- Modificar el banner (codigo fuente) ***************************************
Otra forma de modificar el banner que puede ser mas efectiva que la anterior aunque tambien un poco mas complicada, es hacerlo desde el codigo fuente de Apache antes de compilar la aplicacion. Para ello debemos bajarnos las fuentes que las podemos obtener en:
http://httpd.apache.org/download.cgi
NOTA: Las pruebas que yo he realizado han sido con la version 1.3.27
Una vez descargadas las fuentes, tendremos que descomprimirlas y una vez echo esto y habiendo entrado en el directorio que nos acaba de crear con las fuentes deberemos editar el fichero src/include/httpd.h y las lineas que debemos modificar estan apartir de la linea 428, concretamente son las lineas siguientes
#define SERVER_BASEPRODUCT "Apache" #define SERVER_BASEREVISION "1.3.27"
De modo que si por ejemplo modificamos estas 2 variables de la siguiente manera:
#define SERVER_BASEPRODUCT "SeSoX-WebServer" #define SERVER_BASEREVISION "3.5.7"
Cuando un cliente vea el banner de nuestro servidor web, este sera el siguiente:
Server: SeSoX-WebServer/3.5.7 (Unix) (Red-Hat/Linux) mod_ssl/2.8.12
Si complementamos esta modificacin de codigo con la siguiente opcion de apache:
ServerTokens Min[imal]
La respuesta de nuestro servidor sera la siguiente:
Server: SeSoX-WebServer/3.5.7
Con lo cual el cliente no tendra ningun tipo de informacion ni de que servidor web estamos utilizando, su version, del sistema operativo o de los modulos que tiene cargados dicho servidor web. No debemos olvidar la opcion ServerSignature que vimos anteriormente! ;)
Espero que este texto os haya sido de utilidad. Para cualquier comentario, mejora, sugerencia o agradecimiento os podeis dirigir a: SeSoX at govannom dot org
Este documento ha sido creado: 02/05/2003 Ultima revicion/modificaion: 02/05/2003
Autor: SeSoX Email: SeSoX at govannom dot org Web: http://www.govannom.org |