Apache: información sobre nuestro servidor web

1,653 views

Published on

Activación, configuración y uso de los módulos mod_info y mod_status para obtener información y monitorizar nuestro servidor web.
Se han añadido además directivas de configuración para la limitación de acceso de usuarios indeseados a dicha información.

Published in: Self Improvement
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,653
On SlideShare
0
From Embeds
0
Number of Embeds
303
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Apache: información sobre nuestro servidor web

  1. 1. IES Gran Capitán Módulo: Despliegue de Aplicaciones Web Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web” Práctica 8: Monitorización de un servidor web Apache Fecha entrega: 18/11/2012 Autor: Pablo Medina Suárez IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org informatica@iesgrancapitan.org
  2. 2. Práctica 8: Monitorización de un servidor web Apache 2 1 ÍNDICE 1 ÍNDICE 2 2 INTRODUCCIÓN 3 3 DESARROLLO DE LA PRÁCTICA 4 3.1 EXPLICA CON TUS PALABRAS QUÉ SON Y PARA QUÉ SIRVEN MOD_INFO, MOD_STATUS, MOD_LOG_CONFIG Y MOD_USERTRACK 4 3.2 MONITORIZA TU SERVIDOR WEB (EL QUE TÚ QUIERAS): MOD_INFO 5 3.2.1 COMPRUEBA SI EL MÓDULO MOD_INFO ESTÁ ACTIVO Y EN CASO NEGATIVO ACTÍVALO; CONFIGURA EL FICHERO HTTPD.CONF DE FORMA ADECUADA PARA MOSTRAR INFORMACIÓN SOBRE TU SERVIDOR WEB 5 3.2.2 DESCRIBE EL CONTENIDO DEL FICHERO INFO.CONF 6 3.2.3 RESTRINGE EL ACCESO A ESTA INFORMACIÓN: SÓLO DEBES PERMITIR QUE SEA VISIBLE PARA EL LOCALHOST Y UNA MÁQUINA CLIENTE CONCRETA (USA LA AUTENTICACIÓN REALIZADA EN PRÁCTICAS ANTERIORES) 7 3.2.4 ACCEDE DESDE EL NAVEGADOR DEL CLIENTE AUTORIZADO AL SERVIDOR WEB DE FORMA QUE SE MUESTRE LA INFORMACIÓN 7 3.2.5 MUESTRA SÓLO INFORMACIÓN DEL SERVIDOR: USA HTTP://[NOMBRE_SERVER]/[SETHANDLER]?SERVER EJ: HTTP://LOCALHOST/SERVER-INFO?SERVER 8 3.2.6 MUESTRA SÓLO INFORMACIÓN DE UN DETERMINADO MÓDULO: USA HTTP://[NOMBRE_SERVER]/[SETHANDLER]?[NOMBREDELMÓDULO] EJ: HTTP://LOCALHOST/SERVERINFO?MOD_CGI.C 9 3.3 MONITORIZA TU SERVIDOR WEB (EL QUE TÚ QUIERAS): MOD_STATUS 9 3.3.1 COMPRUEBA SI EL MÓDULO MOD_STATUS ESTÁ ACTIVO Y EN CASO NEGATIVO ACTÍVALO; CONFIGURA EL FICHERO HTTPD.CONF DE FORMA ADECUADA PARA MOSTRAR DICHA INFORMACIÓN SOBRE TU SERVIDOR WEB 9 3.3.2 DESCRIBE EL FICHERO STATUS.CONF 10 3.3.3 RESTRINGE EL ACCESO A ESTA INFORMACIÓN: SÓLO DEBES PERMITIR QUE SEA VISIBLE PARA EL USUARIO ADMINISTRADOR DE TU SERVIDOR WEB (USA LA AUTENTICACIÓN REALIZADA EN PRÁCTICAS ANTERIORES) 11 3.3.4 ACCEDE DESDE EL NAVEGADOR CON EL USUARIO AUTORIZADO AL SERVIDOR WEB DE FORMA QUE SE MUESTRE LA INFORMACIÓN 12 3.4 (OPCIONAL) HAZ LA CONFIGURACIÓN ADECUADA EN TU SERVIDOR PARA USAR MOD_LOG_CONFIG Y MUESTRA SU FUNCIONAMIENTO 13 4 CONCLUSIÓN 14 5 BIBLIOGRAFIA 15 IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  3. 3. Práctica 8: Monitorización de un servidor web Apache 2 INTRODUCCIÓN - Duración: 2 sesiones. Objetivo: Monitorizar el funcionamiento y configuración de un servidor web. Procedimiento: 1. Leer el enlace sobre este tema (subido a Moodle). 2. Leer el enlace del caso práctico (Moodle). IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 3
  4. 4. Práctica 8: Monitorización de un servidor web Apache 3 DESARROLLO DE LA PRÁCTICA 3.1 Explica con tus palabras qué son y para qué sirven mod_info, mod_status, mod_log_config y mod_usertrack  Mod_info: Este módulo provee una visión general de la configuración del servidor sobre el que está funcionando. Una vez está activo, si accedemos a la dirección http://tu-host/serverinfo, podremos visualizar la información del servidor. Debe ser utilizado en un entorno controlado y siempre con precaución, ya que puede revelar al usuario información sensible relacionada con el servidor, lo que puede causar vulnerabilidades.  Mod_status: Provee información de la actividad y del rendimiento del servidor. Ofrece al administrador del servidor estadísticas de rendimiento (peticiones, información de workers, accesos, tiempo de funcionamiento, porcentaje de CPU utilizado, etc…) en un estilo fácilmente legible, mediante una página HTML. Este módulo puede ser utilizado para la resolución de problemas del servidor, si por ejemplo éste consume todos los recursos disponibles de la máquina y no sabemos por qué.  Mod_log_config: Provee un registro de peticiones de los clientes al servidor. Dichos logs de registro se escriben en un formato personalizable, pudiendo ser exportados a un fichero o a un programa externo para que los procese. También ofrece opciones de registro condicional, con lo que se pueden incluir o excluir peticiones, según sus características. Este módulo ofrece tres directivas:  TransferLog: crea el archivo de registro  LogFormat: permite definir un formato personalizado para los registros.  CustomLog: combina las dos directivas anteriores en una sola.  Mod_usertrack: Permite rastrear los movimientos de un usuario por un sitio web del servidor, utilizando cookies de rastreo. Lo que hace este módulo es establecer una cookie, de la cual pueden ser almacenados registros mediante la utilización del módulo mod_log_config. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 4
  5. 5. Práctica 8: Monitorización de un servidor web Apache 3.2 Monitoriza tu servidor web (el que tú quieras): mod_info 3.2.1 Comprueba si el módulo mod_info está activo y en caso negativo actívalo; configura el fichero httpd.conf de forma adecuada para mostrar información sobre tu servidor web Para comprobar si el estado del módulo, tan sólo tenemos que echar un vistazo al directorio /etc/apache2/mods-enabled: Los ficheros correspondientes a mod_info no se encuentran entre los módulos activos, pero sí entre los disponibles, en/etc/apache2/mods-available: De esta manera, tenemos que activar el módulo, introduciendo en el terminal la orden sudo a2enmod, tras lo cual reiniciamos el servicio para que los cambios tengan lugar. Por último, hay que acceder al fichero /etc/apache/httpd.conf y añadir la siguiente información: La directiva indispensable dentro de <Location /server-info> es SetHandler serverinfo, sin embargo, es recomendable limitar las máquinas que pueden tener acceso a la información, por motivos de seguridad. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 5
  6. 6. Práctica 8: Monitorización de un servidor web Apache Reiniciamos el servicio una vez más. Con la configuración anterior, sólo la máquina servidor tiene acceso a la información, por lo que lo siguiente es comprobar el resultado, así que se procede a abrir el navegador web y a entrar a direccióndelservidor/server-info: Puede verse como funciona correctamente la configuración realizada y se nos muestra diversa información del servidor. 3.2.2 Describe el contenido del fichero info.conf Al acceder al fichero info.conf puede verse la siguiente información: Con la directiva SetHandler server-info se habilita el uso del módulo. A continuación aparecen directivas de control de acceso, donde se ha permitido el acceso únicamente al localhost y, en caso de descomentar la siguiente línea y modifar la dirección que aparece como ejemplo, se permitiría el acceso a otros hosts. En definitiva, aparece el mismo contenido que podría introducirse en httpd.conf. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 6
  7. 7. Práctica 8: Monitorización de un servidor web Apache 3.2.3 Restringe el acceso a esta información: sólo debes permitir que sea visible para el localhost y una máquina cliente concreta (usa la autenticación realizada en prácticas anteriores) En los pasos anteriores he permitido el acceso únicamente al localhost, así que ahora le daré acceso a otra máquina cliente, añadiendo la siguiente línea al archivo httpd.conf: 3.2.4 Accede desde el navegador del cliente autorizado al servidor web de forma que se muestre la información Tras el paso anterior, reiniciamos el servidor y comprobamos los cambios realizados, esta vez desde ambas máquinas, servidor y cliente, respectivamente: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 7
  8. 8. Práctica 8: Monitorización de un servidor web Apache 8 Este es el resultado si intentamos acceder desde una máquina no autorizada: 3.2.5 Muestra sólo información del http://[nombre_server]/[SetHandler]?server Ej: http://localhost/server-info?server servidor: Usa Usando la máquina cliente, se accede a http://192.168.115.99/server-info?server, donde se muestra lo siguiente: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  9. 9. Práctica 8: Monitorización de un servidor web Apache 3.2.6 Muestra sólo información de un determinado http://[nombre_server]/[SetHandler]?[nombredelmódulo] Ej: http://localhost/server-info?mod_cgi.c 9 módulo: Usa Desde la máquina cliente, se accede a http://192.168.115.99/server-info? mod_ssl.c¸ donde podemos ver información relacionada con uno de los módulos que utilizamos anteriormente: 3.3 Monitoriza tu servidor web (el que tú quieras): mod_status 3.3.1 Comprueba si el módulo mod_status está activo y en caso negativo actívalo; configura el fichero httpd.conf de forma adecuada para mostrar dicha información sobre tu servidor web Comprobamos mods-enabled: Vemos que se encuentra activado (status.conf y status.load). De no tenerlo activado, se haría con la orden sudo a2enmod status, tras lo cual habría que reiniciar el servicio Apache. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  10. 10. Práctica 8: Monitorización de un servidor web Apache Nos falta introducir las siguientes líneas en el fichero /etc/httpd.conf para poder utilizar el módulo: Además de habilitarlo, se ha restringido el acceso sólo para localhost. 3.3.2 Describe el fichero status.conf Si accedemos al fichero status.conf, vemos lo siguiente: La directivas contenidas dentro de <Location /server-status> activan el módulo (SetHandler) y limitan el acceso, en este caso únicamente se permite el acceso al localhost, de descomentar la siguiente línea y modificar la dirección, se permitiría el acceso a otras máquinas. La directiva ExtendedStatus On añade información extendida a las peticiones. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 10
  11. 11. Práctica 8: Monitorización de un servidor web Apache De descomentar la directiva SeeRequestTail On se mostrarían los últimos 63 caracteres de las peticiones. Si el módulo mod_proxy.c está activo, la directiva ProxyStatus mostraría la información de un posible servidor proxy. 3.3.3 Restringe el acceso a esta información: sólo debes permitir que sea visible para el usuario administrador de tu servidor web (usa la autenticación realizada en prácticas anteriores) Para ello, tenemos que añadir las siguientes líneas en el archivo httpd.conf: Puede observarse como he comentado las líneas en las que se limitaba el acceso únicamente al usuario localhost, ya que ahora sólo tendrá acceso el usuario pabloms. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 11
  12. 12. Práctica 8: Monitorización de un servidor web Apache 3.3.4 Accede desde el navegador con el usuario autorizado al servidor web de forma que se muestre la información Hecho lo anterior, reiniciamos el servicio Apache una vez más y abrimos el navegador para comprobar si los cambios han surtido efecto, donde introduciremos la dirección http://direcciondelservidor/server-status: Vemos que nos ha aparecido una ventana de login, por lo que los cambios que hemos realizado han tenido efecto, aparentemente. Lo comprobaré introduciendo un usuario distinto al permitido (donde nos vuelve a preguntar el acceso), y después introduciendo pabloms, es decir, el usuario habilitado para acceder: Este es el resultado mostrado tras acceder con el usuario válido. Ya podemos visualizar el estado de nuestro servidor. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 12
  13. 13. Práctica 8: Monitorización de un servidor web Apache 3.4 (Opcional) Haz la configuración adecuada en tu servidor para usar mod_log_config y muestra su funcionamiento IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 13
  14. 14. Práctica 8: Monitorización de un servidor web Apache 4 CONCLUSIÓN Durante el desarrollo de esta práctica he aprendido a activar y configurar en nuestro servidor dos de los módulos esenciales para la monitorización de servidores Apache: mod_info y mod_status. Conocer las vías para observar el comportamiento y los recursos de nuestro servidor es algo primordial, sobre todo cuando algún problema interrumpe el correcto funcionamiento de éste, y es recomendable que utilicemos estas herramientas tanto para descubrir si existe algún problema, como para encontrar su solución. Sin embargo, esta información no sólo es útil para el administrador, sino que también lo puede ser para un usuario malintencionado, por lo que debemos restringir correctamente el acceso este información para evitar comprometer la seguridad de nuestro servidor. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 14
  15. 15. Práctica 8: Monitorización de un servidor web Apache 5 BIBLIOGRAFIA  Documentación oficial Apache, módulos Consultado en: http://httpd.apache.org/docs/2.4/mod/  Módulos Apache, información y rendimiento: caso práctico Consultado en: http://moodle.iesgrancapitan.org/file.php/63/Apache/Rendimiento_servWEB.pd f IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org 15

×