Sie sind auf Seite 1von 179

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

CRITERIOS DE SELECCIÓN 12

5.HERRAMIENTAS DE MONITOREO DE RED...................................13

5.1ETHEREAL/WIRESHARK 14

5.1.1Descripción: 15

5.1.2Características funcionales: 19

5.1.3Lenguaje sobre el cual está construido: 20

5.1.4Sistemas operativos sobre los cuales se puede ejecutar: 20

5.1.5Acceso al código fuente: 21

5.1.6Recursos hardware y software requeridos para la instalación: 21

5.2IPTRAF 22

5.2.1Descripción: 22

5.2.2Características funcionales: 25

5.2.3Lenguaje sobre el cual está construido: 26

5.2.4Sistemas operativos sobre los cuales se puede ejecutar: 27

5.2.5Acceso al código fuente: 27

5.2.6Recursos hardware y software requeridos para la instalación: 27

5.3NAGIOS 28

............................................................................. ..................28

5.3.1Descripción: 28

5.3.2Características funcionales: 34

5.3.3Lenguaje sobre el cual está construido: 36

5.3.4Sistemas operativos sobre los cuales se puede ejecutar: 36

2
5.3.5Acceso al código fuente: 36

5.3.6Recursos hardware y software requeridos para instalación: 36

5.4THE DUDE 37

37

5.4.1Descripción: 37

5.4.2Características funcionales: 38

5.4.3Lenguaje sobre el cual está construido: 40

5.4.4Sistemas operativos sobre los cuales se puede ejecutar: 40

5.4.5Acceso al código fuente: 40

5.4.6Recursos hardware y software requeridos para la instalación: 40

5.5NTOP 41

41

5.5.1Descripción: 41

5.5.2Características funcionales: 44

5.5.3Lenguaje sobre el cual está construido: 46

5.5.4Sistemas operativos sobre los cuales se puede ejecutar: 46

5.5.5Acceso al código fuente: 46

5.5.6Recursos hardware y software requeridos para la instalación: 46

5.6MRTG 47

5.6.1Descripción: 47

5.6.2Características funcionales: 49

5.6.3Lenguaje sobre el cual está construido: 50

5.6.4Sistemas operativos sobre los cuales se puede ejecutar: 50

5.6.5Acceso al código fuente: 51

5.6.6Recursos hardware y software requeridos para la instalación: 51

3
5.7DANSGUARDIAN 51

51

5.7.1Descripción: 51

5.7.2Características funcionales: 57

5.7.3Lenguaje sobre el cual está construido: 58

5.7.4Sistemas operativos sobre los cuales se puede ejecutar: 59

5.7.5Acceso al código fuente: 59

5.7.6Recursos hardware y software requeridos para la instalación: 59

5.8BOX 60

60

5.8.1Descripción: 60

5.8.2Características funcionales: 63

5.8.3Lenguaje sobre el cual está construido: 65

5.8.4Sistemas operativos sobre los cuales se puede ejecutar: 66

5.8.5Acceso al código fuente: 67

5.8.6Recursos hardware y software requeridos para la instalación: 67

6.SELECCIÓN DE LAS MEJORES HERRAMIENTAS ...........................68

7.WIRESHARK.............................................. ..............................74

7.1Instalación 74

7.1.1Requerimientos del sistema. 74

7.1.2Instalación de WireShark sobre S.O. Windows. 75

7.1.3Instalación de WireShark sobre Linux Red Hat 6. 75

7.2 Interfaz de Usuario. 76

7.2.1Ventana Principal. 76

7.2.2Barra de menú principal. 78

4
86

8.NAGIOS......................................................................... ........102

8.1Instalación. 102

8.1.1Requisitos Previos. 102

8.1.2Creación de Usuarios. 102

8.1.3Instalación del núcleo de Nagios. 103

8.1.4Instalación de las extensiones oficiales. 104

8.1.5Activación y configuración de la interfaz web. 106

8.2Configuración de Nagios. 108

8.3Comandos de Nagios. 125

8.4Interface Web. 132

9.MRTG............................................................................ ........146

9.1Instalación. 146

9.2 Configuración. 149

9.3 Configuración avanzada. 154

9.4 Interfaz Gráfica. 164

10.CONCLUSIONES Y RECOMENDACIONES..................................172

11.Bibliografía....................................... ..................................175

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

6
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
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

1
Tomado del sitio: http://www.integracion-de-sistemas.com/analisis-y-monitoreo-de-redes/index.html
el 20 de Noviembre de 2007

7
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
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
2
Tomado de http://es.wikipedia.org/wiki/Software_libre

8
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.

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
3
Tomado de http://www.webtaller.com/maletin/articulos/que-significa-open-source.php

9
haber restricciones para que se pueda distinguir el código
fuente original del código fuente del trabajo derivado.

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.1CRITERIOS DE SELECCIÓN

11
Para poder realizar la selección de las herramientas de
monitoreo sobre la cual se basa esta investigación, es
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.5Recursosde 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

12
y por ende las que se deberían tener en cuenta en el
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

13
las herramientas OpenSource de monitoreo de red más
importantes.

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:

14
Es una potente herramienta que incluye todas las funciones
necesarias para ejecutar análisis exhaustivos de protocolos en
redes Ethernet.

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

15
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.

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

16
2. Los ingenieros de seguridad de la red la utilizan para
examinar problemas de la seguridad.

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.

17
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.

Ethern Frame Loopbac Token


802.11 ATM FDDI
et Relay k Ring
AIX Unknown Unknown Yes Unknown Unknown Unknown Unknown Yes
FreeBSD Yes1 Unknown Yes Unknown Unknown Yes Unknown Yes
Unknow
HP-UX Unknown Unknown Yes Unknown No No Unknown
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 Unknow
Unknown Unknown Yes Unknown No Yes Unknown
UNIX 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

18
medición. Ethereal no envía paquetes a través de la red, ni
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

5.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.

5.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
5.3.3Lenguaje sobre el cual está construido:

Esta herramienta está construida bajo el lenguaje C.

5.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.

5.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.

5.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.

5.4 THE DUDE

5.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.

5.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.

5.4.3Lenguaje sobre el cual está construido:

No se encontró información acerca del lenguaje sobre el


cual está construida esta herramienta.

5.4.4Sistemas operativos sobre los cuales se puede ejecutar:

o Sistema operativo: Win98/NT/ME/2000/XP/2003

5.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.

5.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
5.5 NTOP

5.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.

5.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.

45
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.

5.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.

5.5.4Sistemas operativos sobre los cuales se puede ejecutar:

o Unix (incluyendo Linux, *BSD, Solaris, y MacOSX)


o Win32 (Win95 y Vista)

5.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.

5.5.6Recursos hardware y software requeridos para la


instalación:

46
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)

5.6 MRTG

5.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/

47
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/

48
5.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.

49
Figura No. 14: Gráfica de monitoreo del tráfico de red.

5.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.

5.6.4Sistemas operativos sobre los cuales se puede ejecutar:

o Windows y Linux.

50
5.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.

5.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

5.7 DANSGUARDIAN

5.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

51
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

52
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

53
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.

54
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.

55
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

56
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.

5.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.

57
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.

5.7.3Lenguaje sobre el cual está construido:

• El programa está hecho 100% en C++ y puede


compilarse por medio de GCC 3.

58
5.7.4Sistemas operativos sobre los cuales se puede ejecutar:

• Linux
• FreeBSD
• OpenBSD
• NetBSD
• Mac OS X
• HP-UX
• Solaris

5.7.5Acceso al código fuente:

No se pudo establecer si el acceso al código fuente de esta


herramienta es libre.

5.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)

59
5.8 BOX

5.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
14
expertas.

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

60
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

61
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
15
de menú, manejar un servicio de red o todo lo anterior.

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/

62
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.

5.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é

63
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

64
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.

5.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

65
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.

5.8.4Sistemas operativos sobre los cuales se puede ejecutar:

o Sistemas operativo Linux (Debian)

66
5.8.5Acceso al código fuente:

El acceso al código fuente es libre, por lo tanto se puede


modificar para generar nuevos servicios.

5.8.6Recursos hardware y software requeridos para la


instalación:

Además del sistema operativo no requiere requerimientos


de hardware y software especiales.

67
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

68
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

69
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.

70
Categoría Características WhatsUp Wireshark Nagios MRTG
Gold
 Reportes Predefinidos Sobre el
Rendimiento del Sistema,
Utilizando Contadores de WMI.
Monitoreo de
aplicaciones

 Monitores y Reportes de
Rendimiento Personalizados,
Utilizando Cualquier Contador
WMI.

 Plantillas para Monitoreo de


Aplicaciones de Servidor SQL y
Exchange®.

 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
Monitoreo de (VBScript/JavaScript).
dispositivos
 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

71
 Biblioteca de reportes
predefinidos.

Reportes  Gestión de recursos /Reportes


integrados de buscador de direcciones
MAC.

 Workspaces Configurables, con


más de 100 Reportes.

 Soporte SNMPv1/2/3.
Estándares
permitidos  Capacidades IPv6 expandidas.

 Biblioteca de credenciales.

 Grupos virtuales dinámicos.

Control flexible
 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

72
las herramientas y así determinar cuál es la mejor herramienta
para llevar a cabo el monitoreo de red.

73
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.

75
Una vez que se tienen los paquetes, éstos se deben instalar
haciendo uso de los siguientes comandos:

cd /mnt/cdrom/RedHat/RPMS
rpm -ivh glib-1.2.6-3.i386.rpm
rpm -ivh glib-devel-1.2.6-3.i386.rpm
rpm -ivh gtk+-1.2.6-7.i386.rpm
rpm -ivh gtk+-devel-1.2.6-7.i386.rpm
rpm -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.

76
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.

77
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ú: Permite abrir un archivo de captura de
paquetes que haya sido guardado
Open... previamente

Permite abrir los archivos de captura


recientes.
78
Open recent

Merge Permite organizar los archivos de captura.

Save Permite guardar un archivo de captura generado


previamente en una ruta específica.

Save As…Permite guardar un archivo de captura y


guardarlo en una ruta específica.

File set  List Files Permite visualizar una lista de archivos


perteneciente a un conjunto de archivos.

Permite visualizar el siguiente archivo dentro de


File set  Next File
un conjunto de archivos.

Permite visualizar el anterior archivo


File set  Previous File
dentro de un conjunto de archivos.

Permite exportar el archivo de captura de


Export  as Plain text file…
paquetes a un archivo plano ASCII.

Permite exportar el archivo de captura


Export  as PostScript file… de paquetes a un archivo PostScript.

Export  as CSV file… Permite exportar el archivo de captura de


paquetes a un archivo CSV.

79
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ú: Permite copiar la información que se muestra en
la ventana de filtrado de paquetes.
Copy  As Filter

Permite buscar un paquete de acuerdo a unos


Find Packet…
criterios específicos.

80
Figura 19 Cuadro Find Packet

Find Next Permite buscar el siguiente paquete que se ajuste


a los criterios de búsqueda dados en el ítem Find
Packet.

Find Previous Permite buscar el anterior paquete que se ajuste


a los criterios de búsqueda dados en el ítem Find
Packet.
Mark Packet Permite marcar un paquete seleccionado en la
ventana de filtrado.

Permite ir al siguiente paquete seleccionado en


Find Next Mark
la ventana de filtrado.

Find Previous Mark Permite ir al anterior paquete seleccionado en la


ventana de filtrado.

Mark All Packets Permite marcar todos los paquetes que se


visualizan en la ventana de filtrado.

Unmark All Packets Permite desmarcar todos los paquetes que se


visualizan en la ventana de filtrado.

Permite asignar una referencia de tiempo a un


Set Time Reference
paquete para diferentes fines, entre ellos el de
establecer el momento exacto su captura.

Permite buscar el siguiente paquete con


referencia de tiempo.
81
Find Next Reference

Find Previous ReferencePermite buscar el anterior paquete con


referencia de tiempo.

Permite configurar la apariencia de la


Preferences…
interfaz de usuario, como fuente, color de
los paquetes seleccionados, tamaño de las
ventanas emergentes, etc.

Figura 20 Cuadro de preferencias

View

82
É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

83
Filter Toolbar Permite visualizar la barra de filtrado.

Figura 23 Filter Tool Bar

Figura 24 Ventana principal

Packet List Permite mostrar u ocultar el panel donde se


visualiza la lista de paquetes.

Status Bar

84
Panel de filtrado
de paquetes

Figura 25 Panel de filtrado

Packet details Permite mostrar el panel donde se detalla la


información los paquetes capturados

Panel detallado de
filtrado de paquetes
85
Figura 26 Panel de filtrado de paquetes

Permite mostrar el panel donde se detalla el


Packet bytes
contenido de los paquetes.

Panel de datos de los


paquetes.

Figura 27 Panel de datos de filtrado

Time Display Format 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.

Name resolution Permite configurar la visualización de los


formatos de fecha y hora dentro de la
aplicación.

86
Go Éste menú permite buscar un
paquete específico.

Go to Packet Permite la búsqueda de un paquete


específico.

87
Éste es el paquete
Nro. 23

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ú:

88
Permite escoger la interfaz de red sobre la
Interfaces...
cual se va a realizar la captura de paquetes.

Options
Permite configurar la captura de paquetes
sobre la interfaz que se ha escogido
Start Permite iniciar la captura de paquetes de
previamente.
acuerdo a la configuración establecida
previamente.

Stop Permite detener la captura de paquetes.

Restart Permite reiniciar la captura de paquetes.

Capture Filters 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.

89
IP de interfaz. Interfaz de red.

Permite
capturar los
Tamaño del
paquetes de la
buffer de
red o solo los
captura.
que entran y
salen del PC
Filtrado para la
captura de
paquetes.

Permite
especificar el
tamaño
máximo del
paquete.

Permite
especificar el
número máximo
de paquetes a
capturar.

Analyze.

Éste menú contiene ítem para manipular el filtrado, habilitar o


inhabilitar protocolos, permitir el TCP Stream.

90
A continuación se describen cada uno de los ítems de éste
menú: Permite visualizar los filtros existentes para la
captura de paquetes.
Display Filters

91
Statistics.

Éste menú contiene ítem que permiten mostrar varias


ventanas con información estadística de los paquetes que han
sido capturados.

92
Summary Permite mostrar la información sobre los datos de
los paquetes capturados

Protocol Hierarchy Permite visualizar un árbol de estadísticas del


protocolo sobre el cual se realiza la captura de
paquetes.

Conversations Permite visualizar la conversación entre el origen y


el destino de los datos capturados.

IO Graphs Permite visualizar una gráfica en la cual se permite


establecer el número de paquetes capturados en
una unidad de tiempo.

93
Conversation List Permite visualizar las conversaciones existentes
entre el origen y el destino de un protocolo de
red específico.

Conversaciones entre los paquetes del protocolo


Ethernet:

94
Conversaciones de los paquetes del protocolo TCP:

Conversaciones de los paquetes del protocolo UDP:

95
Permite visualizar el tiempo que transcurre
Service Response Time
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
Permite visualizar el flujo de los paquetes
• LDAP
capturados, especificando su origen y destino así
como el• puerto
MGCP desde el cual salen y el puerto por
el cual se reciben. También se puede establecer el
tiempo •que
ONC-RPC
transcurre entre el envío y la recepción
de un paquete en particular.
• SMB
Para generar la gráfica de análisis se presenta el
siguiente cuadro96 de dialogo para escoger los
parámetros de generación de dicha gráfica.
Flow Graph

97
TCP Stream GraphPermite visualizar por medio de diferentes gráficas
las características de la captura de los paquetes
de red.

Round Trip Time Graph

98
Throughput Graph

99
Time Sequence Graph

100
101
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

103
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

104
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

105
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

106
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

107
</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.

108
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

109
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,

110
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.

111
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.

112
• 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.

113
• 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

114
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

115
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

116
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.

117
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.

118
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.

119
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

120
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.

121
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.

122
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

123
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


de monitoreo se debe ejecutar el siguiente comando:

124
/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.

125
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

126
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
servidores web que sirvan de base para aplicaciones de
comercio electrónico.

127
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
sistema en función de unos umbrales que tiene

128
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

129
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

130
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.

131
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:

132
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.

133
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.

134
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.

135
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.

136
Información de estado por grupo de equipos.

137
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.

138
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.

139
Cola de planificación:

140
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.

141
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.

142
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.

143
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.

144
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.

145
Capítulo 9
9.MRTG

9.1Instalació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

147
cd ..

Para compilar la librería libpng se deben ejecutar los siguientes


comandos:

wget
http://public.planetmirror.com/pub/sourceforge/l/li/libpng/lib
png-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.gz
gunzip -c gd-*.tar.gz |tar xf -
rm gd-*.tar.gz
mv gd-* gd
cd 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
gunzip -c mrtg-2.15.2.tar.gz | tar xvf -

148
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 \
community@router.abc.xyz

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
de red en particular. Para lo cual se debe ejecutar el comando
cfgmaker de la siguiente forma:

149
it003:~/mrtg>cd mrtg-2.5.1.sp/
it003:~/mrtg/mrtg-2.5.1.sp> ./cfgmaker
public@it003.lab.it.uc3m.es > 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:
######## - Administrativamente desactivada (not UP)
######## - Dentro de modo de prueba
######## - Es una interface de autorreconocimiento
(softwareLoopback)

150
######## - Tiene especificada una velocidad no realista
######## Por lo que se ha tenido que comentar
########
#
# Target[it003.lab.it.uc3m.es.1]:
1:public@it003.lab.it.uc3m.es
# 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:public@it003.lab.it.uc3m.es
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>


<TR><TD>HOST IP: </TD><TD>it003.lab.it.uc3m.es

151
(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

152
#...........................................................................

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

153
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.

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.

154
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:

Se puede configurar la ejecución del MRTG de tal forma que


sea automática:

155
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
public@arpa.it.uc3m.es >> mrtg.cfg
Got Addresses
Got IfTable
Got IfDescr
Got IfType
Got IfSpeed
Got IfStatus
Got IfOperStatus
Got IfIndex

Como resultado del comando anterior se añaden a mrtg.cfg


los nuevos interfaces de arpa que hay que monitorizar:

156
Target[arpa.it.uc3m.es.2]: 2:public@arpa.it.uc3m.es
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
que se emplea para definir que es lo que se va a monitorizar es
Target, su formato es el siguiente:

157
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.

Sintaxis.

158
• 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.

159
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

160
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

161
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:

162
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.

163
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.

164
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.

165
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.

166
Y al igual que sucede con el análisis del tráfico MRTG permite
visualizar la temperatura en diferentes lapsos de tiempo.

167
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.

168
Permite visualizar el flujo de paquetes de cada uno de los
protocolos mencionados anteriormente.

169
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:

170
171
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.

172
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

173
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.

174
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

175
http://www.wireshark.org/docs/wsug_html_chunked/ChapterI
ntroduction.html#ChIntroWhatIs Consultada el 20 de Agosto
de 2007

http://www.wiresharktraining.com/index.html Consultada el
2 1 de Agosto de 2007

NAGIOS:

http://nagios.sourceforge.net/download/contrib/documentati
on/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

176
http://www.ecualug.org/?q=2005/06/23/blog/danmk3/guia_p
ara_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:

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_(Ad
ministraci%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

177
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%C3%B3n_
de_DansGuardian Consultada el 21 de Septiembre de 2007

http://dansguardian.org/ Consultada el 21 de Septiembre de


2007

EBOX:

178
http://www.ebox-platform.com/features Consultada el 21 de
Septiembre de 2007

179

Das könnte Ihnen auch gefallen