DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de...
-
Upload
programa-ingenieria-de-sistemas -
Category
Documents
-
view
302 -
download
2
description
Transcript of DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de...
EXPLORACIÓN DE LAS HERRAMIENTAS DE SOFTWARE SOFTWARE LIBRE PARA EL MONITOREO DE REDES
DOCUMENTO PRESENTADO COMO ENTREGABLE DE LA PRÁCTICA PROFESIONAL DE TIPO INVESTIGATIVA
OSCAR JAVIER FÚQUENE RAMOS
Director: Ing. Pervys Rengifo Rengifo
Asesor Técnico: Ing. Gustavo Adolfo Herazo
FUNDACIÓN UNIVERSITARIA KONRAD LORENZ
FACULTAD DE MATEMÁTICAS E INGENIERÍAS
INGENIERÍA DE SISTEMAS
BOGOTÁ 2007
CONTENIDO
1.INTRODUCCIÓN..........................................................................6
2.MONITOREO DE RED...................................................................7
3.SOFTWARE LIBRE.......................................................................8
4.SELECCIÓN DE HERRAMIENTAS DE MONITOREO.........................11
4.1 CRITERIOS DE SELECCIÓN 11
5.HERRAMIENTAS DE MONITOREO DE RED....................................13
5.1 ETHEREAL/WIRESHARK 14
5.1.1 Descripción: 14
5.1.2 Características funcionales: 18
5.1.3 Lenguaje sobre el cual está construido: 19
5.1.4 Sistemas operativos sobre los cuales se puede ejecutar: 19
5.1.5 Acceso al código fuente: 20
5.1.6 Recursos hardware y software requeridos para la instalación:20
5.2 IPTRAF 20
5.2.1 Descripción: 20
5.2.2 Características funcionales: 24
5.2.3 Lenguaje sobre el cual está construido: 24
5.2.4 Sistemas operativos sobre los cuales se puede ejecutar: 25
5.2.5 Acceso al código fuente: 25
5.2.6 Recursos hardware y software requeridos para la instalación:25
5.3 NAGIOS 26
5.3.1 Descripción: 26
5.3.2 Características funcionales: 31
5.3.3 Lenguaje sobre el cual está construido: 33
5.3.4 Sistemas operativos sobre los cuales se puede ejecutar: 33
2
5.3.5 Acceso al código fuente: 33
5.3.6 Recursos hardware y software requeridos para instalación: 33
5.4 THE DUDE 34
5.4.1 Descripción: 34
5.4.2 Características funcionales: 35
5.4.3 Lenguaje sobre el cual está construido: 36
5.4.4 Sistemas operativos sobre los cuales se puede ejecutar: 36
5.4.5 Acceso al código fuente: 37
5.4.6 Recursos hardware y software requeridos para la instalación:37
5.5 NTOP 37
5.5.1 Descripción: 37
5.5.2 Características funcionales: 40
5.5.3 Lenguaje sobre el cual está construido: 42
5.5.4 Sistemas operativos sobre los cuales se puede ejecutar: 42
5.5.5 Acceso al código fuente: 42
5.5.6 Recursos hardware y software requeridos para la instalación:42
5.6 MRTG 43
5.6.1 Descripción: 43
5.6.2 Características funcionales: 44
5.6.3 Lenguaje sobre el cual está construido: 46
5.6.4 Sistemas operativos sobre los cuales se puede ejecutar: 46
5.6.5 Acceso al código fuente: 47
5.6.6 Recursos hardware y software requeridos para la instalación:47
3
5.7 DANSGUARDIAN 47
5.7.1 Descripción: 47
5.7.2 Características funcionales: 52
5.7.3 Lenguaje sobre el cual está construido: 54
5.7.4 Sistemas operativos sobre los cuales se puede ejecutar: 54
5.7.5 Acceso al código fuente: 54
5.7.6 Recursos hardware y software requeridos para la instalación:54
5.8 BOX 55
5.8.1 Descripción: 55
5.8.2 Características funcionales: 58
5.8.3 Lenguaje sobre el cual está construido: 60
5.8.4 Sistemas operativos sobre los cuales se puede ejecutar: 61
5.8.5 Acceso al código fuente: 61
5.8.6 Recursos hardware y software requeridos para la instalación:61
6.SELECCIÓN DE LAS MEJORES HERRAMIENTAS............................62
7.WIRESHARK.............................................................................67
7.1 Instalación 67
7.1.1 Requerimientos del sistema. 67
7.1.2 Instalación de WireShark sobre S.O. Windows. 68
7.1.3 Instalación de WireShark sobre Linux Red Hat 6. 68
7.2 Interfaz de Usuario. 69
7.2.1 Ventana Principal. 69
7.2.2 Barra de menú principal. 70
8.NAGIOS...................................................................................94
4
8.1 Instalación. 94
8.1.1 Requisitos Previos. 94
8.1.2 Creación de Usuarios. 94
8.1.3 Instalación del núcleo de Nagios. 95
8.1.4 Instalación de las extensiones oficiales. 96
8.1.5 Activación y configuración de la interfaz web. 98
8.2 Configuración de Nagios. 100
8.3 Comandos de Nagios. 115
8.4 Interface Web. 121
9.MRTG....................................................................................135
9.1 Instalación. 135
9.2 Configuración. 138
9.3 Configuración avanzada. 142
9.4 Interfaz Gráfica. 151
10.CONCLUSIONES Y RECOMENDACIONES..................................159
11.Bibliografía............................................................................................162
5
Capítulo 1
1. INTRODUCCIÓN
En la actualidad muchas organizaciones pequeñas y medianas tales como Pymes, Universidades, entre otras tienen la necesidad de tener un control sobre la infraestructura tecnológica que poseen, más específicamente sobre sus redes de comunicaciones, con el fin de identificar las causas de los diversos problemas presentados y así poder darles solución. Existen muchas herramientas de software propietarias en el mercado que permiten realizar esta tarea, pero dado sus costos de licenciamiento hacen muy difícil a las organizaciones poder adquirirlas.
Afortunadamente se pueden encontrar muchas herramientas de software libre que poseen la funcionalidad de llevar a cabo el monitoreo sobre las redes de comunicación de una organización. Estas herramientas poseen cualidades tan importantes como las de las herramientas propietarias. Además por ser herramientas de distribución libre GPL cualquier persona experta puede accesar su código fuente y de esta forma implementar nuevas características funcionales que permitan adaptar la herramienta a las necesidades de la organización.
A lo largo de este documento se hará una exploración sobre 8 herramientas de monitoreo OpenSource, en donde se explicarán las características de cada una y así elegir las mejores 4 herramientas teniendo en cuenta diversos criterios de comparación que se explicarán más adelante. La investigación se enfoca con mayor detalle en las herramientas
6
elegidas sobre las cuales se tratarán aspectos como su instalación, configuración y manejo. Al final se establecen las conclusiones y recomendaciones pertinentes derivadas de esta investigación.
Capítulo 2
2. MONITOREO DE RED
Las redes de cómputo de las organizaciones, se vuelven cada vez más complejas y la exigencia de la operación es cada vez más demandante. Las redes, cada vez más, soportan aplicaciones y servicios estratégicos de las organizaciones. Por lo cual el análisis y monitoreo de redes se ha convertido en una labor cada vez mas importante y de carácter pro-activo para evitar problemas.1
El término monitoreo de red describe el uso de un sistema que constantemente monitorea una red de computadoras para detectar sistemas lentos o en mal funcionamiento y que notifica al administrador de la red en caso de falla vía correo electrónico, beeper u otras alarmas.
En la red se encuentran un sinnúmero de aplicaciones que permiten el monitoreo de la red. Dichas herramientas proveen diferentes servicios desde el simple filtrado de contenido hasta determinar cual dispositivo de la red está consumiendo más de la cuenta el ancho de banda de la red.
Las características de las diferentes herramientas divergen en cuanto a su tipo de licenciamiento, ya que las herramientas
1 Tomado del sitio: http://www.integracion-de-sistemas.com/analisis-y-monitoreo-de-redes/index.html el 20 de Noviembre de 2007
7
propietarias por lo general ofrecen más y mejores servicios que las herramientas de distribución libre o con licencia GPL. A la hora de elegir una u otra herramienta para el monitoreo de la red, antes que nada se deben establecer las necesidades para así poder elegir una que supla dichas necesidades teniendo en cuenta el concepto costo - beneficio.
Capítulo 3
3. SOFTWARE LIBRE
Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software; de modo más preciso, se refiere a cuatro libertades de los usuarios del software: la libertad de usar el programa, con cualquier propósito; de estudiar el funcionamiento del programa, y adaptarlo a las necesidades; de distribuir copias, con lo que puede ayudar a otros; de mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie (para la segunda y última libertad mencionadas, el acceso al código fuente es un requisito previo).2
Una licencia es aquella autorización formal con carácter contractual que un autor de un software da a un interesado para ejercer "actos de explotación legales". Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el licenciatario. Desde el punto de vista del software libre, existen distintas variantes del concepto o grupos de licencias.
2 Tomado de http://es.wikipedia.org/wiki/Software_libre
8
Una de las licencias más utilizadas es la Licencia Pública General GNU (GPL). El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GNU GPL. Esto hace que no sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL.
Open Source es una marca de certificación propiedad de la Open Source Initiative.3 Los desarrolladores que diseñan software para ser compartido, mejorado y distribuido libremente, pueden usar la marca registrada Open Source si sus términos de distribución se ajustan a la definición OpenSource de la OSI. Básicamente, el modelo de distribución requiere que:
1. Libre distribución: No hayan restricciones para vender o distribuir el software.
2. Código fuente: El software debe incluir el código fuente y debe permitir crear distribuciones compiladas siempre y cuando la forma de obtener el código fuente esté expuesta claramente.
3. Trabajos derivados: Se debe permitir crear trabajos derivados, que deben ser distribuidos bajo los mismos términos que la licencia original del software.
4. Integridad del código fuente del autor: Se debe permitir la distribución del código fuente modificado, aunque pueden haber restricciones para que se pueda distinguir el código fuente original del código fuente del trabajo derivado.
3 Tomado de http://www.webtaller.com/maletin/articulos/que-significa-open-source.php
9
5. No discriminar personas o grupos: La licencia no debe discriminar a ninguna persona o grupo.
6. No discriminar ningún tipo de uso del programa: La licencia no debe impedir a nadie el uso del programa en una determinada actividad. Por ejemplo, no puede impedir el uso en una empresa, o no puede impedir el uso en investigación genética.
7. Distribución de la Licencia: Los derechos que acompañan al programa deben aplicarse a todo el que redistribuya el programa, sin necesidad de licencias adicionales.
8. La licencia no debe ser específica a un producto: Los derechos que da la licencia no deben ser diferentes para la distribución original y para la que funciona en un contexto totalmente diferente.
9. La licencia no debe ir en contra de otro software: La licencia no debe restringir otro software que se distribuya con el mismo. Por ejemplo, la licencia no debe indicar que todos los programas distribuidos conjuntamente con el deben ser OpenSource.
10
Capítulo 4
4. SELECCIÓN DE HERRAMIENTAS DE MONITOREO
Para llevar a cabo la escogencia de las cuatro herramientas sobre las cuales se va a trabajar en detalle en los siguientes capítulos, se establecieron cinco criterios de selección los cuales permitirán determinar la mejor herramienta de monitoreo de red. Dichos criterios se describen a continuación.
4.1 CRITERIOS DE SELECCIÓN
Para poder realizar la selección de las herramientas de monitoreo sobre la cual se basa esta investigación, es
11
necesario determinar una serie de criterios que permitan establecer si dichas herramientas son verdaderamente útiles para poder gestionar las redes de manera efectiva y eficiente. Los criterios de selección definidos se describen a continuación:
4.1.1Características funcionales: Hace referencia a la funcionalidad que posee la herramienta de monitoreo.
4.1.2Acceso al código fuente: Indica si la herramienta posee la posibilidad de acceder su código fuente con el fin de adicionar nuevos módulos funcionales o personalizar la herramienta a necesidades específicas.
4.1.3Sistemas Operativos sobre los cuales se ejecuta: Hace referencia a las plataformas que soportan la aplicación.
4.1.4Lenguaje de programación sobre el cual está escrito: Indica el lenguaje de programación sobre el cual fue escrito el código fuente de la herramienta de monitoreo.
4.1.5Recursos de Hardware y Software requeridos para la instalación: Hace referencia a los requerimientos mínimos de instalación de la herramienta de monitoreo.
En base a los cinco criterios descritos anteriormente se realizará una exploración sobre algunas herramientas de monitoreo de red para poder determinar cuáles poseen un mayor nivel de acople sobre cada uno de estos, y así poder determinar las que mejor características funcionales ofrecen y por ende las que se deberían tener en cuenta en el
12
momento de elegir una herramienta para el monitoreo de la red de cualquier organización.
Capítulo 5
5. HERRAMIENTAS DE MONITOREO DE RED
Existe una gran variedad de herramientas para el monitoreo
de redes tanto propietarias como de distribución bajo licencia
GPL. A lo largo de este documento se mostrarán algunas de
las herramientas OpenSource de monitoreo de red más
importantes.
13
La investigación se realizó sobre 8 herramientas entre las
cuales se encuentran:
o WIRESHARK.
o NAGIOS.
o MRTG.
o THE DUDE.
o IPTRAF.
o NTOP.
o DANSGAURDIAN.
o EBOX.
A continuación se muestra una descripción general de cada
una de las herramientas nombradas anteriormente:
5.1 ETHEREAL/WIRESHARK
5.1.1 Descripción:
Es una potente herramienta que incluye todas las funciones
necesarias para ejecutar análisis exhaustivos de protocolos en
redes Ethernet.
14
Ethereal es toda una referencia en analizadores de
protocolos. Sus múltiples funciones y sus detalladas capturas
facilitan toda la información necesaria para analizar el
funcionamiento de protocolos a nivel de red, a nivel de
transporte y a nivel de aplicación.
Ethereal permite capturar diálogos, listar tramas Ethernet,
visualizar las cabeceras de cada trama y acceder a los datos
adjuntos. Sus herramientas permiten filtrar las tramas por
protocolo, por dirección física o por otros condicionales más
complejos; ejecutar búsquedas de datos, salvar y cargar
capturas, entre otras posibilidades.
El paquete Ethereal contiene un analizador de protocolo de
red, también conocido como “sniffer”. Es útil para analizar los
datos capturados de una conexión de red activa, o datos leídos
de un fichero de captura. Ethereal proporciona programas
tanto en modo GUI como TTY para examinar los paquetes de
red capturados de unos 500 protocolos, así como capacidad
para leer ficheros de captura de muchos otros analizadores de
redes populares.
Wireshark, el nuevo nombre para Ethereal, es un analizador
de protocolos utilizado para realizar análisis y solucionar
problemas en redes de comunicaciones para desarrollo de
software y protocolos, y como una herramienta didáctica para
educación. Cuenta con todas las características estándar de un
analizador de protocolos.
15
La funcionalidad que provee es similar a la de tcpdump,
pero añade una interfaz gráfica y muchas opciones de
organización y filtrado de información. Así, permite ver todo el
tráfico que pasa a través de una red (usualmente una red
Ethernet, aunque es compatible con algunas otras)
estableciendo la configuración en modo promiscuo. También
incluye una versión basada en texto llamada tshark.
Permite examinar datos de una red viva o de un archivo de
captura salvado en disco. Se puede analizar la información
capturada, a través de los detalles y sumarios por cada
paquete. Wireshark incluye un completo lenguaje para filtrar lo
que queremos ver y la habilidad de mostrar el flujo
reconstruido de una sesión de TCP.
Wireshark es software libre, y se ejecuta sobre la mayoría
de sistemas operativos Unix y compatibles, incluyendo Linux,
Solaris, FreeBSD, NetBSD, OpenBSD, y Mac OS X, así como en
Microsoft Windows.
Algunos de los usos que se le dan a la herramienta Ethereal
son:
1. Los administradores de la red lo utilizan para localizar
averías o problemas de la red
2. Los ingenieros de seguridad de la red la utilizan para
examinar problemas de la seguridad.
16
3. Los desarrolladores la utilizan para eliminar errores en
la puesta en marcha de nuevos protocolos.
4. La gente en general la usa para aprender el
funcionamiento de los protocolos de la red.
Al lado de estos ejemplos, Ethereal puede ser provechosa
en muchas otras situaciones también.
Ethereal permite la captura de paquetes para analizar su
contenido.
Figura No. 1: Interfaz gráfica de WireShark.
La siguiente tabla muestra que de acuerdo a la plataforma o
sistema operativo sobre el cual este instalada la herramienta
Ethereal, ésta se puede utilizar en diferentes tipos de red.
17
802.11 ATMEthern
etFDDI
Frame
Relay
Loopbac
k
Token
Ring
AIX Unknown Unknown Yes Unknown Unknown Unknown Unknown Yes
FreeBSD Yes1 Unknown Yes Unknown Unknown Yes Unknown Yes
HP-UX Unknown Unknown Yes Unknown No No UnknownUnknow
n
Iris Unknown Unknown Yes Unknown No Unknown Unknown No
Linux Yes2 Yes Yes Yes Yes3 Yes Yes4 Yes
Mac OS X Yes5 No Yes No No Yes Yes6 No
NetBSD Yes Unknown Yes Unknown Unknown Yes Unknown Yes
OpenBSD Yes Unknown Yes Unknown Unknown Yes Unknown Yes
Solaris Unknown Yes Yes Yes No No No Yes
Tru64
UNIXUnknown Unknown Yes Unknown No Yes Unknown
Unknow
n
Windows Yes7 Unknown Yes Unknown No N/A8 Yes9 Yes
Figura No. 2: Relación Ethereal y Tipos de red
Ethereal por ser una herramienta de tipo OpenSource posee
una licencia GPL, es decir, que es de libre uso y puede ser
instalada en un número indefinido de maquinas, sin
preocuparse por los costos que puede causar la adquisición de
licencias.
Actualmente Ethereal no posee la capacidad de detectar
intrusos y tampoco permite identificar qué cosas está
manipulando en la red. Además Ethereal no permite la
manipulación de componentes de la red, solo permite su
medición. Ethereal no envía paquetes a través de la red, ni
18
realiza ningún tipo de actividades que cambien el estado de la
red.
5.1.2 Características funcionales:
1. Trabaja tanto en modo promiscuo como en modo no
promiscuo.
2. Puede capturar datos de la red o leer datos
almacenados en un archivo (de una captura previa).
3. Basado en la librería pcap.
4. Tiene una interfaz muy flexible.
5. Capacidades de filtrado muy ricas.
6. Admite el formato estándar de archivos tcpdump.
7. Reconstrucción de sesiones TCP.
8. Se ejecuta en más de 20 plataformas.
9. Es compatible con más de 480 protocolos.
10. Puede leer archivos de captura de más de 20
productos.
19
11. Wireshark está en desarrollo activo. Recibe
actualizaciones de la seguridad y nuevas
características.
12. La ayuda del desciframiento se ha agregado y se ha
puesto al día para 802.11, SSL, SNMP y Kerberos.
13. La navegación del teclado es mucho más fácil, y el
menú del contexto de la lista del paquete tiene
muchas más características.
14. La ayuda de Windows se ha mejorado grandemente.
15. Se ha ampliado el análisis experto.
16. WireShark permite exportar objetos del http.
5.1.3 Lenguaje sobre el cual está construido:
Esta herramienta está construida en el lenguaje de
programación Perl.
5.1.4 Sistemas operativos sobre los cuales se puede
ejecutar:
Se ejecuta sobre la mayoría de sistemas operativos tales
como:
o Unix.
o Linux.
20
o Solaris.
o FreeBSD.
o NetBSD.
o OpenBSD.
o Mac OS X.
o Microsoft Windows (Excepto Windows CE y Windows
95).
o SCO UnixWare/OpenUnix.
o SGI Irix.
o Sun Solaris/Intel.
o Sun Solaris/Sparc.
o Tru64 UNIX (formerly Digital UNIX).
5.1.5 Acceso al código fuente:
El código fuente de Ethereal es de libre acceso. Por ser un
código tan fácil y entendible muchas personas de diferentes
partes del mundo han contribuido a la implantación de nuevas
características de herramientas como la compatibilidad con
diferentes protocolos, plugins, entre otras mejoras.
5.1.6 Recursos hardware y software requeridos para la
instalación:
o Procesador de 32 o 64 bits.
21
o 60 MB disponibles en disco.
o Resolución de pantalla 800x600.
o Tarjeta Ethernet.
5.2 IPTRAF
5.2.1 Descripción:
Es un programa basado en consola que proporciona
estadísticas de red. El programa recolecta información de las
conexiones TCP, las estadísticas y actividad de las interfaces,
así como las caídas de tráfico TCP y UDP. Funciona en
sistemas operativos GNU/Linux.
El menú principal contiene un monitor de tráfico IP que nos
muestra el tráfico de entrada y salida, permitiendo encontrar
los puntos donde las transiciones ocurren. Por otro lado, el
interfaz de estadísticas detallado no nos muestra que
máquinas están intercambiando datos, pero analiza los flujos
de tráfico por protocolos. Esto nos proporciona información
muy valiosa sobre el rendimiento e indica cuellos de botella.
Por ejemplo, si hay más salidas que entradas, podemos
suponer que alguien está descargando algo desde nuestra
máquina.
22
Figura No. 3: Pantalla inicial de IPTraf.
IPTRAF monitorea la red con el fin de captura los paquetes
que se transportan en la red para analizarlos y obtener
información valiosa de cada una de sus partes. La información
que retorna el IPRAF hace referencia a los siguientes ítems:
Direcciones del destino y puertos del recurso TCP.
Número de bytes del paquete TCP.
Contenido y destino de los paquetes UDP.
Tipo de información ICMP.
Destino de la información OSPF.
Estadísticas de servicio TCP y UDP.
Identificación de errores en la interface IP.
23
Información de los indicadores de actividad.
Estadísticas de la red LAN.
Figura No. 4: Pantalla de estadísticas IPTraf
IPTraf se puede utilizar para supervisar la carga en una red
del IP, los tipos más usados de servicios de red, los
procedimientos de las conexiones de TCP, y otros.
24
Figura No. 5: Pantalla de monitoreo de protocolos de red.
IPTraf es únicamente un software analizador. Utiliza la
interfaz de captura de paquetes incorporada en el Kernel de
Linux, permitiendo que sea utilizado en una amplia gama de
tarjetas de Ethernet, adaptadores FDDI, adaptadores ISDN,
Token Ring, SLIP/PPP y otros dispositivos de red.
Para entender los resultados generados por el programa es
necesario contar con un conocimiento básico acerca de
protocolos como TCP/IP, TCP, UDP, ICMP, entre otros.
5.2.2 Características funcionales:
25
Además de un menú de opciones a pantalla completa,
IPTraf posee las siguientes características:
1. Monitor de tráfico IP que muestra información del tráfico
de la red.
2. Estadísticas generales de las Interfaces.
3. Módulo de estadísticas de LAN que descubre hosts y
muestra datos sobre su actividad.
4. Monitor TCP, UDP que muestra la cuenta de los paquetes
de red para las conexiones de los puertos de
aplicaciones.
5. Utiliza el "raw socket interface" que lleva el kernel
permitiendo ser usado por un amplio rango de "tarjetas
de red".
5.2.3 Lenguaje sobre el cual está construido:
No se encontró información relacionada acerca del lenguaje
utilizado para el desarrollo de esta herramienta.
26
5.2.4 Sistemas operativos sobre los cuales se puede
ejecutar:
Linux Kernel 2.2.0 o superior:
GNU C Library 2.1
Ncurses 4.2
5.2.5 Acceso al código fuente:
Ya que no se encontró información para determinar en qué
lenguaje está construida esta herramienta, tampoco se puede
establecer si se puede manipular el código fuente para
desarrollar nuevas mejoras.
5.2.6 Recursos hardware y software requeridos para la
instalación:
o Linux 2.0.x (for IPTraf 1.4)
o Linux 2.2.x (for IPTraf 2.0)
o Procesador Pentium.
o 8MB de memoria RAM (o Superior).
o 16MB o más de memoria RAM virtual.
27
o Interfaces de red Ethernet, FDDI, ISDN, SLIP, PPP .
5.3 NAGIOS
4.3.1Descripción:
Nagios es un sistema Open Source popular para monitorizar
una red. monitoriza los hosts y servicios que se especifiquen,
alertando cuando algo sale mal y nuevamente cuando está
bien. Originalmente tuvo el nombre de Netsaint, fue creado y
es mantenido actualmente por Ethan Galstad, junto con un
grupo de desarrolladores de software que mantienen también
varios plugins.4
Nagios fue originalmente diseñado para ser ejecutado en
Linux, pero también se ejecuta bien en variantes de Unix.
Nagios está licenciada bajo la GNU General Public License
Version 2 publicada por la Free Software Fundation.
4 Tomado de: http://nagios.sourceforge.net/download/contrib/documentation/misc/Nagios_spanish.pdf
28
Figura No. 6: Pantalla de estado de los equipos de red.
Nagios es un anfitrión y monitor del servicio diseñado para
informar acerca de problemas de la red ante los clientes,
usuarios finales o encargados. Se ha diseñado para funcionar
bajo sistema operativo de Linux, pero trabaja muy bien bajo la
mayoría de variantes del *NIX también. Los cheques
intermitentes de supervisión de los funcionamientos del
demonio en los anfitriones y los servicios que especificas con
los “plugins externos” que la información de estado de vuelta
a Nagios. Cuando se encuentran los problemas, el demonio
puede enviar notificaciones hacia fuera a los contactos
administrativos en una variedad de diversas maneras (email,
mensaje inmediato, SMS, etc.). La información del estado
29
actual, los registros históricos, y los informes se pueden todos
alcanzar vía un web browser.5
Nagios es un sistema de monitorización de equipos y de
servicios de red, creado para ayudar a los administradores a
tener siempre el control de qué está pasando en la red que
administran y conocer los problemas que ocurren en la
infraestructura que administran antes de que los usuarios de
la misma los perciban. Es un sistema complejo y completo en
cuanto a sus características que además hace uso en algunos
casos de diversos sistemas como por ejemplo sistemas
gestores de bases de datos, servidores web, etcétera. Es
relativamente complejo de instalar y configurar.
Nagios es un software usado en todo el mundo, que debe
correr en sistemas Linux (en la mayoría de los UNIX funciona
sin problemas) y que permite extender su funcionalidad con la
utilización/creación de extensiones. Está liberado bajo licencia
GPL de la Free Software Foundation.
5 Tomado del sitio oficial de Nagios http//:www.nagios.org
30
Figura No. 7: Menú principal de Nagios.
Nagios sigue a groso modo la siguiente estructura:
Un núcleo de la aplicación que forma la lógica de control de
negocio de la aplicación contiene el software necesario para
realizar la monitorización de los servicios y máquinas de la red
para la que está preparado. Hace uso de diversos
componentes que vienen con la aplicación, y puede hacer uso
de otros componentes realizados por terceras personas.
Aunque permite la captura de paquetes SNMP Trap para
notificar sucesos, no es un sistema de monitorización y gestión
basado en SNMP sino que realiza su labor basándose en una
gran cantidad de pequeños módulos software que realizan
chequeos de parte de la red.
31
Figura No. 8: Estadísticas del estado de los dispositivos de red
Muestra los resultados de la monitorización y del uso de los
diversos componentes en una interfaz web a través de un
conjunto de CGI’s y de un conjunto de páginas HTML que
vienen incorporadas de serie. Y que permiten al administrador
una completa visión de qué ocurre, dónde y en algunos casos,
por qué.
32
Figura No. 9: Estadísticas de los dispositivos de red
Por último, si se compila para ello, Nagios guardará los
históricos en una base de datos para que al detener y
reanudar el servicio de monitorización, todos los datos sigan
como iban, sin cambios.
Figura No. 10: Estructura general del núcleo de Nagios
33
Basados en la información recopilada esta herramienta
presenta algunas deficiencias entre las que se encuentran:
o Difícil y compleja configuración inicial.
o Además requiere exclusivamente su ejecución bajo
sistemas *nix.
o El mantenimiento de miles de nodos se hace pesado.
4.3.2Características funcionales:
o Monitorear servicios de red (SMTP, POP3, HTTP, PING,
etc.)
o Monitorear recursos de los hosts (carga de procesador,
uso de disco, etc.)
o Diseño simple de plugins para que podamos crear los
nuestros a nuestras necesidades especificas.
o Habilidad de definir una jerarquía de hosts usando la
opción parent.
o Notificaciones a contactos cuando un servicio o host
tenga problemas y puedan resolverlo (email, pager o
definido por el usuario)
o Rotación de log automática.
34
o Monitorización de los recursos de un host (carga del
procesador, uso de los discos, logs del sistema) en varios
sistemas operativos, incluso Microsoft Windows con el
plugin NRPE_NT.
o Monitorización remota, a través de túneles SSL cifrados o
SSH.
o Diseño simple de plugins, que permiten a los usuarios
desarrollar sus propios chequeos de servicios
dependiendo de sus necesidades, usando sus
herramientas preferidas (Bash, C++, Perl, Ruby, Python,
PHP, C#, etc.).
o Chequeo de servicios paralizados.
o Posibilidad de definir la jerarquía de la red, permitiendo
distinguir entre host caídos y host inaccesibles.
o Posibilidad de definir manejadores de eventos que
ejecuten al ocurrir un evento de un servicio o host para
resoluciones de problemas proactivas.
o Soporte para implementar host de monitores
redundantes.
o Interfaz web opcional, para observar el estado de la red
actual, notificaciones, historial de problemas, archivos de
logs, etc.
35
4.3.3Lenguaje sobre el cual está construido:
Esta herramienta está construida bajo el lenguaje C.
4.3.4Sistemas operativos sobre los cuales se puede ejecutar:
El único requerimiento que se debe tener en cuenta para
ejecutar Nagios es que se debe instalar sobre una maquina
con sistema operativo Linux.
4.3.5Acceso al código fuente:
Está permitido el acceso al código fuente, por ende es
posible adicionar nueva funcionalidad a la herramienta,
además de conocer su funcionamiento a nivel de código.
4.3.6Recursos hardware y software requeridos para
instalación:
o Cualquier equipo que este ejecutando Linux o una
variante
de Unix y con compilador C.
o Un Web server (Apache el ideal)
o Thomas Boutell’s GD library esto para el statusmap y
36
trenes.
4.4 THE DUDE
4.4.1Descripción:
Es un novedoso monitorizador de redes que incorpora un
mapa interactivo del esquema de red en el que se está
trabajando. Esto ayuda a visualizar mejor la estructura de la
red y proporciona acceso directo a funciones de red
específicas para cada objeto.
The Dude es un programa para la administración de forma
grafica de una red de ordenadores. Así se puede controlar la
actividad de los distintos equipos de la red y conocer su
estado. Posee una serie de herramientas para realizar
diferentes acciones como ser test de ancho de banda o
conexión remota, ping, etc. El programa genera
automáticamente un diagrama con la estructura completa de
todos los host comprendidos en un determinado rango de
direcciones IP. Permite también agregar de forma manual
dispositivos o bien configurar los ya existentes. Supervisa tu
red y mantente informado en todo momento.6
Esta herramienta fue creada para administrar las redes de
manera gráfica. Cuenta con una interfaz principal la cual
representa la red sobre la cual está trabajando. Permite la
6 Tomado del sitio: http://wiki.mikrotik.com/wiki/MikroTik_Dude
37
detección automática de cada uno de los componentes de la
red.
Cada uno de los componentes de la red se muestra como un
icono. Cuando se detecta un nuevo dispositivo en la re
automáticamente se detectan todos los servicios que corren
sobre él. Se pueden adicionar o eliminar servicios a cada uno
de los componentes de la red.
4.4.2Características funcionales:
The Dude puede detectar automáticamente una red local, y
dibujar un esquema preliminar que después se podrá
modificar, ajustar y guardar. Permite añadir objetos
manualmente, personalizar los iconos y textos identificativos
de cada elemento o dispositivo de la red, así como conectar
nodos con líneas y demás posibilidades gráficas.
Prácticamente igual como si estuviera pintando con un editor
gráfico. En cuanto a las tareas propias de monitorización de
red, The dude abarca desde sencillas comprobaciones ping, a
pruebas de puertos o comprobaciones de servicios, logs e
historiales, avisos de cualquier evento que se produzca en la
red, soporte para SNMP, o exportación de los mapas a formato
PDF o PNG.
The Dude mantendrá información de forma puntual de los
dispositivos supervisados mediante el empleo de un completo
sistema de estadísticas.
38
Figura No. 11: Mapa del monitoreo de red.
The Dude ayuda a mejorar y optimizar la administración de
un sistema de red local, analizando la estructura del mismo y
creando un mapa con la distribución exacta de todas las
máquinas y las conexiones entre ellas.
The Dude incluye además diversas herramientas de redes
(ping, traceroute, comprobación de puertos y servicios, etc),
puede trabajar con los protocolos SNMP, ICMP, DNS y TCP y
permite exportar los mapas de redes a PDF o PNG.
Incluye subredes, puede detectar cualquier nuevo
dispositivo que se conecte y además le avisa al administrador
de la red (por correo electrónico, mediante una ventana
39
emergente, etc.) en caso de que algún servicio tenga
problemas.
4.4.3Lenguaje sobre el cual está construido:
No se encontró información acerca del lenguaje sobre el
cual está construida esta herramienta.
4.4.4Sistemas operativos sobre los cuales se puede ejecutar:
o Sistema operativo: Win98/NT/ME/2000/XP/2003
4.4.5Acceso al código fuente:
El acceso al código fuente de esta herramienta es libre, y
por ende se pueden realizar nuevas funcionalidades.
4.4.6Recursos hardware y software requeridos para la
instalación:
o Windows XP/NT/SERVER, mínimo Pentium III (o similar),
256 MB RAM, tarjeta de red.
o RAM: Mínimo de 64MB o 128MB
o Resolución de video de 800x600
40
4.5 NTOP
4.5.1Descripción:
NTOP (Network TOP) es una herramienta que no puede
faltar al administrador de red, porque permite monitorizar en
tiempo real los usuarios y aplicaciones que están consumiendo
recursos de red en un instante concreto y además es capaz de
ayudarnos a la hora de detectar malas configuraciones de
algún equipo (esto salta a la vista porque al lado del host sale
un banderín amarillo o rojo, dependiendo si es un error leve o
grave), o a nivel de servicio. Posee un microservidor web que
permite que cualquier usuario, que sepa la clave, pueda ver la
salida NTOP de forma remota con cualquier navegador, y
además es GNU. El software esta desarrollado para
plataformas Unix y Windows.7
NTOP es una aplicación de supervisión de red híbrida de los
niveles 2 y 3 que se ejecuta en su propia máquina (como una
caja Linux®). Por defecto utiliza direcciones Media Access
Control (MAC) del nivel 2 y direcciones TCP/IP del nivel 3. NTOP
asocia ambas de forma que se combina el tráfico IP y no IP
para crear una visión completa de la actividad de la red. La
7 Tomado de: http://es.wikipedia.org/wiki/Ntop
41
herramienta supervisa prácticamente cualquier interfaz de red
ya sea loopback, Token Ring, Ethernet, Fibre Channel, etc. Al
ser de código abierto, se puede modificar con facilidad si
dispone de algunos conocimientos de programación.8
En Modo Web, actúa como un servidor de Web, volcando en
HTML el estado de la red. Viene con un recolector/emisor
NetFlow/sFlow, una interfaz de cliente basada en HTTP para
crear aplicaciones de monitoreo centradas en top, y RRD para
almacenar persistentemente estadísticas de tráfico.9
Muestra una lista de los hosts que en ese momento están
utilizando una red e informan acerca del tráfico generado por
cada host. Proporciona un esquema gráfico sencillo que facilita
comprobar si el almacenamiento de Network Appliance y los
demás dispositivos de red se están comportando
correctamente.
Los protocolos que es capaz de monitorizar son:
TCP/UDP/ICMP, (R)ARP, IPX, DLC, Decnet, AppleTalk, Netbios, y
ya dentro de TCP/UDP es capaz de agruparlos por FTP, HTTP,
DNS, Telnet, SMTP/POP/IMAP, SNMP, NFS, X11.
De acuerdo a la documentación recopilada sobre el
funcionamiento de Ntop, se puede determinar que es un
programa muy completo y fácil de instalar y configurar nos
8 Tomado del sitio oficial de NTOP: http://www.ntop.org/overview.html
9 Tomado del sitio: http://bulma.net/body.phtml?nIdNoticia=1226
42
muestra gráficos de conexiones tipo MRTG pero muchísimo
más fácil de configurar.
Ntop muestra gráficas de ancho de banda, tipo de trafico
por protocolos y muchas cosas más.
Es una herramienta que no puede faltar al administrador de
red, porque además de monitorizar todo lo que pasa en la red,
es capaz de ayudarnos a la hora de detectar malas
configuraciones de algún equipo (esto salta a la vista porque al
lado del host sale un banderín amarillo o rojo, dependiendo si
es un error leve o grave), o a nivel de servicio.
Figura No. 12: Interfaz gráfica de NTOP.
NTOP es una herramienta de software muy buena y
gratuita. Es una de las herramientas favoritas porque es limpia
y fácil de usar, a la vez que permite mostrar los resultados
generados a cualquier persona porque son fáciles de
comprender.
43
Otra cosa buena de NTOP es que no da importancia al tipo
de dispositivo de red que está supervisando. Está diseñado
para funcionar en un sistema y mostrar los datos de tráfico de
red de dicho sistema, o bien puede modificar las
configuraciones de los switches y utilizarlo como rastreador.
También puede hacer que rastree toda la red, un par de hosts
o simplemente un host.10
NTOP puede gastar mucha memoria. Se necesitará una
máquina robusta si se tiene planificado utilizarlo para
supervisar un puñado de sistemas de almacenamiento NetApp
simultáneamente.
NTOP sólo supervisa el tráfico que puede ver. Por este
motivo necesitará acceder al switch para colocar el puerto en
modo de supervisión. Se tiene que configurar el switch para
que copie el tráfico de los puertos utilizados por los sistemas
NetApp al puerto utilizado por NTOP.
4.5.2Características funcionales:
El menú de navegación principal permite ver las siguientes
opciones:
o About: Muestra una explicación del programa, así
como los créditos de las personas que lo han hecho.
10 Tomado de: http://tuxedlinux.wordpress.com/2007/08/23/ntop-monitorizacion-de-red-via-web/
44
o Data Rcvd, Data Sent: Nos enseña que datos se han
recibido/transmitido. Las posibilidades para visualizarlo
es agrupándolo por protocolos, por TCP/UDP, qué
cantidad se ha tratado, la actividad de cada host, y
netflows.
o Stats: Es el apartado de estadísticas, en la que nos
enseña información muy completa acerca del estado
de la red. Nos enseña si es tráfico unicast, o multicast,
la longitud de los paquetes, el Time To Live del
paquete, y el tipo de tráfico que viaja (todo ello con
porcentajes). También saca un listado de dominios, y
qué plugins podemos activar o desactivar.
o IP Traffic: Nos da información acerca del sentido del
tráfico, si va de la red local a una red remota, o
viceversa.
o IP Protos: Nos da estadísticas del uso, pero a nivel de
red como conjunto de hosts.
o Admin: Sirve para poder cambiar la interfaz de red,
crear filtros, y un mantenimiento de usuarios.
o Clasificación del tráfico de la red de acuerdo al
establecimiento de criterios.
o Almacenamiento de las estadísticas del tráfico en
formato RRD.
o Mostrar la distribución del tráfico entre diferentes
protocolos.
o Analizar el tráfico de la red y clasificarlo de acuerdo su
origen y su destino.
4.5.3Lenguaje sobre el cual está construido:
NTOP está escrito en lenguaje C, y el código fuente es compatible con varias plataformas, entre las que se incluyen Linux, FreeBSD, Windows®, SolarisTM, HP-UX y AIX.
4.5.4Sistemas operativos sobre los cuales se puede ejecutar:
o Unix (incluyendo Linux, *BSD, Solaris, y MacOSX)
o Win32 (Win95 y Vista)
4.5.5Acceso al código fuente:
Se puede acceder al código fuente, el cual es entendible, lo
que facilita la adición de nueva funcionalidad. Actualmente
muchas personas han contribuido en la implementación de
nuevas mejoras de esta herramienta.
4.5.6Recursos hardware y software requeridos para la
instalación:
o Dependiendo de la configuración de la herramienta,
del número de hosts, el número de sesiones TCP
activas, el uso de memoria oscila entre los 100 MB.
o Unix (incluyendo Linux, *BSD, Solaris, y MacOSX)
o Win32 (Win95 y Vista)
4.6 MRTG
4.6.1Descripción:
MRTG (Multi Router Traffic Grapher) es una herramienta
para supervisar la carga del tráfico de una red. MRTG genera
páginas HTML que contienen imágenes gráficas que
proporcionan una representación visual del tráfico.
MRTG no se limita a supervisar tráfico, aunque es posible
supervisar cualquier variable del SNMP que elija el usuario.
Puede incluso utilizar un programa externo para recopilar los
datos que se deben supervisar vía MRTG. La gente está
utilizando MRTG, para supervisar cosas tales como carga de
sistema, disponibilidad de las sesiones de la conexión, del
módem y más. MRTG incluso permite acumular dos o más
fuentes de datos en un solo gráfico.11
MRTG utiliza SNMP (Simple Network Management Protocol)
para recolectar los datos de tráfico de un determinado
11 Tomado del sitio: http://www.mrtg.jp/en/es_es/
dispositivo (enrutadores o servidores), por tanto es requisito
contar con al menos un sistema con SNMP funcionando y
correctamente configurado. SNMP manda peticiones con dos
objetos identificadores (OIDs) al equipo. Una base de control
de información (HIBs) controla las especificaciones de los
OIDs. Después de recoger la información la manda sin
procesar mediante el protocolo SNMP. MTRG graba la
información en un diario del cliente. El software crea un
documento HTML de los diarios, estos tienen una lista de
graficas detallando el trafico del dispositivo. El software viene
configurado para que se recopilen datos cada 5 minutos pero
el tiempo puede ser modificado.
La aplicación de MRTG consiste es una serie de scripts
escritos en lenguaje PERL que usan el protocolo de red SNMP
(Simple Network Management Protocol) para leer los
contadores de trafico que están ubicados en los conmutadores
(switch) o los routers (routers) y mediante sencillos y rápidos
programas escritos en lenguaje C y crea imágenes en formato
PNG que representa el estado del tráfico de nuestra red. Estos
gráficos los inserta en una página web que podemos consultar
mediante cualquier navegador. Hemos de hacer notar que
para poder ver los resultados tenemos que tener instalado un
servidor WEB en la máquina que tenga instalado el MRTG.12
12 Tomado del sitio: http://www.it.uc3m.es/goyo/mrtg_doc/
4.6.2Características funcionales:
o MRTG permite generar gráficas con cuatro niveles de
detalle por cada interfaz: tráfico registrado en las
últimas 24 horas, la última semana, el último mes y
gráfica anual.
Figura No. 13: Gráficas de monitoreo generadas por MRTG.
o Además de generar una primera página con la
representación del tráfico registrado diariamente a
través de cada uno de los posibles interfaces de un
router.
Figura No. 14: Gráfica de monitoreo del tráfico de red.
4.6.3Lenguaje sobre el cual está construido:
MRTG se basa en Perl y C y funciona bajo UNIX y
Windows NT. MRTG se usa con éxito en muchos sitios de la
red.
4.6.4Sistemas operativos sobre los cuales se puede ejecutar:
o Windows y Linux.
4.6.5Acceso al código fuente:
Se tiene libre acceso al código fuente, ya que para poder
ejecutarlo antes se debe compilar. Por lo tanto se pueden
generar mejoras o entender su funcionamiento más a fondo.
4.6.6Recursos hardware y software requeridos para la
instalación:
o net-snmp 5.0.6-17 o superior
o mrtg 2.10.15 o superior
o Apache webserver with perl support
o NET-SNMP
o Librería GD
o Librería Libpng
o Librería zlib
4.7 DANSGUARDIAN
4.7.1Descripción:
DansGuardian no es una herramienta de monitoreo de redes
pero se tuvo en cuenta en esta investigación ya que
actualmente la Fundación Universitaria Konrad Lorenz la utiliza
para filtrar el contenido de la red interna y es interesante
poder identificar las características funcionales de esta
herramienta para poder utilizarlas y aprovecharlas.
DansGuardian es una herramienta OpenSource que filtra el
contenido web, y corre bajo plataformas Linux, FreeBSD,
OpenBSD, NetBSD, Mac OS X, HP-UX, and Solaris. Permite el
filtrado del contenido de las páginas basado en diferentes
métodos en donde se encuentran:
o Búsqueda de frases.
o Filtro de imágenes.
o Filtro de URL's.
DansGuardian ha sido completamente diseñado acorde con
las necesidades de las personas u organizaciones que
necesitan ejercer un fuerte control frente al acceso
desautorizado a páginas que por su contenido pueden ser
dañinas para las personas que acceden a éstas.13
Existe una excelente pieza de software para filtro de
contenido de internet que se llama DansGuardian. Es muy fácil
de instalar y de usar. Corre en linux y trabaja en combinación
con un proxy server (idealmente con Squid Web Proxy).
La operación es muy sencilla. El Squid Proxy escucha por
default en el puerto 3128. DansGuardian es un aplicativo
separado que escucha en el puerto 8080 y hace un 13 Tomado del sitio: http://www.linuxespanol.com/ftopic18.php
redireccionamiento al puerto 3128, obviamente filtrando la
información de acuerdo a las reglas de filtro especificadas.
Por supuesto que al instalar DansGuardian es recomendable
deshabilitar el squid, dejándolo solo accesible desde la
maquina local o desde donde corra DansGuardian.
Como filtra? Fácil, puede tanto buscar palabras no
deseadas y pesarlas asignándoles un puntaje de acuerdo al
nivel de cada palabra.
Cuando el peso total de la pagina excede el limite, filtra la
pagina direccionando a una pagina de error.
El software es de código abierto y libre de uso, con un
módico precio para aplicaciones comerciales.
DansGuardian ha madurado mucho y es lo suficientemente
sólido para soportar tanto un usuario hogareño como cientos o
miles de usuarios en un entorno comercial.
o Dansguardian se compone de una serie de archivos de
texto, en donde se especifica una serie de parámetros
que el toma en cuenta para hacer el bloqueo, dichos
archivos están plenamente documentados ( basta con
abrirlos y leerlos ) y se encuentran dentro del
directorio /etc/DansGuardian , entre los cuales tenemos:
o bannedextensionlist: Este archivo contiene un listado de
extensiones de archivos a ser bloqueadas,
probablemente usted quiera comentar, las líneas
correspondientes a archivos de documentos
como .doc, .xls y .ppt
o bannediplist: Este archivo contiene un listado de
direcciones ips a ser evitadas de usar nuestro proxy,
debido a que estamos usando el mismo localmente, este
archivo no lo utilizaremos
o bannedmimetypelist: Un truco muy común para saltarse
las restricciones de bannedextensionlist es cambiando las
extensiones de los archivos, pero si usamos los Mime
Types de los archivos ( la metadata del archivo no cambia
asi cambiemos la extensión ), no podrán saltar el filtro, si
desea conseguir Mime Types para algún tipo de archivo
en especifico revise el archivo /etc/mime.types
o bannedphraselist: Este archivo mantiene una lista de
frases a ser bloqueadas.
o bannedregexpurllist: Este archivo es uno de los más
importantes de DansGuardian, ya que permite bloquear
sitios basados en expresiones regulares, una de ellas por
ejemplo es utilizada para bloquear sitios de juego y azar:
(poker|casino|kasino|poquer|blackjack)
o bannedsitelist: Cual dirección IP o dominio que
coloquemos acá será bloqueado inmediatamente.
o bannedurllist: En este archivo especificamos URL's o
direcciones de un sitio especifico, el cual será bloqueado
pero dejando el resto el sitio intacto
o banneduserlist: Este archivo puede contener un listado de
usuarios del proxy bloqueados, solo es útil si tenemos
autenticación de usuarios en el proxy.
o contentregexplist: Este archivo contiene algunas
expresiones regulares más complejas, pero que no hacen
que el sitio sea bloqueado, sino más bien reemplazan la
expresión encontrada por otra cosa, frase o palabra.
o exceptioniplist: Este archivo debe contener un listado de
direcciones IP (de usuarios de una red LAN), a las cuales
el filtro de contenido no les afectará, como estamos
usándolo localmente, esta función no es útil.
o exceptionphraselist: Este archivo debe contener un
listado de palabras que si son encontradas en el mismo
sitio junto con alguna de bannedphraselist, el sitio no
podrá ser bloqueado, por ejemplo si se consigue la
palabra SEX en el mismo sitio web que education o
medical.
o exceptionsitelist: Acá se especificarán un listado de sitios
webs, que no deberán ser bloqueados, probablemente
quiera que cualquier sitio .edu ó .gob no sea bloqueado
por el filtro de contenido.
o exceptionurllist: Si se tiene algún sitio bloqueado
completamente, podrás especificar acá un área específica
del mismo, para que pueda ser visualizada.
o exceptionuserlist: Cualquier usuario que coloques acá no
será afectado por el filtro de contenido.
o greysitelist: Es muy similar a exceptionsitelist, la única
diferencia es que exceptionsitelist desbloquea un sitio por
completo, en cambio greysitelist desbloquea el sitio si
éste se encuentra bloqueado directamente, pero deja que
DansGuardian pueda analizar su sintaxis de contenido.
o greyurllist: Parecido a greysitelist pero en vez de actuar
sobre un sitio completo, lo hace sobre una parte de él,
definido por un URL.
o pics: Esta opción habilita el filtrado de contenido de
imágenes basado en sus colores RGB y determinando el
nivel de desnudez de la imagen ( en caso de ser una
persona ), por razones de rendimiento y que esta
funcionalidad está considerada aún como experimental,
desactivarla colocando el valor enablePICS = off
o weightedphraselist: En este archivo se especifican las
rutas a otros archivos en donde se encuentran listados de
palabras y porcentajes de ponderación de ellas, debido a
estos niveles DansGuardian encuentra conveniente
bloquear o no cierta página, es decir si se encuentra la
palabra sexo en una página web, esta no es bloqueada
inmediatamente, debe repetirse cierto número de veces
en dicha página para que pueda ocurrir, esto evita que
muchos sitios puedan ser bloqueados accidentalmente,
es válido ir modificando estos valores según nuestra
necesidad a medida que vamos usando el filtro de
contenido.
4.7.2Características funcionales:
o Puede bloquear los anuncios por el uso de una lista del
bloque del URL del anuncio.
o Puede filtrar el texto y las páginas del HTML de tipo
(sexual, racial, violento, etc.)
o Puede filtrar sitios usando el sistema de etiquetado PICS.
o Puede filtrar según tipo de MIME y la extensión del
archivo.
o Puede filtrar según URL’s incluyendo la expresión regular
URL’s.
o La filtración del URL es compatible con las listas del
squidGuard.
o La filtración del URL puede filtrar peticiones de los https.
o Puede trabajar en un modo del “whitelist” donde todos
los sitios excepto ésos enumerados se bloquean.
o Puede bloquear todo el URL’s basado en IP.
o Puede bloquear sitios cuando los usuarios intentan usar
direcciones IP de un sitio en lugar de otro.
o Produce opcionalmente un formato de la conexión CSV
para la importación fácil en las bases de datos.
o Tiene la capacidad de trabajar en modo stealth, donde
registra los sitios que habrían sido bloqueados, pero no
los bloquea. Esto permite supervisar a los usuarios sin
que ellos sepan.
o Utiliza un algoritmo muy inteligente para emparejar
frases en los Web sites mezclados adentro con código
HTML y espacio en blanco.
o DansGuardian 2.4.0 es 6 veces más rápido que
DansGuardian 1.x.x.
o La filtración del URL es perceptiblemente más rápida que
SquidGuard.
4.7.3Lenguaje sobre el cual está construido:
El programa está hecho 100% en C++ y puede
compilarse por medio de GCC 3.
4.7.4Sistemas operativos sobre los cuales se puede ejecutar:
Linux
FreeBSD
OpenBSD
NetBSD
Mac OS X
HP-UX
Solaris
4.7.5Acceso al código fuente:
No se pudo establecer si el acceso al código fuente de esta
herramienta es libre.
4.7.6Recursos hardware y software requeridos para la
instalación:
o Memoria mínimo de 64 MB en RAM.
o Procesador de 250 MHZ en adelante.
o Alguna versión del sistema operativo Linux (RedHat,
SUSE)
4.8 BOX
4.8.1Descripción:
eBox es una plataforma para el desarrollo y despliegue de
servicios relacionados con la seguridad y trabajo en grupo
para una red local. Es configurable a través de un interfaz web
que integra todos los servicios de una manera consistente y
fácil de usar. El objetivo es que pueda ser usada por personas
no expertas. 14
eBox está orientada a instalarse sobre una máquina
dedicada, todas las tareas de configuración son realizadas a
traés de la interface web de eBox. Esto significa que la
configuración de los servicios subyacentes es unidireccional:
los módulos eBox generan ficheros de configuración, en
algunos casos sobreescriben ficheros del sistema (aunque esto
tiende a ser evitado en la medida de lo posible) y cambios a
mano sobre esos ficheros no son detectados por eBox. Esto
simplifica la implementación y uso del paquete pero tiene la
desventaja de que los desarrolladores deben tener cuidado si
usan su propio sistema para pruebas.
El diseño de eBox es modular, los nuevos módulos que
proporcionan nuevos servicios y funcionalidades pueden ser
desarrollados independientemente del paquete base. eBox
simplifica el despliegue de nuevos módulos y la actualización
14 Tomado del sitio: http://es.wikipedia.org/wiki/EBox#Vista_general
de los ya existentes mediante un módulo de gestión de
software, el cual es también a su vez independiente del
paquete base eBox.
El sistema está basado en Linux y ha sido desarrollado
sobre Debian, como hay algún "debianismo" sobre algún
módulo, no se ofrece soporte sobre otras distribuciones Linux.
Portar eBox a otras distribuciones Linux debería ser sencillo
sobre otros sistemas operativos Unix como OpenBSD puede
tomar un poco más de trabajo pero debería seguir siendo
factible.
El paquete base de eBox ofrece una framework de
desarrollo para nuevos módulos. Usando esta framework los
módulos obtienen automáticamente características como
backups de configuración y el descarte de los cambios
efectuados en la configuración antes de se guardados.
Un módulo eBox típico maneja la configuración de un
demonio, pudiendo integrarse también con otros módulos de
eBox. El desarrollador será quien decida la forma en la que el
usuario podrá configurar el demonio, que no será
necesariamente una relación directa entre las del módulo y las
que admita el demonio. El desarrollador podrá elegir el valor,
por defecto, más adecuado para la mayoría de las opciones y
esconderlas de cara al usuario, mostrándole sólo las que se
consideren realmente importantes. De igual forma, el cambio
de una opción por parte del usuario mediante el interfaz web,
puede causar cambios de configuración en varios parámetros
de configuración del demonio, o en varios módulos de eBox. El
principal objetivo es mantener un interfaz de usuario sencillo,
facil de usar e integrado lo más posible, mientras se ofrece un
conjunto de parámetros de configuración lo más rico posible.
Sin embargo, puede haber módulos que no manejen la
configuración de un servicio de red. Un ejemplo de un módulo
de este tipo es el módulo de "sysinfo" del sistema base, se
encarga de recoger la información del sistema a ser mostrada
en la página de Resumen y ofrece unas entradas de menú
para características que no pertenecen a ningún módulo en
particular. La clase padre del módulo define varios métodos
abstractos que los módulos reales pueden dejar sin
implementar, así un módulo puede simplemente mantener
información en la página de Resumen, añadir nuevas entradas
de menú, manejar un servicio de red o todo lo anterior. 15
El caso normal, y mas interesante, es el del módulo descrito
en el primer parrafo. Este módulo tiene tres partes.
Una que define e implementa una API que permitirá a la
GUI, a otros módulos o scripts en perl configurar el demonio
que van a manejar.
La segunda es la GUI, la cual integra una serie de CGIs que
muestran la configuración en ése momento al usuario y le
permiten cambiarla, estos CGIs usan la API definida
15 Tomado del sitio: http://www.ebox-platform.com/
anteriormente para obtener la información de la configuración
y realizar cambios sobre ella.
La tercera parte del módulo es mas pequeña normalmente,
traduce toda la información sobre configuración almacenada
en GConf en reglas del firewall, ficheros de configuración y
comandos que hacen que el servicio de red se comporte como
el usuario espera. También se hace cargo del inicio, parada o
reinicio del sistema cuando sea necesario.
4.8.2Características funcionales:
EBOX ofrece los siguientes servicios:
Servicios para Redes:
o Objetos de red de alto nivel
o Firewall y router
o Filtrado
o Redirección
o Multirouter con balanceo de carga
o Moldeado de tráfico
o Servidor de correo electrónico
o Mensajería instantánea
o Proxy Web
o Caché
o Filtrado de contenidos
o Redes privadas virtuales (VPN)
o Servicios
o Autoconfiguración de la red
o Sincronización de fecha y hora
Trabajo en grupo:
o Directorio compartido
o Autentificación compartida incluyendo el PDC de
Windows
o Almacenamiento compartido (NAS)
o Impresoras compartidas
Su diseño incorpora técnicas de programación modernas
como:
A. Patrones de diseño: Un patrón de diseño observador
usado principalmente para integrar diferentes módulos
en eBox. Por ejemplo, cada servicio informa sobre que
puertos necesitan que estén abiertos. Además, un patrón
Singleton se usa para almacenar la configuración y
comportamiento global.
B. Desacoplamiento de la lógica y presentación: La
interfaz de usuario usa CSS y AJAX, e incluye varios
componentes Mason, como una tabla genérica usada
para configurar servicios. La lógica del programa reside
en los paquetes de las bibliotecas y en el código CGI.
C. Tolerancia a fallos: Los errores y avisos se manejan a
través de excepciones software, yendo desde el núcleo
hasta la rutina manejadora.
También ofrece la arquitectura para la búsqueda de errores,
integrando la distribución de la pila de ejecución del intérprete
de Perl. Cada proceso de cada servicio es monitorizado por si
este muere, es relanzado automáticamente.
4.8.3Lenguaje sobre el cual está construido:
eBox está basada en unos pocos paquetes de software, los
cuales son usados para diferentes propósitos:
A.Linux 2.6
eBox hace uso de algunas características ofrecidas por el
kernel, algunas de ellas están disponibles sólo en la serie
2.6. Entre esas caraterísticas están netfilter (para el
firewall), 802.1q (para VLANs) e ipsec.
B.perl y mod_perl
Todos los módulos eBox están implementados en perl, el
interfaz web corre sobre mod_perl por razones de
rendimiento.
C.mason
mason es un sistema de plantillas para perl, es usado
para generar HTML para la interfaz de usuario basada en
web y para generar ficheros de configuración.
D.apache
El interfaz web es servido por apache, nosotros usamos
habitualmente el paquete debian apache-perl.
E. gconf
eBox almacena su configuración mediante gconf2 y la
librería de bindins de perl.
F. sudo
Apache se ejecuta como usuario no privilegiado, todos los
módulos eBox usan sudo para ejecutar comandos que
necesitan ser ejecutados como root.
4.8.4Sistemas operativos sobre los cuales se puede ejecutar:
o Sistemas operativo Linux (Debian)
4.8.5Acceso al código fuente:
El acceso al código fuente es libre, por lo tanto se puede
modificar para generar nuevos servicios.
4.8.6Recursos hardware y software requeridos para la
instalación:
Además del sistema operativo no requiere requerimientos
de hardware y software especiales.
Capítulo 6
6. SELECCIÓN DE LAS MEJORES
HERRAMIENTAS
Después de haber realizado una descripción general de las ocho herramientas en el capítulo anterior, se escogieron las mejores 3 herramientas de monitoreo de red, basados en los criterios de clasificación que se nombran a continuación:
De acuerdo a los criterios de selección descritos anteriormente se escogieron las herramientas que se nombran a continuación:
1. WIRESHARK.
2. NAGIOS.
3. MRTG.
Las herramientas elegidas tuvieron mejores características funcionales respecto a las demás. Además que son reconocidas entre la comunidad de Internet como las más utilizadas.
Además cuentan con gran aceptación dentro de los foros de Internet relacionados con el tema y porque muchas instituciones a nivel de Colombia como la Universidad del Cauca y a nivel internacional como la Universidad de Valencia
utilizan alguna de las herramientas como lo son Nagios y MRTG.
Las demás herramientas que no se eligieron cuentan con una funcionalidad útil, pero no poseen algo que la diferencie de las demás. Pero pueden ser tenidas en cuenta dependiendo del nivel de control que se quiera tener sobre la red.
Debido a que el objetivo principal de esta investigación es lograr determinar cuál de las cuatro herramientas escogidas es la más completa y por ende la que se presta para llevar a cabo un monitoreo detallado, fiable y rápido, en los capítulos posteriores se tratará más en detalle la instalación, configuración y uso de cada una de las herramientas nombradas anteriormente con el fin de conocer de manera más profunda el funcionamiento de cada una.
Desafortunadamente por cuestiones de configuración de los prerrequisitos de instalación como el servidor web Apache y de la compilación de algunas librerías de cada una de las herramientas, no fue posible llevar a cabo el proceso de instalación como se hubiera querido. Sin embargo la documentación recopilada a lo largo de esta investigación sobre dichas herramientas permitió identificar los alcances y limitaciones de cada una.
A continuación se realiza una comparación de cada unas de las tres herramientas OpenSource para monitorear la red con la mejor herramienta de monitoreo de red propietaria según la revista de tecnología PC Magazín.16
La herramienta Whats UP presenta una serie de funcionalidades que se relacionan en el cuadro que se
16 Tomado del sitio http://www.ipswitch.net/products/whatsupsmallbiz/awards.htm el 15 de Septiembre de 2007
presenta a continuación, con el cual se realiza la comparación con las herramientas WireShark, Nagios y MRTG.
Para cada una de las funcionalidades de Whats Up se establece si la herramienta OpenSource posee similares características. En el cuadro Nro. 1 se realiza la comparación con las tres herramientas OpenSource.
Como puede observarse en el cuadro la herramienta propietaria Whats Up posee una funcionalidad de alto nivel, comparada con la de las herramientas OpenSource, lo cual lleva a pensar que existe una gran diferencia entre las herramientas por las que hay que pagar un costo de licenciamiento y las herramientas que no cuestan ni un centavo.
Es apenas normal que las herramientas propietarias posean mejor funcionalidad que las que son de distribución libre, esto no solo se ve en el tema de monitoreo de red sino en prácticamente en todos los campos de la tecnología de software, desde los sistemas operativos pasando por editores de texto, hojas de cálculo hasta herramientas que apoyan el diseño CAD.
La gran ventaja de las herramientas con licenciamiento GPL es su capacidad de adaptabilidad a las necesidades específicas de las organizaciones ya que por permitir el acceso a su código fuente se pueden incorporar nuevas funcionalidades que incluso ni las herramientas propietarias poseen.
Desde luego que la tarea de implementar un nuevo módulo funcional en una herramienta de monitoreo no es fácil ya que en primera instancia hay que entender el funcionamiento global de todos sus componentes para poder incorporar uno nuevo.
Categoría Características WhatsUp Gold
Wireshark Nagios MRTG
Monitoreo de aplicaciones
Reportes Predefinidos Sobre el Rendimiento del Sistema, Utilizando Contadores de WMI.
Monitores y Reportes de Rendimiento Personalizados, Utilizando Cualquier Contador WMI.
Plantillas para Monitoreo de Aplicaciones de Servidor SQL y Exchange®.
Monitoreo de dispositivos
Monitoreo SNMP v1/2/3 Completo para cualquier dispositivo que lo soporte.
Adicione MIBs con simples “Drag-and-Drop”.
Monitores o acciones con scripts personalizados (VBScript/JavaScript).
Monitoreo de Contenido Web (HTTPS/HTTP).
Monitoreo de ancho de banda de routers y análisis de tendencias.
Soporte para instancias SNMP no-persistentes, para Rendimiento.
Mejorías de Mapas, Cambios de Campo en Grupo, Dependencias y Rendimiento de Bases de Datos.
Interfaz personalizada.
Notificación de problemas al administrador de la red
Reportes integrados
Biblioteca de reportes predefinidos.
Gestión de recursos /Reportes de buscador de direcciones MAC.
Workspaces Configurables, con más de 100 Reportes.
Estándares permitidos
Soporte SNMPv1/2/3.
Capacidades IPv6 expandidas.
Control flexible
Biblioteca de credenciales.
Grupos virtuales dinámicos.
Suite integrada de herramientas para la base de datos.
Control de vistas de la red a través de la interfaz del programa.
Servidor Web y Motor de Investigación funcionan como servicios separados.
Filtrado de tráfico en la red
Multiplataforma Linux, Windows, Unix, entre otros.
Facilidad de instalación y configuración
Cuadro Nro. 1 Cuadro comparativo herramientas de monitoreo
En los capítulos posteriores se detallará el funcionamiento de cada una de las herramientas WireShark, Nagios y MRTG
para conocer su instalación, configuración y uso para poder tener un concepto más claro sobre lo que ofrece cada una de las herramientas y así determinar cuál es la mejor herramienta para llevar a cabo el monitoreo de red.
Capítulo 7
7. WIRESHARK
7.1 Instalación
7.1.1Requerimientos del sistema.
Windows 2000, XP Home, XP Pro, XP Tablet PC, XP Media
Center, Server 2003 o Vista.
Procesador de 32-bit o 64-bit Pentium..
128MB RAM (Se recomienda: 256MBytes o superior)
75MB disponibles en el disco duro.
Resolución de 800*600, 1280*1024 o superior.
Disponer de las siguientes tarjetas de red:
Ethernet.
WLAN.
7.1.2Instalación de WireShark sobre S.O. Windows.
Para instalar WireShark se debe adquirir el instalador
llamado: wireshark-setup-x.y.z.exe. El cual se puede descargar
de la página
http://www.wireshark.org/download.html#releases y incluye el
WinPcap, la cual es una herramienta estándar de la industria
para acceder a la conexión entre capas de red en entornos
Windows. Ésta permite a las aplicaciones capturar y transmitir
los paquetes de red punteando la pila de protocolos, y tiene
útiles características adicionales, incluyendo filtrado de
paquetes a nivel del núcleo, un motor de generación de
estadísticas de red y soporte para captura de paquetes
remotos.
7.1.3Instalación de WireShark sobre Linux Red Hat 6.
Antes de instalar WireShark sobre Linux, se deben tener los
siguientes paquetes instalados:
GTK, GIMP Tool Kit. (Se puede obtener de la página
www.gtk.com)
Libpcap, la cual es una herramienta para la captura de
paquetes. Se pude obtener de la página
www.tcpdump.org.
Una vez que se tienen los paquetes, éstos se deben instalar
haciendo uso de los siguientes comandos:
cd /mnt/cdrom/RedHat/RPMSrpm -ivh glib-1.2.6-3.i386.rpmrpm -ivh glib-devel-1.2.6-3.i386.rpmrpm -ivh gtk+-1.2.6-7.i386.rpmrpm -ivh gtk+-devel-1.2.6-7.i386.rpmrpm -ivh libpcap-0.4-19.i386.rpm
7.2 Interfaz de Usuario.
7.2.1Ventana Principal.
En la interfaz de la ventana principal se puede visualizar los
paquetes que son capturados o cargados por la aplicación.
77
Figura 15 Interfaz gráfica de WireShark
La ventana principal está compuesta por 7 partes, entre las
que se encuentran:
1. Barra de menú principal.
2. Barra de herramientas principales.
3. Barra de herramientas de filtrado.
4. Panel de paquetes.
5. Panel detallado de paquetes.
6. Panel de bytes de paquetes.
78
7. Barra de estado.
7.2.2Barra de menú principal.
Contiene los siguientes ítems:
Figura 16 Barra de menú principal
File
Este menú contiene ítem para abrir, organizar archivos,
guardar, imprimir y exportar archivos
Figura 17 Menú File
A continuación se describen cada uno de los ítem de éste
menú:
Open...
Permite abrir un archivo de captura de paquetes que haya sido guardado previamente
Permite abrir los archivos de captura recientes. 79
Open recent
Merge
Save
Save As…
File set List Files
File set Next File
File set Previous File
Export as Plain text file…
Export as PostScript file…
Export as CSV file…
Permite organizar los archivos de captura.
Permite guardar un archivo de captura generado previamente en una ruta específica.
Permite guardar un archivo de captura y guardarlo en una ruta específica.
Permite visualizar una lista de archivos perteneciente a un conjunto de archivos.
Permite visualizar el siguiente archivo dentro de un conjunto de archivos.
Permite visualizar el anterior archivo dentro de un conjunto de archivos.
Permite exportar el archivo de captura de paquetes a un archivo plano ASCII.
Permite exportar el archivo de captura de paquetes a un archivo PostScript.
Permite exportar el archivo de captura de paquetes a un archivo CSV.
80
Print Permite imprimir el archivo de captura de paquetes.
Quit Permite salir de la aplicación.
Edit
Éste menú permite la búsqueda de uno o más paquetes de acuerdo a las preferencias del usuario.
Figura 18 Menú Edit
A continuación se describen cada uno de los ítem de éste
menú:
Copy As Filter
Find Packet…
Permite copiar la información que se muestra en la ventana de filtrado de paquetes.
Permite buscar un paquete de acuerdo a unos criterios específicos.
81
Figura 19 Cuadro Find Packet
Find Next
Find Previous
Mark Packet
Find Next Mark
Find Previous Mark
Mark All Packets
Unmark All Packets
Set Time Reference
Permite buscar el siguiente paquete que se ajuste a los criterios de búsqueda dados en el ítem Find Packet.
Permite buscar el anterior paquete que se ajuste a los criterios de búsqueda dados en el ítem Find Packet.
Permite marcar un paquete seleccionado en la ventana de filtrado.
Permite ir al siguiente paquete seleccionado en la ventana de filtrado.
Permite ir al anterior paquete seleccionado en la ventana de filtrado.
Permite marcar todos los paquetes que se visualizan en la ventana de filtrado.
Permite desmarcar todos los paquetes que se visualizan en la ventana de filtrado.
Permite asignar una referencia de tiempo a un paquete para diferentes fines, entre ellos el de establecer el momento exacto su captura.
Permite buscar el siguiente paquete con referencia de tiempo.82
Find Next Reference
Find Previous Reference
Preferences…
Figura 20 Cuadro de preferencias
View
Permite buscar el anterior paquete con referencia de tiempo.
Permite configurar la apariencia de la interfaz de usuario, como fuente, color de los paquetes seleccionados, tamaño de las ventanas emergentes, etc.
83
Éste menú permite visualizar los paquetes de acuerdo a las
características definidas por el usuario, tal como Color de los
paquetes, Tamaño de la letra, Visualización de los paquetes en
una ventana independiente, Visualización de los detalles del
paquete.
Figura 21 Menú View
A continuación se describen cada uno de los ítem de éste
menú:
Main Toolbar Permite visualizar la barra de menú
principal.
Figura 22 Main Tool Bar
84
Filter Toolbar Permite visualizar la barra de filtrado.
Figura 23 Filter Tool Bar
Figura 24 Ventana principal
Packet List
Status Bar
Permite mostrar u ocultar el panel donde se visualiza la lista de paquetes.
85
Figura 25 Panel de filtrado
Packet details
Panel de filtrado de paquetes
Permite mostrar el panel donde se detalla la información los paquetes capturados
Panel detallado de filtrado de paquetes86
Figura 26 Panel de filtrado de paquetes
Packet bytes
Figura 27 Panel de datos de filtrado
Time Display Format
Name resolution
Permite mostrar el panel donde se detalla el contenido de los paquetes.
Panel de datos de los paquetes.
Permite configurar la visualización de los formatos de fecha y hora dentro de la aplicación.
Permite habilitar la resolución de nombres en las capas MAC, Capa de Red y Capa de Transporte. Traduce las direcciones MAC o IP en nombres que puedan ser entendidos por el usuario.
87
Go Éste menú permite buscar un
paquete específico.
Go to Packet Permite la búsqueda de un paquete específico.
88
Capture
Éste menú permite iniciar o detener la captura y la edición de
los filtros de captura.
A continuación se describen cada uno de los ítem de éste
menú:
Éste es el paquete Nro. 23
89
Interfaces...
Options
Start
Stop Permite detener la captura de paquetes.
Restart Permite reiniciar la captura de paquetes.
Capture Filters
Permite escoger la interfaz de red sobre la cual se va a realizar la captura de paquetes.
Permite configurar la captura de paquetes sobre la interfaz que se ha escogido previamente.
Permite crear o editar filtrados de captura, con el fin de disminuir el número de paquetes que no se necesitan, especificando el protocolo que se quiere utilizar.
Permite iniciar la captura de paquetes de acuerdo a la configuración establecida previamente.
90
Analyze.
Éste menú contiene ítem para manipular el filtrado, habilitar o
inhabilitar protocolos, permitir el TCP Stream.
Interfaz de red.IP de interfaz.
Tamaño del buffer de captura.
Permite capturar los paquetes de la red o solo los que entran y salen del PC del usuario.
Permite especificar el tamaño máximo del paquete.
Filtrado para la captura de paquetes.
Permite especificar el número máximo de paquetes a capturar.
91
A continuación se describen cada uno de los ítems de éste
menú:
Display Filters
Permite visualizar los filtros existentes para la captura de paquetes.
92
Statistics.
Éste menú contiene ítem que permiten mostrar varias
ventanas con información estadística de los paquetes que han
sido capturados.
93
Summary
Protocol Hierarchy
Conversations
IO Graphs
Permite visualizar un árbol de estadísticas del
protocolo sobre el cual se realiza la captura
de paquetes.
Permite visualizar la conversación entre el origen y el destino de los datos capturados.
Permite visualizar una gráfica en la cual se permite establecer el número de paquetes capturados en una unidad de tiempo.
Permite mostrar la información sobre los datos de los paquetes capturados
94
Conversation List
Conversaciones entre los paquetes del protocolo
Ethernet:
Permite visualizar las conversaciones existentes entre el origen y el destino de un protocolo de red específico.
95
Conversaciones de los paquetes del protocolo TCP:
Conversaciones de los paquetes del protocolo UDP:
96
Service Response Time
Permite visualizar el tiempo que transcurre entre una petición y la respuesta correspondiente.
Esta opción solo está disponible para los siguientes protocolos:
DCE-RPC
Fibre Channel
H.225 RAS
LDAP
MGCP
ONC-RPC
SMB
Permite visualizar el flujo de los paquetes capturados, especificando su origen y destino así como el puerto desde el cual salen y el puerto por el cual se reciben. También se puede establecer el tiempo que transcurre entre el envío y la recepción de un paquete en particular.
Para generar la gráfica de análisis se presenta el siguiente cuadro de dialogo para escoger los parámetros de generación de dicha gráfica.
97
Flow Graph
98
TCP Stream Graph
Round Trip Time Graph
Permite visualizar por medio de diferentes gráficas las características de la captura de los paquetes de red.
99
Throughput Graph
100
Time Sequence Graph
101
102
Capítulo 8
8.NAGIOS
8.1 Instalación.
8.1.1Requisitos Previos.
Es necesario tener una maquina con Linux, el SGBD
MySQL y el servidor web apache correctamente instalado,
configurado y activo. No es objeto de este manual
especificar la instalación de ninguna de las herramientas
mencionadas.
La maquina debe tener instalado el sistema operativo
Linux Red Hat 8.0. Según los creadores de Nagios,
debería tratarse de una maquina con al menos 256 MB de
RAM y 20 GB de espacio en el disco duro.
8.1.2Creación de Usuarios.
Nagios utiliza para el proceso de instalación y para
otras funciones al grupo nagios por lo que el primer paso
debe ser la creación de dichos usuarios en Linux, por
medio del siguiente comando:
adduser nagios
8.1.3Instalación del núcleo de Nagios.
Lo primero que hay que hacer es bajarse el paquete
con los fuentes de Nagios de la página oficial
www.nagios.org. El paquete tiene el siguiente nombre:
nagios-1.0.tar.gz
Una vez se ha descargado el paquete se descomprime.
tar xzvf nagios-1.0.tar.gz
El siguiente paso es crear como root el directorio
donde se instalará el software una vez compilado.
mkdir /usr/ local/ nagios
Ahora se debe proceder a la configuración de las
fuentes para una compilación acorde al sistema. Se
deben tomar las opciones por defecto por lo que se debe
ejecutar el siguiente comando desde el directorio donde
se ha descomprimido y desempaquetado el paquete de
Nagios.
./configure
Para compilar las fuentes de Nagios se debe ejecutar el
siguiente comando:
make all
104
Para ejecutar la instalación de la herramienta se debe
proceder a ejecutar el siguiente comando, el cual
instalará los ficheros binarios y los ficheros HTML que
serán necesarios para el correcto funcionamiento del
sistema de monitorización:
make install
Nagios puede ser configurado para que sea iniciado
durante el arranque del sistema, para ello se debe
ejecutar el siguiente comando:
make install-init
Con la ejecución de los comandos anteriormente
descritos quedará instalado el núcleo de Nagios, el cual
hace labores de coordinación y gestión entre un número
de extensiones que realmente son las que realizan las
labores de monitorización.
8.1.4Instalación de las extensiones oficiales.
Lo siguiente que hay que hacer es instalar todas las
extensiones oficiales (plugins) que permitirán la
monitorización. Para ello lo primero que hay que hacer es
descargar nuevamente, el paquete correspondiente de la
página oficial www.nagios.org.
Estos plugins son programas compilados o Shell scripts
que realizan la monitorización de ciertos servicios o
máquinas y devuelven unos valores que son los que el
105
núcleo de Nagios utiliza. Para instalarlos se debe
desempaquetar y descomprimir el paquete como se
especifica a continuación:
tar xzfv nagios-plugins.1.3.0.tar.gz
Nuevamente hay que configurar las fuentes. El
parámetro más importante que hay que especificar es el
lugar donde se encuentra instalado Nagios, puesto que
las extensiones se instalan en una rama de dicho árbol de
directorios.
Si Nagios se ha instalado en el directorio por defecto
usr/ local /nagios, entonces basta con ejecutar el
siguiente comando:
./configure
Si Nagios se instaló en un directorio diferente al que se
toma por defecto se deberá ejecutar el siguiente
comando:
./configure –prefix=directorio_instalación _nagios
De cualquiera de las dos formas, las fuentes de las
extensiones quedarán bien configuradas para compilar
sin problemas en nuestro sistema. Para proceder a la
compilación, se debe ejecutar la siguiente orden:
make all
106
Tras lo cual los binarios habrán sido correctamente
generados si no ha habido ningún problema. Ahora hay
que proceder a la instalación de dichos binarios a partir
del directorio que le indicamos durante la configuración.
Se ejecuta el siguiente comando:
make install
Una vez realizadas las anteriores actividades la
extensiones oficiales quedarán correctamente instaladas.
8.1.5Activación y configuración de la interfaz web.
Se aconseja activar y configurar la interfaz web de
Nagios que permitirá interactuar con el sistema de
monitorización a través de cualquier navegador. Se
requiere que el servidor Apache este instalado y
correctamente configurado.
Si se han seguido los pasos de la instalación por
defecto, sin elegir los parámetros de instalación, los
binarios de Nagios debe ser accesible en
http://localhost/nagios/cgi-bin/, pero para ello hay que
añadir algunas líneas en el fichero de configuración de
apache http.conf.
Antes de nada se debe establecer un alias para poder
acceder a través del servidor http a los binarios de la
107
distribución de Nagios. Para ello se debe añadir al archivo
de configuración de apache las siguientes líneas:
ScriptAlias /nagios/ cgi-bin/ /usr/local/nagios/sbin/
<Directory “/usr/local/nagios/sbin/”>
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from allow
</Directory>
Del mismo modo, se debe crear un alias para poder
acceder a los archivos HTML de la distribución Nagios vía
el servidor Apache. Incluimos en el mismo archivo la
siguientes líneas, las cuales deben escribirse después de
las líneas escritas anteriormente.
Alias /nagios/ /usr/local/nagios/share/
<Directory “/usr/local/nagios/share/”>
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from allow
108
</Directory>
Lo que permitirá poder acceder a la interfaz web del sistema
de monitorización que se está instalando en
http://localhost/nagios que es lo que se pretende. Para
probarlo se debe reiniciar el servidor http para que lea la
nueva configuración. Para lograrlo se debe ejecutar el
siguiente comando:
etc/rc.d/init.d/httpd restart
Haciendo uso de cualquier navegador y digitando la
siguiente dirección:
http://localhost/nagios
Se podrá probar el servicio http.
Según la configuración del servidor web, puede ocurrir que
la página no se muestre si no se incluye la barra “/” al final de
la URL. En cualquier caso, así se comprobará si funciona
correctamente o no la interfaz web, pero nada más funcionará
porque no se ha configurado los CGI’s para ello y no se ha
levantado el servicio “nagios”.
8.2 Configuración de Nagios.
109
Nagios tiene una configuración bastante larga y meticulosa
por lo que en este apartado se hará mención únicamente a
alguno de los archivos que hay que modificar y qué es lo que
se configura en cada uno de ellos.
Si se han seguido todos los pasos anteriores, en el
directorio ‘/usr/local/nagios/etc’ se encontrarán los ficheros de
configuración de ejemplos del sistema de monitorización.
Bastará con quitarles a todos la parte del nombre en que
pone ‘sample’ para tener todos los archivos de configuración
necesarios que habrá que retocar pero que están auto
documentados en gran parte.
Nagios puede configurarse exclusivamente en un solo
archivo nagios.cfg, pero por comodidad y facilidad se suele
dividir el archivo de configuración en varios cuyo nombre
puede ser elegido por el administrador.
A continuación se describen los archivos de configuración
de Nagios.
Servicios.
Se consideran servicios a los procesos tradicionales como
STPM, FTP, WWW, etc, que corren en alguna máquina de la
red y también a cualquier tipo de valores como por ejemplo el
tiempo de retorno de los PING o cualquier otra métrica
parecida que nos interese aplicar. Junto con un servicio se
110
define también el equipo en el que debe estar disponible
dicho servicio. Todos estos datos se suelen definir en el
fichero services.fcg.
Algunas de las características más importantes que
podemos configurar en este archivo con respecto a los
servicios son:
Descripción del servicio: service_description.
Equipo en el que estará funcionando: host_name.
Periodo de tiempo por el cuál se regirá: check_period.
Comando usado para comprobar el servicio:
check_command.
Grupo de contacto para notificaciones: contact_groups.
Opciones de las notificaciones: notification_options.
Equipos.
Se considera un equipo a cualquier dispositivo que
pertenezca a la red como por ejemplo servidores, routers,
111
switches, impresoras de red, etc. Se definen generalmente
en el archivo hosts.conf.
Algunas de las características más importantes que
podemos configurar en este archivo con respecto a los
equipos son:
Nombre del equipo: host_name.
Alias para el equipo: alias.
Dirección IP del equipo: address.
Comando usado para comprobar el equipo:
check_command.
Grupos de equipos.
Un grupo de equipos es un conjunto de equipos
previamente definidos que tienen algo en común y que por
razones de facilidad en la administración se agrupan. Por
ejemplo un grupo 'impresoras' podría agrupar a todos los
equipos que sean impresoras, el grupo 'Sala Linux' podría
contener a todos los equipos de la sala llamada 'Sala Linux',
etc. Un equipo SIEMPRE tiene que pertenecer a un grupo.
Asimismo puede pertenecer a más de un grupo. Los grupos
de equipos se configuran generalmente en el archivo
hostgroups.cfg.
112
Algunas de las características más importantes que
podemos configurar en este fichero con respecto a los
grupos de equipos son:
Nombre del grupo de equipos: hostgroup_name.
Alias para el grupo: alias.
Contactos para el grupo de equipos: contact_groups.
Miembros del grupo: members.
Contactos.
Un contacto es la definición de una persona (generalmente
responsable de la red) que debe ser contactado cuando ocurre
algún suceso en la red. Junto con la definición del contacto se
especifican también las circunstancias bajo las cuales se
tienen que producir avisos de alarma : caída del sistema,
equipos inaccesibles, etc. Los contactos se configuran
generalmente en el archivo contacts.cfg.
Algunas de las características más importantes que
podemos configurar en este archivo con respecto a los
contactos son:
Nombre del contacto: contact_name.
Alias para el contacto: alias.
113
Periodos de notificación de errores de equipos:
host_notification_period.
Periodos de notif. de errores servicios:
service_notification_period.
Comando para notif. de err. servicios:
service_notification_commands.
Comando para notif. de err. equipos:
host_notification_commands.
Grupo de contactos.
Al igual que los grupos de equipos, los grupos de contactos
son un conjunto, en este caso de personas que se agrupan
para permitir una mayor flexibilidad a la hora de que Nagios
realice notificaciones. Por ejemplo, el grupo 'Administradores
de la sala Linux' podría agrupar a todos los administradores de
esa sala y cuando hubiese algún problema que notificar, todos
ellos serían notificados a la vez. Se configuran generalmente
en contactgroups.cfg.
Algunas de las características más importantes que
podemos configurar en este archivo con respecto a los grupos
de contactos son:
Nombre del grupo de contactos: contactgroup_name.
Alias para el grupo: alias.
114
Miembros del grupo: members.
Comandos.
Un comando es una tarea específica que se declara como
por ejemplo hacer un PING, hacer un telnet o cualquier otra.
Se especifica la línea de comandos y a partir de ese momento
ese comando que se ha definido puede ser usado por Nagios.
Esto permite mucha flexibilidad ya que podemos añadir
nuevas funcionalidades a Nagios sin más que crearnos nuevos
comandos. Los comandos se declaran generalmente en
misccommands.cfg y checkcommands.cfg.
Algunas de las características más importantes que
podemos configurar en estos archivos con respecto a los
comandos son:
Nombre del comando: command_name.
Comando a ejecutar: command_line.
Períodos de tiempo.
Un período de tiempo es un rango horario que se asigna
para cada día de la semana (debe ser siempre semanal) de tal
forma que luego ese periodo de tiempo que se ha creado, se
pueda asignar a una tarea concreta y formar así un calendario
o agenda. Por ejemplo se puede establecer para cada día de la
115
semana el horario laboral de una empresa y luego llamarle
'Horario de oficina'. Así se podrá decir a cualquier tarea que
funcione exclusivamente ajustándose al periodo de tiempo
'Horario de oficina'. Se configuran generalmente en
timeperiods.cfg.
Algunas de las características más importantes que
podemos configurar en este fichero con respecto a los
periodos de tiempo son:
Nombre del periodo de tiempo: timeperiod_name.
Alias del periodo de tiempo: alias.
Horario para el lunes: monday.
Horario para el martes: tuesday.
Horario para el miércoles: wednesday.
Horario para el jueves: thursday.
Horario para el viernes: friday.
Horario para el sábado: saturday.
Horario para el domingo: sunday.
Ampliación de los servicios.
Se usan para intensificar las notificaciones con respecto a
un servicio de un equipo. Es completamente opcional. La
116
ampliación de los servicios se configura generalmente en el
archivo escalations.cfg.
Algunas de las características más importantes que podemos
configurar en este archivo con respecto a la ampliación de los
servicios son:
Nombre del equipo donde está el servicio: host_
Descripción del servicio: service_description.
Primera notificación: first_notification.
Última notificación: last_notification.
Dependencias de los servicios
Una dependencia de servicio es una característica
avanzada de Nagios que permite que en una jerarquía
donde unos servicios dependen de otros, al fallar uno del
que dependen varios, se supriman las notificaciones
ocurridas por el mal funcionamiento de estos últimos ya
que se deben a que ha fallado aquel del que dependen, y
no ellos. También se puede especificar que los servicios
dependientes no sean comprobados inútilmente en esta
situación. Está especialmente indicado para expertos que
tienen que monitorizar instalaciones excesivamente
117
complejas. Se especifican generalmente en el fichero
dependencies.cfg.
Algunas de las características más importantes que
podemos configurar en este fichero con respecto a la
dependencia de los servicios son:
Descripción del servicio: service_description.
Equipo donde está el servicio: host_name.
Descripción del servicio dependiente:
dependent_service_description.
Equipo del servicio dependiente:
dependent_host_name.
Ampliación de los equipos.
Se usan para intensificar las notificaciones con respecto a
un equipo. Es completamente opcional. La ampliación de los
equipos se configura generalmente en el archivo
escalations.cfg.
118
Algunas de las características más importantes que
podemos configurar en este archivo con respecto a la
ampliación de los equipos son:
Nombre del equipo: host_name.
Primera notificación: first_notification.
Última notificación: last_notification.
Dependencias de los equipos.
Una dependencia de equipo es una característica
avanzada de Nagios que permite que cuando un equipo
del que dependen varios falla, no se notifique el fallo de
los equipos dependientes ni se intente comprobar su
estado, porque no han fallado realmente sino que ha
fallado el equipo del cual dependen. Está especialmente
indicado para expertos que tienen que monitorizar
instalaciones excesivamente complejas. Se especifican
generalmente en el archivo dependencies.cfg.
Algunas de las características más importantes que
podemos configurar en este archivo con respecto a la
dependencia de los equipos (cada uno de ellas) son:
Equipo donde está el servicio: host_name.
Equipo del servicio dependiente:
dependent_host_name.
119
Ampliación de los grupos de equipos.
Se usan para intensificar las notificaciones con
respecto a todos los equipo de un grupo de equipos. Es
completamente opcional. La ampliación de los grupos de
equipos se configura en el archivo escalations.cfg.
Algunas de las características más importantes que
podemos configurar en este fichero con respecto a la
ampliación de los grupos de equipos son:
Nombre del grupo de equipos: hostgroup_name.
Primera notificación: first_notification.
Última notificación: last_notification.
Opciones generales de Nagios.
Aparte de lo anteriormente visto, el archivo principal de
configuración de Nagios es nagios.cfg que no debería
contener muchas cosas si ha configurado cada parte en
un archivo independiente, como se ha visto en las líneas
anteriores. Este fichero contiene información sobre cuáles
son los archivos de configuración que se han usado para
configurar cada parte, qué grupo y/o usuario hacen
funcionar Nagios, fichero de sucesos, etc.
120
Configuración de los CGI.
Los CGI que Nagios utiliza para su funcionamiento y
para la presentación web de los datos referentes a la
monitorización se configuran en el fichero cgi.cfg.
Generalmente este fichero contiene información relativa a
la localización de los HTML que se muestran, a los CGI, a
la configuración del acceso a los servicios, a los equipos y
a la propia configuración de Nagios tanto para obtener
información como para actuar sobre el sistema.
Comprobando la configuración del sistema.
Una vez que se han introducido todos los datos
correctos en los distintos ficheros de configuración de
Nagios, no es necesario pero si recomendable verificar
que no existen errores de configuración. Para ello, se usa
una opción del ejecutable de nagios que permitirá
conocer si hay errores o no y en caso de haberlos,
indicará el lugar concreto dentro del archivo de
configuración donde puede estar el error.
nagios –v /usr/local/nagios/etc/nagios.cfg
Nagios comprobará que se han especificado todos los
objetos correctamente. Además comprobará que se han
121
declarado en el orden correspondiente y necesario para el
buen funcionamiento de todo el sistema, el siguiente:
1. Verificar que todos los contactos son grupos al menos
de un grupo de contacto.
2. Verificar que todos los miembros de un grupo de
contacto son contactos válidos.
3. Verificar que todos los equipos son miembros de al
menos un grupo de equipos.
4. Verificar que todos los equipos especificados en un
grupo de equipos son equipos válidos.
5. Verificar que todos los equipos tienen al menos un
servicio asociado a ellos.
6. Verificar que todos los comandos usados en los
servicios y los equipos, son válidos.
7. Verificar que todos los comandos usados en los
manejadores de eventos de servicios y equipos, son
válidos.
8. Verificar que todos los comandos usados para
notificaciones de contactos, equipos y servicios, son
válidos.
9. Verificar que todos los periodos de tiempos usados
para servicios, equipos y contactos, son válidos.
122
10. Verificar que todos los periodos de tiempos para
comprobación de servicios, son válidos.
Si el comando anterior no devuelve ningún error,
significará que los archivos de configuración son
correctos sintácticamente hablando y se habrá
terminado, pudiendo hacer funcionar el sistema en
cualquier momento.
Configuración avanzada de Nagios.
Nagios es una herramienta extremadamente compleja y
tiene muchísimas opciones. Dentro de la parte avanzada
del sistema, hay posibilidades para montar sistemas de
monitorización distribuido, planificar caídas del sistema,
realizar chequeos pasivos de servicios y equipos, etc.
Autenticación para el acceso.
Esta opción permite montar Nagios como un sistema de
monitorización al que se puede acceder de forma remota sin
peligro a que cualquier persona acceda y modifique,
observe, etc.
123
Se puede especificar autenticación tanto para acceder al
sistema como para acceder al uso de los CGI’s. Este proceso
se realiza como normalmente se hace en un servidor HTTP
cualquiera. Con las líneas que se configuró el fichero
httpd.conf de Apache el servidor estará ya preparado. El
siguiente paso es crear los siguientes ficheros:
/usr/local/nagios/sbin/.htaccess
/usr/local/nagios/share/.htaccess
Ambos con el siguiente contenido:
AuthName "Acceso a Nagios"
AuthType Basic
124
AuthUserFile /usr/local/nagios/etc/htpasswd.users
require valid-user
Se debe crear al menos un usuario que será el
administrado del sistema Nagios y que tendrá los permisos
necesarios para ejecutar CGI’s, ver el sistema y otras
opciones. Se debe hacer lo siguiente:
htpasswd –c /usr/local/nagios/etc/htpasswd.users <username>
Donde <username> es el nombre de usuario que
queremos crear. Tras esto se pedirá que se introduzca la
clave para ese usuario. Una vez se introduzca la clave ya
estará creado el administrador del sistema que tendrá
privilegios.
Iniciando Nagios.
Una vez se haya instalado Nagios según los pasos
descritos a través de éste documento, se debe instalar un
script de inicio en la siguiente ruta etc/rc.d/init.d llamado
‘nagios’. La forma de iniciar el sistema de monitoreo es
ejecutar el siguiente comando:
/etc/rc.d/init.d/nagios start
Cuando se quiera detener la ejecución de la herramienta
125
de monitoreo se debe ejecutar el siguiente comando:
/etc/rc.d/init.d/nagios stop
También si se desea volver a iniciar el monitoreo se
puede ejecutar el comando que sigue:
/etc/rc.d/init.d/nagios reload
8.3 Comandos de Nagios.
Nagios posee una serie de comandos para monitorear
equipos y servicios. Éstos comandos hacen uso de librerías
y paquetes que deben estar instalados previamente en el
sistema. En el archivo llamado REQUERIMENTS se pueden
visualizar los programas que se ejecutan mediante los
comandos que Nagios ofrece.
A continuación se describen algunos de los comandos con
los que cuenta la herramienta Nagios:
check_dig
Este comando sirve para comprobar el funcionamiento
del servicio de DNS en un equipo remoto.
126
check_disk
Este comando sirve para comprobar el espacio libre de un
volumen montado en el sistema de ficheros donde se esté
ejecutando Nagios. Permite especificar dos umbrales y
generar disparadores de advertencia cuando se supera el
menor, y errores críticos cuando se supera el segundo
umbral.
check_disk_smb
Este comando funciona exactamente igual que check_disk
pero realiza la comprobación utilizando samba para realizar
la comprobación de volúmenes compartidos en quipos
remotos, en redes Windows.
check_dns
Este comando permite hacer una consulta DNS para
averiguar la dirección IP de un equipo dado el nombre o
viceversa. Utiliza nslookup para ello; permite especificar el
servidor DNS a usar o si no usa el especificado en
/etc/resolv.conf.
check_dummy
127
Este comando permite realizar una consulta a un dispositivo
ficticio (devuelve el mismo parámetro que se le pasa).
Puede ser utilizado para comprobaciones y depuraciones.
check_flexlm
Este comando comprueba el funcionamiento de un sistema
FlexLM. Este sistema es un servidor de licencias en red
usado para obtener permisos de uso de software en red.
Devuelve distintos errores dependiendo del estado de estos
servidores de licencias.
check_ftp
Este comando realiza comprobaciones de conexión a un
servidor FTP remoto. Permite conocer el estado de este
servicio.
check_http
Este comando comprueba servicios HTTP y HTTPS en
equipos remotos. Permite además realizar el seguimiento
de redirecciones, tiempos de conexión, la expiración de los
certificados para SSL, etcétera. Es especialmente útil para
128
servidores web que sirvan de base para aplicaciones de
comercio electrónico.
check_ifoperstatus
Este comando comprueba el estado de operación de
interfaces de red remotas.
check_ifstatus
Este comando comprueba el estado general de interfaces
de red remotas.
check_imap
Este comando realiza conexiones contra un servidor IMAP
para comprobar su estado de funcionamiento. Permite
generar advertencias y errores críticos.
check_load
Este comando trabaja en local en la máquina que está
ejecutando el sistema Nagios. Comprueba la carga del
129
sistema en función de unos umbrales que tiene
preestablecidos y permite generar advertencias o errores
severos según sea esta carga.
check_nt
Este comando realiza peticiones a un equipo Windows
NT/2000/XP remoto que esté ejecutando el servicio
NSClient para comprobar parámetros locales a dicho equipo
como por ejemplo uso de la CPU, de la memoria, del disco,
etcétera.
check_oracle
Este comando permite comprobar el estado de un SGBD
Oracle en un ordenador remoto así como el estado de los
tablespaces, de bases de datos, de las caché, etcétera, de
dicho servidor.
check_pop
130
Este comando comprueba si el servicio POP de un equipo
remoto está funcionando correctamente. Realiza peticiones
para ello.
check_procs
Este comando funciona en la máquina donde se está
ejecutando Nagios. Comprueba el número de procesos
que se están ejecutando en la máquina y genera
advertencias cuando este número sobrepasa el umbral
especificado.
check_smtp
Este comando permite conocer el estado de un servicio
SNMP de una máquina remota. Realiza conexiones a este
servicio para averiguar la información necesaria.
check_swap
Este comando funciona en local, en la máquina donde está
instalado Nagios. Permite monitorizar el tamaño de la
memoria de intercambio utilizada y generar advertencias o
131
errores cuando este valor sobrepaso los umbrales
establecidos.
check_tcp
Este comando permite realizar peticiones arbitrarias a
conexiones (sockets) TCP contra sistemas remotos. Por
tanto permite monitorizar cualquier servicio que utilice
sockets TCP para recibir peticiones.
check_udp
Este comando permite realizar peticiones arbitrarias a
conexiones (sockets) UDP contra sistemas remotos. Por
tanto permite monitorizar cualquier servicio que utilice
sockets UDP para recibir peticiones.
check_users
Este comando permite conocer el número de usuarios
conectados actualmente en el sistema local, en el que se
está ejecutando Nagios. Genera advertencias y errores
cuando el número supera el umbral fijado.
132
8.4 Interface Web.
La web de administración de Nagios es complicada y
sencilla a la vez. Complicada porque tiene infinitas
posibilidades y sencillas porque todas ellas se hacen de las
misma forma con lo cual saber utilizar la interfaz web es
cuestión de minutos.
Al digitar la dirección http://nagios-server/nagios, aparece
la siguiente pantalla:
133
Al ejecutar la opción “Tactical overview” se muestra un
resumen de todos los equipos y servicios que están siendo
monitoreados.
Por medio de la opción “Service problems” se pueden
observar los problemas que presentan los host de la red,
además de los servicios involucrados. Los problemas pueden
ser una advertencia o pueden ser de nivel crítico.
134
Las opciones “Host Detail” y “Service Detail” proveen una
descripción detallada de cada uno de los host y servicios que
se están monitoreando.
135
La opción “Status Map” muestra un mapa de la topología de
red sobre la cual se está ejecutando el monitoreo. Si se realiza
un click sobre alguno de los host del mapa se despliega una
ventana con la información del mismo.
136
Nagios permite la navegación a través de la red por medio
de una representación 3D. El usuario puede mover, rotar y
realizar diferentes acciones sobre el mapa generado.
Para poder visualizar el mapa de la red en 3D es necesario
un browser con VRML (Virtual Reality Markup Language). La
versión del plugin VRML existentes para Linux son OpenVRML,
freeVRML y vrware.
137
Información de estado por grupo de equipos.
138
Esta opción muestra un resumen de los equipos y servicios
activos y caídos según los grupos a los que pertenece cada
grupo y de una forma amena, sencilla y muy rápida.
Problemas con los equipos.
Esta opción muestra exclusivamente los equipos que están
teniendo problemas así como una descripción de los mismos.
Es especialmente útil para un administrador de red saber
inmediatamente qué equipos están fallando.
139
Problemas con los servicios.
Esta opción muestra exclusivamente los servicios que están
teniendo problemas así como una descripción de dichos
problemas. Es especialmente útil para un administrador de red
saber inmediatamente qué servicios están dejando de
funcionar.
Administración web de Nagios.
El propio sistema Nagios puede ser administrado vía web
mediante la ejecución de comandos. Además se puede ver su
estado, las incidencias que ha tenido, etc.
140
Cola de planificación:
141
Esta opción muestra y permite cambiar la fecha y hora para
la cual están planificadas la ejecución de los chequeos a
servicios y equipos.
Configuración de informes.
Común para casi cualquier informe. Permite elegir el rango
de tiempo, la forma de presentación, el orden, etcétera, de los
datos que aparecerán en el informe.
142
Informe de disponibilidad.
Esta opción presenta en la ventana web un listado con
todos los equipos y los porcentajes de tiempo en los que
cada uno ha estado activo e inactivo. Esto permite obtener
unas estadísticas para ver si una máquina falla con frecuencia
y poner medidas al respecto.
143
Histograma.
Como cualquiera de los demás tipos de informe, el
histograma muestra de forma gráfica distintos parámetros, a
elegir, sobre los servicios y equipos monitorizados.
144
Histórico de eventos.
Al más puro estilo UNIX/Linux, esta opción muestra el
total de sucesos que han ocurrido en el sistema, desde que
un equipo haya caído hasta que a cierto contacto se le ha
enviado una notificación vía correo electrónico.
145
Contactos.
Esta opción permite ver los datos de configuración de los
contactos, esto es, horas de contacto, métodos para
notificaciones, dirección de correo, datos personales, etcétera.
Lo mismo aparece para otro parámetros que no sean los
contactos, pero sólo mostramos esta opción como ejemplo.
146
147
Capítulo 9
9. MRTG
9.1 Instalación.
Para la instalación de la herramienta MRTG se debe haber
instalado previamente un compilador de C y un editor del
lenguaje Perl.
El compilador de C se puede descargar de la siguiente página http://gcc.gnu.org/
El editor de Perl se puede descargar de la página http://www.perl.com/
MRTG genera gráficas en formato PNG. Por esto es necesario
contar con algunas librerías que permiten la generación de
dichas gráficas.
La librería gd puede ser descargada de la página http://www.boutell.com/gd/
La librería libpng que se utiliza para generar las graficas en formato PNG se puede descargar de la página http://www.libpng.org/pub/png/libpng.html
También se debe obtener la librería zlib, la cual es utilizada
para comprimir los archivos de graficas generados.
La librería zlib se puede descargar de la página http://oss.oetiker.ch/mrtg/pub
Para compilar cada una de las librerías que se necesitan para
poder instalar la herramienta MRTG se deben seguir los
siguientes pasos:
Primero se debe crear un directorio para la compilación
mediante la ejecución de los siguientes comandos:
mkdir -p /usr/local/src cd /usr/local/src
Para compilar la librería zlib se deben ejecutar los siguientes
comandos:
wget http://www.gzip.org/zlib/zlib-1.1.4.tar.gz gunzip -c zlib-*.tar.gz | tar xf - rm zlib-*.tar.gz mv zlib-* zlib cd zlib ./configure make
cd ..
Para compilar la librería libpng se deben ejecutar los siguientes
comandos:
wget http://public.planetmirror.com/pub/sourceforge/l/li/libpng/libpng-1.0.15.tar.gz gunzip -c libpng-*.tar.gz |tar xf - rm libpng-*.tar.gz mv libpng-* libpng cd libpng make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib rm *.so.* *.so cd ..
Para compilar la librería gd se deben ejecutar los siguientes
comandos:
wget http://www.boutell.com/gd/http/gd-1.8.4.tar.gzgunzip -c gd-*.tar.gz |tar xf -rm gd-*.tar.gzmv gd-* gdcd gd
Una vez se hayan compilado todas las librerías requeridas se
puede compilar el archivo fuente de MRTG por medio del
siguiente comando:
cd /usr/local/src
151
gunzip -c mrtg-2.15.2.tar.gz | tar xvf -cd mrtg-2.15.2
9.2 Configuración.
El siguiente paso es realizar la configuración de la
herramienta. Para ello se debe crear un archivo de
configuración llamado mrtg.cfg.
cfgmaker --global 'WorkDir: /home/httpd/mrtg' \ --global 'Options[_]: bits,growright' \ --output /home/mrtg/cfg/mrtg.cfg \ [email protected]
El archivo de configuración puede ser creado con cfgmaker
que está incluido en el paquete de MRTG.
cfgmaker <community>@<nombre-host-router or IP>
En primer lugar se debe configurar MRTG para monitorizar
el tráfico que pasa a través de los interfaces de un dispositivo
152
de red en particular. Para lo cual se debe ejecutar el comando
cfgmaker de la siguiente forma:
it003:~/mrtg>cd mrtg-2.5.1.sp/ it003:~/mrtg/mrtg-2.5.1.sp> ./cfgmaker [email protected] > mrtg.cfg GotAddresses GotIfTable GotIfDescr GotIfType GotIfSpeed GotIfStatus GotIfOperStatus Got IfIndex
Con lo cual estamos configurando MRTG para que acceda al
agente SNMP que corre en it003.lab.uc3m.es con los permisos
habilitados para la comunidad public. En principio obtiene
información sobre el número de interfaces del sistema,
velocidad máxima, estado, descripción.
El fichero mrtg.cfg generado tiene el siguiente aspecto:
it003:~/mrtg/mrtg-2.5.1.sp> less mrtg.cfg ###################################################################### # Descripcion: Linux version 2.0.25 (root@lmserv2) (gcc version 2.7.2) #384- Sat May 23 19:49:23 MET DST 1998 # Contacto: Prueba # Nombre del Sistema: hola # Localizacion: Not Configured #..................................................................... ######## ######## Esta interface se encuentra en alguno de los casos siguientes:
153
######## - Administrativamente desactivada (not UP) ######## - Dentro de modo de prueba ######## - Es una interface de autorreconocimiento (softwareLoopback) ######## - Tiene especificada una velocidad no realista ######## Por lo que se ha tenido que comentar ######## # # Target[it003.lab.it.uc3m.es.1]: 1:[email protected] # MaxBytes[it003.lab.it.uc3m.es.1]: 2500000 # Title[it003.lab.it.uc3m.es.1]: hola (localhost): lo0 # PageTop[it003.lab.it.uc3m.es.1]: <H1>Analisis de Trafico para lo0 # </H1> # <TABLE> # <TR><TD>Sistema: </TD><TD>hola en Not Configured</TD></TR> # <TR><TD>Administrador: </TD><TD>Prueba</TD></TR> # <TR><TD>Interfase: </TD><TD>lo0 (1)</TD></TR> # <TR><TD>HOST IP: </TD><TD>localhost (127.0.0.1)</TD></TR> # <TR><TD>Velocidad Máxima: </TD> # <TD>2500.0 kBytes/s (software-Loopback)</TD></TR> # </TABLE> # #---------------------------------------------------------------
Target[it003.lab.it.uc3m.es.2]: 2:[email protected] MaxBytes[it003.lab.it.uc3m.es.2]: 1250000 Title[it003.lab.it.uc3m.es.2]: hola (it003.lab.it.uc3m.es): eth0 PageTop[it003.lab.it.uc3m.es.2]: <H1>Analisis de Trafico para eth0 </H1> <TABLE> <TR><TD>Sistema: </TD><TD>hola en Not Configured</TD></TR> <TR><TD>Administrador: </TD><TD>Prueba</TD></TR> <TR><TD>Interfase: </TD><TD>eth0 (2)</TD></TR>
154
<TR><TD>HOST IP: </TD><TD>it003.lab.it.uc3m.es (163.117.144.203)</TD></TR> <TR><TD>Velocidad Máxima: </TD> <TD>1250.0 kBytes/s (Ethernet-Csma/Cd)</TD></TR> </TABLE>
Se han detectado dos interfaces, pero la primera al ser la
correspondiente al loopback (bucle interno para pruebas) no se
va a monitorizar. Aún se tiene que editar el fichero mrtg.cfg para
incluir el parámetro WorkDir mediante el cual se especifica en
que directorio se tienen que guardar los ficheros .gif y .html que
genere MRTG.
WorkDir: /usr/lab/fondo/sra/sra20/mrtg
####################################
##################################
# Descripcion: Linux version 2.0.25 (root@lmserv2) (gcc
version 2.7.2) #3# Contacto: Prueba
# Nombre del Sistema: hola
# Localizacion: Not Configured
155
#...........................................................................
Una vez editado correctamente el fichero mrtg.cfg se puede
ejecutar por primera vez el programa. Para generar las gráficas
de tráfico cada vez que se ejecuta MRTG, el programa se basa en
un fichero de log generado en anteriormente. La primera vez que
se ejecuta MRTG este fichero de log no existe con lo que se va a
producir un mensaje de advertencia. Tras la ejecución del
programa además de los *.gif y *.html se va a generar un nuevo
fichero de log y el antiguo se renombrara como *.old. En una
segunda ejecución del programa aún se genera un mensaje de
advertencia debido a que intenta borrar el fichero *.old de la
sesión anterior el cual todavía no se ha generado. En una tercera
ejecución del programa ya no debe aparecer ningún mensaje.
it003:~/mrtg/mrtg-2.5.1.sp> ./mrtg mrtg.cfg Rateup ADVERTENCIA: .//rateup no puede leer el archivo de log primario para it003.lab.it.uc3m.es.2 Rateup ADVERTENCIA: .//rateup el archivo de respaldo de log para it003.lab.it.uc3m.es.2 es invalido también Rateup ADVERTENCIA: .//rateup No se puede remover it003.lab.it.uc3m.es.2.old al actualizar el archivo de log Rateup ADVERTENCIA: .//rateup No se puede renombrar it003.lab.it.uc3m.es.2.log a it003.lab.it.uc3m.es.2.old al actualizar el archivo de log
156
it003:~/mrtg/mrtg-2.5.1.sp> ./mrtg mrtg.cfg Rateup ADVERTENCIA: .//rateup No se puede remover it003.lab.it.uc3m.es.2.old al actualizar el archivo de log
it003:~/mrtg/mrtg-2.5.1.sp> ./mrtg mrtg.cfg it003:~/mrtg/mrtg-2.5.1.sp>
9.3 Configuración avanzada.
Creación de una página índice.
En el caso en el que se quiera monitorizar un número
determinado de interfaces de red se puede crear una página a
modo de índice principal que contenga enlaces a las páginas
de estadísticas individuales de cada interfaz. Esta página
principal puede ser creada manualmente o utilizando el script
indexmaker que la genera automáticamente a partir del fichero
mrtg.cfg. El formato de indexmaker es el siguiente:
indexmaker <mrtg.cfg> <título> <expresión regular >
en donde,
mrtg.cfg, será el camino completo al fichero de configuración
de MRTG.
título, será el texto usado como título de la página HTML que
se genere.
157
expresión regular, patrón que se aplicara sobre el fichero
mrtg.cfg para determinar que equipos de los que aparecen en
éste fichero han de referenciarse desde la página principal.
Por ejemplo:
it003:~/mrtg> mrtg-2.5.1.sp/indexmaker mrtg-2.5.1.sp/mrtg.cfg "Monitorizacion de Trafico" it003 > index.html
La página se podrá visualizar como se muestra a continuación:
158
Se puede configurar la ejecución del MRTG de tal forma que
sea automática:
it003:~> crontab -e
*/5 * * * * /usr/lab/fondo/sra/sra20/mrtg/mrtg-2.5.1.sp/mrtg
/usr/lab/fondo/sra/sra20/mrtg/mrtg-2.5.1.sp/mrtg.cfg
Añadir Interfaces que Monitorizar.
Para aumentar la lista de equipos cuyos interfaces
queremos monitorizar vamos a utilizar nuevamente el script
cfgmaker. Por ejemplo vamos a añadir a la lista, además de
it003, los interfaces de arpa.it.uc3m.es de la siguiente forma:
it003:~/mrtg/mrtg-2.5.1.sp> ./cfgmaker
[email protected] >> mrtg.cfg
Got Addresses
Got IfTable
Got IfDescr
Got IfType
Got IfSpeed
Got IfStatus
Got IfOperStatus
Got IfIndex
159
Como resultado del comando anterior se añaden a mrtg.cfg
los nuevos interfaces de arpa que hay que monitorizar:
Target[arpa.it.uc3m.es.2]: 2:[email protected]
MaxBytes[arpa.it.uc3m.es.2]: 1250000
Title[arpa.it.uc3m.es.2]: arpa (arpa.it.uc3m.es): eth0
PageTop[arpa.it.uc3m.es.2]: <H1>Analisis de Trafico para eth0
</H1>
<TABLE>
<TR><TD>Sistema: </TD><TD>arpa en Not
Configured</TD></TR>
<TR><TD>Administrador: </TD><TD>Not
Configured</TD></TR>
<TR><TD>Interfase: </TD><TD>eth0 (2)</TD></TR>
<TR><TD>HOST IP: </TD><TD>arpa.it.uc3m.es
(163.117.139.120)</TD></TR>
<TR><TD>Velocidad Máxima: </TD>
<TD>1250.0 kBytes/s (Ethernet-Csma/Cd)</TD></TR>
</TABLE>
Cambiar la variable SNMP.
Por defecto la variable SNMP que se monitoriza es la
correspondiente al tráfico registrado a través de un interfaz
pero es posible monitorizar cualquier otra variable SNMP.
Dentro del fichero de configuración mrtg.cfg la palabra clave
160
que se emplea para definir que es lo que se va a monitorizar es
Target, su formato es el siguiente:
Target[ id ]: puerto:comunidad@router
En donde,
id, sería un nombre utilizado como identificador único, este
nombre es el que se utilizara para designar el documento HTML
y los .gif asociados a la variable que se defina mediante Target.
puerto, puerto o interfaz del router que se va a estudiar, por
defecto se monitoriza el tráfico registrado en ese interfaz, pero
como veremos a continuación se puede especificar cualquier
otra variable SNMP.
comunidad, palabra clave que se utilizara para realizar las
consultas vía SNMP.
route, nombre lógico (Ej.: arpa.it.uc3m.es) o dirección IP del
equipo que se quiere monitorizar.
Configuración con cfgmaker.
El comportamiento de la ejecución de MRTG se rige por un
archivo de configuración. El archivo de configuración puede ser
generado mediante el cfgmaker. A continuación se describen
algunas de las opciones de configuración del MRTG.
161
Sintaxis.
El archivo de configuración de MRTG debe las siguientes
reglas:
Las palabras clave deben empezar al comienzo de la
línea.
Las líneas que siguen una línea de palabras clave que
empiezan con un espacio en blanco se añaden a la línea
de la palabra clave
Las líneas vacías se ignoran
Las líneas que comienzan con un signo # son
comentarios.
También puede añadir otros archivos en el archivo de
configuración usado.
Se debe ejecutar el siguiente comando para establecer el
archivo de configuración de MRTG.
Include: base-options.inc
Si se incluyen los archivos especificados con rutas relativas,
tanto el directorio de trabajo actual y el directorio que contiene el
archivo de configuración principal se realizarán búsquedas de los
archivos.
Comandos Globales.
162
WorkDir: Especifica en donde serán creados los archivos de
seguimientos y las páginas web.
Ejemplo:
WorkDir: /usr/tardis/pub/www/stats/mrtg
HtmlDir: Especifica el directorio los archivos html serán
almacenados.
Ejemplo:
Htmldir: /www/mrtg/
ImageDir: Especifica el directorio en donde serán guardadas las
imágenes.
Ejemplo:
Imagedir: /www/mrtg/images
LogDir: Especifica el directorio en donde serán almacenados los
registros.
Logdir: /www/mrtg/logs
163
EnableIPv6: Cuando IPv6 se habilita, MRTG puede conversar con
los routers usando SNMP sobre IPv6 y los destinos pueden ser
especificados por direcciones numéricas IPv6, así como por el
hostname o por las direcciones IPv4.
Si IPv6 es habilitado y el destino es un hostname, MRTG resuelve
el hostname a una dirección IPv6 o IPv4.
Para habilitar el IPv6 se debe ejecutar configurar la opción
EnableIPv6 de la siguiente manera:
EnableIPv6: Yes
Refresh: Especifica el número de segundos que deben transcurrir
para que la pagina web sea actualizada.
Ejemplo:
Refresh: 600
Interval: Especifica el número de minutos que deben transcurrir
para ejecutar el llamado a MRTG. Por defecto se toman 5 minutos.
Ejemplo:
Interval: 10
MaxAge: MRTG se basa en gran medida en el reloj en tiempo real
del equipo en el cual está instalado. Se utiliza para especificar la
164
edad de un registro de seguimiento para que MRTG después de
cierto tiempo no lo tenga en cuenta para actualizarlo.
Ejemplo:
MaxAge: 7200
El ejemplo anterior hará que MRTG se niegue a actualizar los logs
que hayan sido generados hace 2 horas (7200 segundos).
WriteExpires: Con este cambio MRTG generará archivos de
metadatos para los servidores CERN y Apache, que contienen
etiquetas de caducidad los archivos html y gif. Los archivos *.
meta serán creados en el mismo directorio que los demás
archivos, así que usted tendrá que establecer "MetaDir." y
"MetaFiles on" en el apache.conf o .htaccess para que funcione.
NOTA: Si está ejecutando Apache - 1,2 o posterior, puede usar el
mod_expire para lograr el mismo efecto. Ver el archivo
htaccess.txt.
Ejemplo:
WriteExpires: Yes
IconDir: Si se quiere guardar los iconos de MRTG en algún lugar
diferente al lugar de trabajo, se puede hacer uso de la variable
IconDir para especificar el directorio de iconos.
Ejemplo:
165
IconDir: /mrtgicons/
Language: Permite cambiar el formato de salida de acuerdo al
idioma seleccionado.
Actualmente se pueden elegir los siguientes idiomas:
Búlgaro, Catalán, Checo, Chino, Croata, Danés, Holandés,
Francés, Gallego, Alemán, Griego, Húngaro, Islandés, Indonesia,
Italiano, Coreano, Lituano, Malayo, Noruego, Polaco, Portugués,
Rumano, Ruso, Serbio, Eslovaco, Esloveno, Español, Sueco, Turco,
Ucraniano, Ingles.
Ejemplo:
Language: danish
RunAsDaemon: Permite habilitar la ejecución de MRTG en modo
de operación daemon. El propósito de este modo de operación es
permitir que la ejecución de MRTG sea realizada una sola vez y no
varias veces.
ConversionCode: Algunos dispositivos pueden no producir valores
numéricos que, no obstante, son útiles para graficar con MRTG.
La palabra clave ConversionCode especifica la ruta de un fichero
que contiene código Perl para la realización de tales
conversiones. El código en este archivo debe ser de uno o más
subrutinas Perl. Cada subrutina debe aceptar un único argumento
de tipo cadena, y devuelven un único valor numérico.
166
9.4 Interfaz Gráfica.
En la siguiente gráfica se puede identificar cuando el flujo
del tráfico se ve obstaculizado durante cierto tiempo (2 horas).
La gráfica que se muestra a continuación permite identificar
cuando el ancho de banda está siendo utilizado en un
porcentaje importante.
En la siguiente gráfica se puede identificar que el ancho de
banda fue utilizado en mayor magnitud un día específico de la
semana.
167
En la siguiente gráfica que muestra el análisis del tráfico
sobre determinado dispositivo se puede observar lo ocurrido en
los últimos 5 minutos.
En las siguientes gráficas se puede observar el
comportamiento del tráfico en las últimas 2 horas y 30
minutos.
168
También se puede observar el comportamiento del tráfico de
la red el día anterior.
MRTG permite visualizar la temperatura de cada uno de los
dispositivos que hacen parte de la red sobre la cual se ejecuta.
169
Y al igual que sucede con el análisis del tráfico MRTG permite
visualizar la temperatura en diferentes lapsos de tiempo.
170
MRTG permite visualizar el flujo de datos que maneja cada
uno de los protocolos de la red, como por ejemplo el UDP,
ICMP, TCP, entre otros.
171
Permite visualizar el flujo de paquetes de cada uno de los
protocolos mencionados anteriormente.
172
Permite establecer con más exactitud los flujos de datos de
entrada y salida por medio de unas tablas especiales, que se
muestran a continuación:
173
174
Capítulo 10
10.CONCLUSIONES Y
RECOMENDACIONES
Después de conocer el funcionamiento de cada una de las herramientas de monitoreo se puede establecer una serie de ventajas y desventajas de cada una de las herramientas de acuerdo a diferentes factores, como lo son:
1. Facilidad de instalación.
2. Requerimientos de hardware y software.
3. Complejidad en la configuración.
4. Fácil comprensión de los resultados obtenidos.
5. Idioma.
175
6. Facilidad de adaptación de nuevas funcionalidades.
Como se pudo ver en los capítulos 7, 8 y 9 cada herramienta tiene un nivel de complejidad ya sea bajo o alto en diferentes aspectos que están relacionados con los factores anteriormente nombrados.
La elección de una u otra herramienta está supeditada a las necesidades e infraestructura con la que cuenta la organización que hará uso la misma. Para poder adoptar cualquiera de las herramientas de monitoreo de red se debe contar con personal capacitado que se encargue de la instalación y configuración de cada herramienta, ya que cómo se pudo ver no es precisamente fácil llevar a cabo dicha tarea.
La importancia de contar con personal idóneo para que se encargue de manipular la herramienta de monitoreo, crece enormemente cuando se desea incorporar nueva funcionalidad que permita tener control sobre algún elemento específico de la red, ya que se debe contar con conocimiento en los lenguajes de programación sobre los cuales fue escrito el código fuente de la aplicación.
Alguna de las herramientas que se exploraron en esta investigación como lo son WireShark y MRTG cuentan con la característica de la transportabilidad, es decir que se pueden ejecutar en diferentes plataformas entre las que están Windows y Linux. Esta característica es muy importante cuando las pequeñas o medianas organizaciones basan toda su infraestructura ya sea en software propietario como el que ofrece Microsoft o en software libre como lo es Linux.
Antes de elegir una herramienta de monitoreo de red el departamento de sistemas o el personal encargado de realizar las
176
tareas relacionadas con la gestión de la red, deben tener muy claras las necesidades que desean satisfacer.
Sería muy importante poder llevar a cabo la instalación de las herramientas WireShark, Nagios o MRTG en una red real, en la cual se pueda evidenciar con mayor claridad las ventajas que ofrece cada una de las herramientas, ya que en sí la documentación que se encontró en la red sobre el funcionamiento de cada herramienta da un concepto general de lo que permiten realizar pero hay muchas cosas que por tiempo no es posible explorar y que seguramente pueden ser cruciales al momento de tratar de solucionar algún problema presente en la red.
De acuerdo a los criterios establecidos al comienzo de este capítulo, se puede establecer cuál de las tres herramientas WireShark, Nagios o MRTG puede ser escogida para realizar el monitoreo de la red.
Si se busca una herramienta que sea fácil de instalar, que provea facilidad en su manejo y configuración y que además los requerimientos de hardware y software requeridos para su instalación y funcionamiento no sean tan exigentes, WireShark es una buena alternativa. Toda la configuración de la ésta herramienta se hace por medio de un panel de opciones en el cual solo hay que marcar unos botones y establecer unos valores y ya está. Además que no se necesitan instalar servidores web como el Apache que también demanda un tiempo de configuración considerable, teniendo en cuenta el nivel de conocimiento que se tenga sobre este servidor.
177
WireShark como ya se mencionó en capítulos anteriores es la nueva denominación de la herramienta Ethereal, la cual cuenta con una buena reputación ya que es muy conocida y aceptada por los medios especializados en tecnología. Definitivamente esta herramienta es una muy buena opción para escoger.
Si se quiere monitorear otros aspectos que no sean propiamente el ancho de banda de la red y el flujo del tráfico de paquetes, como la temperatura de los dispositivos de la red, MRTG ofrece esta posibilidad. Eso si se debe tener en cuenta que para la instalación de esta herramienta se debe instalar y configurar correctamente el servidor Apache y un compilador de Perl para compilar las librerías que necesita para su funcionamiento. Sin olvidar que toda la configuración de MRTG se debe realizar por medio de línea de comandos.
Por último está Nagios que es una herramienta muy buena. De hecho goza de una buena reputación como WireShark. Por ser una herramienta que se ejecuta sobre un servidor web también requiere de la configuración del Apache. Su configuración también se realiza por línea de comandos pero tiene menos cantidad de parámetros para su funcionamiento.
11. Bibliografía
WIRESHARK:
http://www.wireshark.org/docs/ Consultada el 20 de Agosto de 2007
http://www.wireshark.org/docs/wsug_html_chunked/ ChapterIntroduction.html#ChIntroWhatIs Consultada el 20 de Agosto de 2007
178
http://www.wiresharktraining.com/index.html Consultada el 2 1 de Agosto de 2007
NAGIOS:
http://nagios.sourceforge.net/download/contrib/ documentation/misc/Nagios_spanish.pdf Consultada el 1 de Septiembre de 2007
http://www.nagios.org/ Consultada el 1 de Septiembre de 2007
http://www.nagioscommunity.org/ Consultada el 1 de Septiembre de 2007
MTRG:
http://www.mrtg.jp/en/es_es/ Consultada el 15 de Septiembre de 2007
http://www.it.uc3m.es/goyo/mrtg_doc/ Consultada el 15 de Septiembre de 2007
http://www.ecualug.org/?q=2005/06/23/blog/danmk3/ guia_para_puesta_en_funcionamiento_a_mrtg Consultada el 15 de Septiembre de 2007
THE DUDE:
http://www.mikrotik.com/thedude.php Consultada el 21 de Septiembre de 2007
http://wiki.mikrotik.com/wiki/MikroTik_Dude Consultada el 21 de Septiembre de 2007
NTOP:
179
http://es.wikipedia.org/wiki/Ntop Consultada el 13 de Septiembre de 2007
http://bulma.net/body.phtml?nIdNoticia=1226 Consultada el 13 de Septiembre de 2007
http://tuxedlinux.wordpress.com/2007/08/23/ntop- monitorizacion-de-red-via-web/ Consultada el 13 de Septiembre de 2007
http://administradores.educarex.es/wiki/index.php/ Ntop_(Administraci%C3%B3n_de_la_Red) Consultada el 14 de Septiembre de 2007
http://www.ntop.org/overview.html Consultada el 14 de Septiembre de 2007
http://www-es.netapp.com/go/techontap/0107tot/ntop.html# Consultada el 14 de Septiembre de 2007
IPTRAF:
http://es.wikipedia.org/wiki/IPTraf#Caracter.C3.ADsticas Consultada el 15 de Septiembre de2007
http://cebu.mozcom.com/riker/iptraf/2.7/manual.html Consultada el 15 de Septiembre de 2007
DANSGUARDIAN:
http://www.linuxespanol.com/ftopic18.php Consultada el 2 1 de Septiembre de 2007
http://eima.sih.cu/doc/Control%20Parental%20con%20Squid, %20DansGuardian%20y%20SARG.htm#Instalaci
180
%C3%B3n_de_DansGuardian Consultada el 21 de Septiembre de 2007
http://dansguardian.org/ Consultada el 21 de Septiembre de 2007
EBOX:
http://www.ebox-platform.com/features Consultada el 21 de Septiembre de 2007
181