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.
organizador visula diversidad linguistica y etnica.docx
Apache: información sobre nuestro servidor web
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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