3.2. Respuesta a la tercera pregunta:

Los pasos necesarios para completar esta pregunta han sido la instalación y configuración de apache y MRTG en un sistema Debian GNU/Linux y, finalmente, el establecimiento de una clave de acceso en el directorio donde MRTG almacena los datos recabados.

3.2.1. Instalación y configuración de apache y MRTG

Primeramente instalaremos apache, cuya configuración no va a variar de la que trae por defecto Debian GNU/Linux. Para proceder ejecutamos:

# apt-get install apache
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
0 actualizados, 1 se instalarán, 0 reinstalados, 0 para eliminar y 0 no actualizados.
Se necesita descargar 0B/365kB de archivos.
Se utilizarán 0B de espacio de disco adicional después de desempaquetar.
¿Desea continuar? [S/n]
Leyendo bitácoras... Hecho.
Preconfiguring packages ...
(Leyendo la base de datos ...
218303 ficheros y directorios instalados actualmente.)
Preparando para reemplazar apache 1.3.29.0.1-3 (usando .../apache_1.3.29.0.1-3_i386.deb) ...
Stopping web server: apacheNo process in pidfile `/var/run/apache.pid' found running; none killed.
.
Desempaquetando el reemplazo de apache ...
Configurando apache (1.3.29.0.1-3) ...

Figura 3.1. Pantalla de configuración de apache durante la instalación

Pantalla de configuración de apache durante la instalación


Starting web server: apacheProcessing config directory: /etc/apache/conf.d
.

localepurge: checking system for new locale ...
localepurge: processing locale files ...
localepurge: processing man pages ...

Tras lo cual apache estará ejecutándose. Seguidamente instalamos MRTG como sigue, respondiendo que a la pregunta formulada durante la configuración del paquete:

# apt-get install mrtg
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Se instalarán los siguientes paquetes extras:
  libsnmp-session-perl
Paquetes recomendados
  libio-socket-inet6-perl
Se instalarán los siguientes paquetes NUEVOS:
  libsnmp-session-perl mrtg
0 actualizados, 2 se instalarán, 0 para eliminar y 2 no actualizados.
Se necesita descargar 0B/625kB de archivos.
Se utilizarán 1896kB de espacio de disco adicional después de desempaquetar.
¿Desea continuar? [S/n]
Leyendo bitácoras... Hecho.
Preconfiguring packages ...

Figura 3.2. Pantalla de configuración de MRTG durante la instalación

Pantalla de configuración de MRTG durante la instalación


Seleccionando el paquete libsnmp-session-perl previamente no seleccionado.
(Leyendo la base de datos ...
218303 ficheros y directorios instalados actualmente.)
Desempaquetando libsnmp-session-perl (de .../libsnmp-session-perl_0.97-2_all.deb) ...
Seleccionando el paquete mrtg previamente no seleccionado.
Desempaquetando mrtg (de .../mrtg_2.9.29-1_i386.deb) ...
Configurando libsnmp-session-perl (0.97-2) ...

Configurando mrtg (2.9.29-1) ...

localepurge: checking system for new locale ...
localepurge: processing locale files ...
localepurge: processing man pages ...

Ahora que ya tenemos el software necesario para proseguir con la práctica. En la siguiente sección se verá como obtener los datos del switch con MRTG.

3.2.2. Leer la información del switch con MRTG

Para conseguir que MRTG lea la información de las interfaces del switch que está detrás de la IP 192.168.69.200, ejecutamos el siguiente comando:

# /usr/bin/cfgmaker public@192.168.69.200

Tras lo cual consultará al switch y generará automáticamente un archivo de configuración para este[1]. Por defecto, Debian GNU/Linux ya deja configurado el sistema de la forma requerida en el ejercicio: los archivos de MRTG irán al directorio /var/www/mrtg.

La variable WorkDir: es la encargada de decirle a MRTG donde almacenar los datos obtenidos de los dispositivos. Por este motivo, es necesario que dicha variable tenga el valor /var/www/mrtg.

3.2.3. Configuración de cron

Finalmente hemos de comprobar que la entrada del cron encargada de actualizar MRTG se ejecute cada 5 minutos. La configuración por defecto de Debian ya lo deja así, por lo que no tendríamos que tocar nada, como se aprecia en el archivo del cron para MRTG:

$ cat /etc/cron.d/mrtg
0-55/5 *        * * *   root    if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then /usr/bin/mrtg /etc/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1; fi

Como se puede apreciar en la línea anterior, se ha definido un rango de minutos de 0 a 55, y luego se ha dividido este rango de 5 en 5, lo que implica que se ejecutará cada 5 minutos.

3.2.4. Asegurar el directorio /var/www/mrtg

Para asegurar el directorio de información de MRTG, haremos uso de los archivos .htaccess y .htpasswd. Antes de crearlos, configuraremos apache para que busque dichos archivos en el directorio /var/www/mrtg añadiendo las siguientes líneas al /etc/apache/httpd.conf[2]:

<Directory /var/www/mrtg/>
        AllowOverride AuthConfig
        Order allow,deny
        Allow from all
</Directory>

Ahora le decimos a apache que lea de nuevo su archivo de configuración:

# /etc/init.d/apache reload
Reloading apache configuration.

Y ha lo tenemos listo para que nos solicite autentificación al tratar de acceder al directorio /var/www/mrtg. Para finalizar creamos el archivo .htaccess bajo el directorio /var/www/mrtg, cuyo contenido será:

AuthUserFile /var/www/mrtg/.htpasswd
AuthName "Mrtg"
AuthType Basic

<Limit GET POST>
Require valid-user
</Limit>

Como a la variable AuthUserFile le hemos asignado el valor /var/www/mrtg/.htpasswd, hemos de crear dicho archivo, que será el archivo de los usuarios, con sus respectivas claves, que tengan acceso al directorio /var/www/mrtg. Para crearlo, ejecutamos:

# htpasswd -c .htpasswd mrtg
New password: (user password)
Re-type new password: (user password)
Adding password for user mrtg

Y una vez ha finalizado la generación del archivo, su contenido será:

mrtg:lZZyhcwfGKZyo

Si ahora tratamos de acceder al directorio mrtg de nuestro servidor web, obtendremos un cuadro como el siguiente, preguntándonos por un usuario y una clave de acceso:

Figura 3.3. Pantalla de autentificación para el directorio /var/www/mrtg

Pantalla de autentificación para el directorio /var/www/mrtg

Si tecleamos el usuario y la clave introducidos en la generación del archivo .htpasswd, tendremos acceso a dicho directorio, en caso contrario no.

Para ver un ejemplo de la información que allí puede verse, pulse aqui.



[1] En el Apéndice A, mrtg.cfg se encuentra el archivo de configuración generado para el switch.

[2] En el Apéndice B, httpd.conf está el archivo /etc/apache/httpd.conf utilizado para la realización de esta práctica.