DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de...

216
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

description

Documento Práctica Profesional exploración herramientas de software libro para el monitoreo de redes

Transcript of DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de...

Page 1: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 2: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

2.MONITOREO DE RED...................................................................7

3.SOFTWARE LIBRE.......................................................................8

4.SELECCIÓN DE HERRAMIENTAS DE MONITOREO.........................11

4.1 CRITERIOS DE SELECCIÓN 11

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

5.1 ETHEREAL/WIRESHARK 14

5.1.1 Descripción: 14

5.1.2 Características funcionales: 18

5.1.3 Lenguaje sobre el cual está construido: 19

5.1.4 Sistemas operativos sobre los cuales se puede ejecutar: 19

5.1.5 Acceso al código fuente: 20

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

5.2 IPTRAF 20

5.2.1 Descripción: 20

5.2.2 Características funcionales: 24

5.2.3 Lenguaje sobre el cual está construido: 24

5.2.4 Sistemas operativos sobre los cuales se puede ejecutar: 25

5.2.5 Acceso al código fuente: 25

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

5.3 NAGIOS 26

5.3.1 Descripción: 26

5.3.2 Características funcionales: 31

5.3.3 Lenguaje sobre el cual está construido: 33

5.3.4 Sistemas operativos sobre los cuales se puede ejecutar: 33

2

Page 3: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

5.3.5 Acceso al código fuente: 33

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

5.4 THE DUDE 34

5.4.1 Descripción: 34

5.4.2 Características funcionales: 35

5.4.3 Lenguaje sobre el cual está construido: 36

5.4.4 Sistemas operativos sobre los cuales se puede ejecutar: 36

5.4.5 Acceso al código fuente: 37

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

5.5 NTOP 37

5.5.1 Descripción: 37

5.5.2 Características funcionales: 40

5.5.3 Lenguaje sobre el cual está construido: 42

5.5.4 Sistemas operativos sobre los cuales se puede ejecutar: 42

5.5.5 Acceso al código fuente: 42

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

5.6 MRTG 43

5.6.1 Descripción: 43

5.6.2 Características funcionales: 44

5.6.3 Lenguaje sobre el cual está construido: 46

5.6.4 Sistemas operativos sobre los cuales se puede ejecutar: 46

5.6.5 Acceso al código fuente: 47

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

3

Page 4: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

5.7 DANSGUARDIAN 47

5.7.1 Descripción: 47

5.7.2 Características funcionales: 52

5.7.3 Lenguaje sobre el cual está construido: 54

5.7.4 Sistemas operativos sobre los cuales se puede ejecutar: 54

5.7.5 Acceso al código fuente: 54

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

5.8 BOX 55

5.8.1 Descripción: 55

5.8.2 Características funcionales: 58

5.8.3 Lenguaje sobre el cual está construido: 60

5.8.4 Sistemas operativos sobre los cuales se puede ejecutar: 61

5.8.5 Acceso al código fuente: 61

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

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

7.WIRESHARK.............................................................................67

7.1 Instalación 67

7.1.1 Requerimientos del sistema. 67

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

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

7.2 Interfaz de Usuario. 69

7.2.1 Ventana Principal. 69

7.2.2 Barra de menú principal. 70

8.NAGIOS...................................................................................94

4

Page 5: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

8.1 Instalación. 94

8.1.1 Requisitos Previos. 94

8.1.2 Creación de Usuarios. 94

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

8.1.4 Instalación de las extensiones oficiales. 96

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

8.2 Configuración de Nagios. 100

8.3 Comandos de Nagios. 115

8.4 Interface Web. 121

9.MRTG....................................................................................135

9.1 Instalación. 135

9.2 Configuración. 138

9.3 Configuración avanzada. 142

9.4 Interfaz Gráfica. 151

10.CONCLUSIONES Y RECOMENDACIONES..................................159

11.Bibliografía............................................................................................162

5

Page 6: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Capítulo 1

1. INTRODUCCIÓN

En la actualidad muchas organizaciones pequeñas y medianas tales como Pymes, Universidades, entre otras tienen la necesidad de tener un control sobre la infraestructura tecnológica que poseen, más específicamente sobre sus redes de comunicaciones, con el fin de identificar las causas de los diversos problemas presentados y así poder darles solución. Existen muchas herramientas de software propietarias en el mercado que permiten realizar esta tarea, pero dado sus costos de licenciamiento hacen muy difícil a las organizaciones poder adquirirlas.

Afortunadamente se pueden encontrar muchas herramientas de software libre que poseen la funcionalidad de llevar a cabo el monitoreo sobre las redes de comunicación de una organización. Estas herramientas poseen cualidades tan importantes como las de las herramientas propietarias. Además por ser herramientas de distribución libre GPL cualquier persona experta puede accesar su código fuente y de esta forma implementar nuevas características funcionales que permitan adaptar la herramienta a las necesidades de la organización.

A lo largo de este documento se hará una exploración sobre 8 herramientas de monitoreo OpenSource, en donde se explicarán las características de cada una y así elegir las mejores 4 herramientas teniendo en cuenta diversos criterios de comparación que se explicarán más adelante. La investigación se enfoca con mayor detalle en las herramientas

6

Page 7: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

elegidas sobre las cuales se tratarán aspectos como su instalación, configuración y manejo. Al final se establecen las conclusiones y recomendaciones pertinentes derivadas de esta investigación.

Capítulo 2

2. MONITOREO DE RED

Las redes de cómputo de las organizaciones, se vuelven cada vez más complejas y la exigencia de la operación es cada vez más demandante. Las redes, cada vez más, soportan aplicaciones y servicios estratégicos de las organizaciones. Por lo cual el análisis y monitoreo de redes se ha convertido en una labor cada vez mas importante y de carácter pro-activo para evitar problemas.1

El término monitoreo de red describe el uso de un sistema que constantemente monitorea una red de computadoras para detectar sistemas lentos o en mal funcionamiento y que notifica al administrador de la red en caso de falla vía correo electrónico, beeper u otras alarmas.

En la red se encuentran un sinnúmero de aplicaciones que permiten el monitoreo de la red. Dichas herramientas proveen diferentes servicios desde el simple filtrado de contenido hasta determinar cual dispositivo de la red está consumiendo más de la cuenta el ancho de banda de la red.

Las características de las diferentes herramientas divergen en cuanto a su tipo de licenciamiento, ya que las herramientas

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

7

Page 8: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

propietarias por lo general ofrecen más y mejores servicios que las herramientas de distribución libre o con licencia GPL. A la hora de elegir una u otra herramienta para el monitoreo de la red, antes que nada se deben establecer las necesidades para así poder elegir una que supla dichas necesidades teniendo en cuenta el concepto costo - beneficio.

Capítulo 3

3. SOFTWARE LIBRE

Según la Free Software Foundation, el software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software; de modo más preciso, se refiere a cuatro libertades de los usuarios del software: la libertad de usar el programa, con cualquier propósito; de estudiar el funcionamiento del programa, y adaptarlo a las necesidades; de distribuir copias, con lo que puede ayudar a otros; de mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie (para la segunda y última libertad mencionadas, el acceso al código fuente es un requisito previo).2

Una licencia es aquella autorización formal con carácter contractual que un autor de un software da a un interesado para ejercer "actos de explotación legales". Pueden existir tantas licencias como acuerdos concretos se den entre el autor y el licenciatario. Desde el punto de vista del software libre, existen distintas variantes del concepto o grupos de licencias.

2 Tomado de http://es.wikipedia.org/wiki/Software_libre

8

Page 9: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Una de las licencias más utilizadas es la Licencia Pública General GNU (GPL). El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GNU GPL. Esto hace que no sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL.

Open Source es una marca de certificación propiedad de la Open Source Initiative.3 Los desarrolladores que diseñan software para ser compartido, mejorado y distribuido libremente, pueden usar la marca registrada Open Source si sus términos de distribución se ajustan a la definición OpenSource de la OSI. Básicamente, el modelo de distribución requiere que:

1. Libre distribución: No hayan restricciones para vender o distribuir el software.

2. Código fuente: El software debe incluir el código fuente y debe permitir crear distribuciones compiladas siempre y cuando la forma de obtener el código fuente esté expuesta claramente.

3. Trabajos derivados: Se debe permitir crear trabajos derivados, que deben ser distribuidos bajo los mismos términos que la licencia original del software.

4. Integridad del código fuente del autor: Se debe permitir la distribución del código fuente modificado, aunque pueden haber restricciones para que se pueda distinguir el código fuente original del código fuente del trabajo derivado.

3 Tomado de http://www.webtaller.com/maletin/articulos/que-significa-open-source.php

9

Page 10: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 11: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Capítulo 4

4. SELECCIÓN DE HERRAMIENTAS DE MONITOREO

Para llevar a cabo la escogencia de las cuatro herramientas sobre las cuales se va a trabajar en detalle en los siguientes capítulos, se establecieron cinco criterios de selección los cuales permitirán determinar la mejor herramienta de monitoreo de red. Dichos criterios se describen a continuación.

4.1 CRITERIOS DE SELECCIÓN

Para poder realizar la selección de las herramientas de monitoreo sobre la cual se basa esta investigación, es

11

Page 12: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

necesario determinar una serie de criterios que permitan establecer si dichas herramientas son verdaderamente útiles para poder gestionar las redes de manera efectiva y eficiente. Los criterios de selección definidos se describen a continuación:

4.1.1Características funcionales: Hace referencia a la funcionalidad que posee la herramienta de monitoreo.

4.1.2Acceso al código fuente: Indica si la herramienta posee la posibilidad de acceder su código fuente con el fin de adicionar nuevos módulos funcionales o personalizar la herramienta a necesidades específicas.

4.1.3Sistemas Operativos sobre los cuales se ejecuta: Hace referencia a las plataformas que soportan la aplicación.

4.1.4Lenguaje de programación sobre el cual está escrito: Indica el lenguaje de programación sobre el cual fue escrito el código fuente de la herramienta de monitoreo.

4.1.5Recursos de Hardware y Software requeridos para la instalación: Hace referencia a los requerimientos mínimos de instalación de la herramienta de monitoreo.

En base a los cinco criterios descritos anteriormente se realizará una exploración sobre algunas herramientas de monitoreo de red para poder determinar cuáles poseen un mayor nivel de acople sobre cada uno de estos, y así poder determinar las que mejor características funcionales ofrecen y por ende las que se deberían tener en cuenta en el

12

Page 13: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

momento de elegir una herramienta para el monitoreo de la red de cualquier organización.

Capítulo 5

5. HERRAMIENTAS DE MONITOREO DE RED

Existe una gran variedad de herramientas para el monitoreo

de redes tanto propietarias como de distribución bajo licencia

GPL. A lo largo de este documento se mostrarán algunas de

las herramientas OpenSource de monitoreo de red más

importantes.

13

Page 14: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

La investigación se realizó sobre 8 herramientas entre las

cuales se encuentran:

o WIRESHARK.

o NAGIOS.

o MRTG.

o THE DUDE.

o IPTRAF.

o NTOP.

o DANSGAURDIAN.

o EBOX.

A continuación se muestra una descripción general de cada

una de las herramientas nombradas anteriormente:

5.1 ETHEREAL/WIRESHARK

5.1.1 Descripción:

Es una potente herramienta que incluye todas las funciones

necesarias para ejecutar análisis exhaustivos de protocolos en

redes Ethernet.

14

Page 15: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Ethereal es toda una referencia en analizadores de

protocolos. Sus múltiples funciones y sus detalladas capturas

facilitan toda la información necesaria para analizar el

funcionamiento de protocolos a nivel de red, a nivel de

transporte y a nivel de aplicación.

Ethereal permite capturar diálogos, listar tramas Ethernet,

visualizar las cabeceras de cada trama y acceder a los datos

adjuntos. Sus herramientas permiten filtrar las tramas por

protocolo, por dirección física o por otros condicionales más

complejos; ejecutar búsquedas de datos, salvar y cargar

capturas, entre otras posibilidades.

El paquete Ethereal contiene un analizador de protocolo de

red, también conocido como “sniffer”. Es útil para analizar los

datos capturados de una conexión de red activa, o datos leídos

de un fichero de captura. Ethereal proporciona programas

tanto en modo GUI como TTY para examinar los paquetes de

red capturados de unos 500 protocolos, así como capacidad

para leer ficheros de captura de muchos otros analizadores de

redes populares.

Wireshark, el nuevo nombre para Ethereal, es un analizador

de protocolos utilizado para realizar análisis y solucionar

problemas en redes de comunicaciones para desarrollo de

software y protocolos, y como una herramienta didáctica para

educación. Cuenta con todas las características estándar de un

analizador de protocolos.

15

Page 16: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

La funcionalidad que provee es similar a la de tcpdump,

pero añade una interfaz gráfica y muchas opciones de

organización y filtrado de información. Así, permite ver todo el

tráfico que pasa a través de una red (usualmente una red

Ethernet, aunque es compatible con algunas otras)

estableciendo la configuración en modo promiscuo. También

incluye una versión basada en texto llamada tshark.

Permite examinar datos de una red viva o de un archivo de

captura salvado en disco. Se puede analizar la información

capturada, a través de los detalles y sumarios por cada

paquete. Wireshark incluye un completo lenguaje para filtrar lo

que queremos ver y la habilidad de mostrar el flujo

reconstruido de una sesión de TCP.

Wireshark es software libre, y se ejecuta sobre la mayoría

de sistemas operativos Unix y compatibles, incluyendo Linux,

Solaris, FreeBSD, NetBSD, OpenBSD, y Mac OS X, así como en

Microsoft Windows.

Algunos de los usos que se le dan a la herramienta Ethereal

son:

1. Los administradores de la red lo utilizan para localizar

averías o problemas de la red

2. Los ingenieros de seguridad de la red la utilizan para

examinar problemas de la seguridad.

16

Page 17: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

3. Los desarrolladores la utilizan para eliminar errores en

la puesta en marcha de nuevos protocolos.

4. La gente en general la usa para aprender el

funcionamiento de los protocolos de la red.

Al lado de estos ejemplos, Ethereal puede ser provechosa

en muchas otras situaciones también.

Ethereal permite la captura de paquetes para analizar su

contenido.

Figura No. 1: Interfaz gráfica de WireShark.

La siguiente tabla muestra que de acuerdo a la plataforma o

sistema operativo sobre el cual este instalada la herramienta

Ethereal, ésta se puede utilizar en diferentes tipos de red.

17

Page 18: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

  802.11 ATMEthern

etFDDI

Frame

Relay

Loopbac

k

Token

Ring

AIX Unknown Unknown Yes Unknown Unknown Unknown Unknown Yes

FreeBSD Yes1 Unknown Yes Unknown Unknown Yes Unknown Yes

HP-UX Unknown Unknown Yes Unknown No No UnknownUnknow

n

Iris Unknown Unknown Yes Unknown No Unknown Unknown No

Linux Yes2 Yes Yes Yes Yes3 Yes Yes4 Yes

Mac OS X Yes5 No Yes No No Yes Yes6 No

NetBSD Yes Unknown Yes Unknown Unknown Yes Unknown Yes

OpenBSD Yes Unknown Yes Unknown Unknown Yes Unknown Yes

Solaris Unknown Yes Yes Yes No No No Yes

Tru64

UNIXUnknown Unknown Yes Unknown No Yes Unknown

Unknow

n

Windows Yes7 Unknown Yes Unknown No N/A8 Yes9 Yes

Figura No. 2: Relación Ethereal y Tipos de red

Ethereal por ser una herramienta de tipo OpenSource posee

una licencia GPL, es decir, que es de libre uso y puede ser

instalada en un número indefinido de maquinas, sin

preocuparse por los costos que puede causar la adquisición de

licencias.

Actualmente Ethereal no posee la capacidad de detectar

intrusos y tampoco permite identificar qué cosas está

manipulando en la red. Además Ethereal no permite la

manipulación de componentes de la red, solo permite su

medición. Ethereal no envía paquetes a través de la red, ni

18

Page 19: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 20: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 21: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 22: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 23: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 24: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 25: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 26: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 27: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 28: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

o Interfaces de red Ethernet, FDDI, ISDN, SLIP, PPP .

5.3 NAGIOS

4.3.1Descripción:

Nagios es un sistema Open Source popular para monitorizar

una red. monitoriza los hosts y servicios que se especifiquen,

alertando cuando algo sale mal y nuevamente cuando está

bien. Originalmente tuvo el nombre de Netsaint, fue creado y

es mantenido actualmente por Ethan Galstad, junto con un

grupo de desarrolladores de software que mantienen también

varios plugins.4

Nagios fue originalmente diseñado para ser ejecutado en

Linux, pero también se ejecuta bien en variantes de Unix.

Nagios está licenciada bajo la GNU General Public License

Version 2 publicada por la Free Software Fundation.

4 Tomado de: http://nagios.sourceforge.net/download/contrib/documentation/misc/Nagios_spanish.pdf

28

Page 29: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 30: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 31: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 32: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 33: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 34: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Basados en la información recopilada esta herramienta

presenta algunas deficiencias entre las que se encuentran:

o Difícil y compleja configuración inicial.

o Además requiere exclusivamente su ejecución bajo

sistemas *nix.

o El mantenimiento de miles de nodos se hace pesado.

4.3.2Características funcionales:

o Monitorear servicios de red (SMTP, POP3, HTTP, PING,

etc.)

o Monitorear recursos de los hosts (carga de procesador,

uso de disco, etc.)

o Diseño simple de plugins para que podamos crear los

nuestros a nuestras necesidades especificas.

o Habilidad de definir una jerarquía de hosts usando la

opción parent.

o Notificaciones a contactos cuando un servicio o host

tenga problemas y puedan resolverlo (email, pager o

definido por el usuario)

o Rotación de log automática.

34

Page 35: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 36: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

4.3.3Lenguaje sobre el cual está construido:

Esta herramienta está construida bajo el lenguaje C.

4.3.4Sistemas operativos sobre los cuales se puede ejecutar:

El único requerimiento que se debe tener en cuenta para

ejecutar Nagios es que se debe instalar sobre una maquina

con sistema operativo Linux.

4.3.5Acceso al código fuente:

Está permitido el acceso al código fuente, por ende es

posible adicionar nueva funcionalidad a la herramienta,

además de conocer su funcionamiento a nivel de código.

4.3.6Recursos hardware y software requeridos para

instalación:

o Cualquier equipo que este ejecutando Linux o una

variante

de Unix y con compilador C.

o Un Web server (Apache el ideal)

o Thomas Boutell’s GD library esto para el statusmap y

36

Page 37: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

trenes.

4.4 THE DUDE

4.4.1Descripción:

Es un novedoso monitorizador de redes que incorpora un

mapa interactivo del esquema de red en el que se está

trabajando. Esto ayuda a visualizar mejor la estructura de la

red y proporciona acceso directo a funciones de red

específicas para cada objeto.

The Dude es un programa para la administración de forma

grafica de una red de ordenadores. Así se puede controlar la

actividad de los distintos equipos de la red y conocer su

estado. Posee una serie de herramientas para realizar

diferentes acciones como ser test de ancho de banda o

conexión remota, ping, etc. El programa genera

automáticamente un diagrama con la estructura completa de

todos los host comprendidos en un determinado rango de

direcciones IP. Permite también agregar de forma manual

dispositivos o bien configurar los ya existentes. Supervisa tu

red y mantente informado en todo momento.6

Esta herramienta fue creada para administrar las redes de

manera gráfica. Cuenta con una interfaz principal la cual

representa la red sobre la cual está trabajando. Permite la

6 Tomado del sitio: http://wiki.mikrotik.com/wiki/MikroTik_Dude

37

Page 38: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

detección automática de cada uno de los componentes de la

red.

Cada uno de los componentes de la red se muestra como un

icono. Cuando se detecta un nuevo dispositivo en la re

automáticamente se detectan todos los servicios que corren

sobre él. Se pueden adicionar o eliminar servicios a cada uno

de los componentes de la red.

4.4.2Características funcionales:

The Dude puede detectar automáticamente una red local, y

dibujar un esquema preliminar que después se podrá

modificar, ajustar y guardar. Permite añadir objetos

manualmente, personalizar los iconos y textos identificativos

de cada elemento o dispositivo de la red, así como conectar

nodos con líneas y demás posibilidades gráficas.

Prácticamente igual como si estuviera pintando con un editor

gráfico. En cuanto a las tareas propias de monitorización de

red, The dude abarca desde sencillas comprobaciones ping, a

pruebas de puertos o comprobaciones de servicios, logs e

historiales, avisos de cualquier evento que se produzca en la

red, soporte para SNMP, o exportación de los mapas a formato

PDF o PNG.

The Dude mantendrá información de forma puntual de los

dispositivos supervisados mediante el empleo de un completo

sistema de estadísticas.

38

Page 39: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 40: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

emergente, etc.) en caso de que algún servicio tenga

problemas.

4.4.3Lenguaje sobre el cual está construido:

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

cual está construida esta herramienta.

4.4.4Sistemas operativos sobre los cuales se puede ejecutar:

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

4.4.5Acceso al código fuente:

El acceso al código fuente de esta herramienta es libre, y

por ende se pueden realizar nuevas funcionalidades.

4.4.6Recursos hardware y software requeridos para la

instalación:

o Windows XP/NT/SERVER, mínimo Pentium III (o similar),

256 MB RAM, tarjeta de red.

o RAM: Mínimo de 64MB o 128MB

o Resolución de video de 800x600

40

Page 41: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

4.5 NTOP

4.5.1Descripción:

NTOP (Network TOP) es una herramienta que no puede

faltar al administrador de red, porque permite monitorizar en

tiempo real los usuarios y aplicaciones que están consumiendo

recursos de red en un instante concreto y además es capaz de

ayudarnos a la hora de detectar malas configuraciones de

algún equipo (esto salta a la vista porque al lado del host sale

un banderín amarillo o rojo, dependiendo si es un error leve o

grave), o a nivel de servicio. Posee un microservidor web que

permite que cualquier usuario, que sepa la clave, pueda ver la

salida NTOP de forma remota con cualquier navegador, y

además es GNU. El software esta desarrollado para

plataformas Unix y Windows.7

NTOP es una aplicación de supervisión de red híbrida de los

niveles 2 y 3 que se ejecuta en su propia máquina (como una

caja Linux®). Por defecto utiliza direcciones Media Access

Control (MAC) del nivel 2 y direcciones TCP/IP del nivel 3. NTOP

asocia ambas de forma que se combina el tráfico IP y no IP

para crear una visión completa de la actividad de la red. La

7 Tomado de: http://es.wikipedia.org/wiki/Ntop

41

Page 42: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 43: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 44: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Otra cosa buena de NTOP es que no da importancia al tipo

de dispositivo de red que está supervisando. Está diseñado

para funcionar en un sistema y mostrar los datos de tráfico de

red de dicho sistema, o bien puede modificar las

configuraciones de los switches y utilizarlo como rastreador.

También puede hacer que rastree toda la red, un par de hosts

o simplemente un host.10

NTOP puede gastar mucha memoria. Se necesitará una

máquina robusta si se tiene planificado utilizarlo para

supervisar un puñado de sistemas de almacenamiento NetApp

simultáneamente.

NTOP sólo supervisa el tráfico que puede ver. Por este

motivo necesitará acceder al switch para colocar el puerto en

modo de supervisión. Se tiene que configurar el switch para

que copie el tráfico de los puertos utilizados por los sistemas

NetApp al puerto utilizado por NTOP.

4.5.2Características funcionales:

El menú de navegación principal permite ver las siguientes

opciones:

o About: Muestra una explicación del programa, así

como los créditos de las personas que lo han hecho.

10 Tomado de: http://tuxedlinux.wordpress.com/2007/08/23/ntop-monitorizacion-de-red-via-web/

44

Page 45: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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.

Page 46: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

o Mostrar la distribución del tráfico entre diferentes

protocolos.

o Analizar el tráfico de la red y clasificarlo de acuerdo su

origen y su destino.

4.5.3Lenguaje sobre el cual está construido:

NTOP está escrito en lenguaje C, y el código fuente es compatible con varias plataformas, entre las que se incluyen Linux, FreeBSD, Windows®, SolarisTM, HP-UX y AIX.

4.5.4Sistemas operativos sobre los cuales se puede ejecutar:

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

o Win32 (Win95 y Vista)

4.5.5Acceso al código fuente:

Se puede acceder al código fuente, el cual es entendible, lo

que facilita la adición de nueva funcionalidad. Actualmente

muchas personas han contribuido en la implementación de

nuevas mejoras de esta herramienta.

4.5.6Recursos hardware y software requeridos para la

instalación:

Page 47: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

o Dependiendo de la configuración de la herramienta,

del número de hosts, el número de sesiones TCP

activas, el uso de memoria oscila entre los 100 MB.

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

o Win32 (Win95 y Vista)

4.6 MRTG

4.6.1Descripción:

MRTG (Multi Router Traffic Grapher) es una herramienta

para supervisar la carga del tráfico de una red. MRTG genera

páginas HTML que contienen imágenes gráficas que

proporcionan una representación visual del tráfico.

MRTG no se limita a supervisar tráfico, aunque es posible

supervisar cualquier variable del SNMP que elija el usuario.

Puede incluso utilizar un programa externo para recopilar los

datos que se deben supervisar vía MRTG. La gente está

utilizando MRTG, para supervisar cosas tales como carga de

sistema, disponibilidad de las sesiones de la conexión, del

módem y más. MRTG incluso permite acumular dos o más

fuentes de datos en un solo gráfico.11

MRTG utiliza SNMP (Simple Network Management Protocol)

para recolectar los datos de tráfico de un determinado

11 Tomado del sitio: http://www.mrtg.jp/en/es_es/

Page 48: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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/

Page 49: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

4.6.2Características funcionales:

o MRTG permite generar gráficas con cuatro niveles de

detalle por cada interfaz: tráfico registrado en las

últimas 24 horas, la última semana, el último mes y

gráfica anual.

Figura No. 13: Gráficas de monitoreo generadas por MRTG.

o Además de generar una primera página con la

representación del tráfico registrado diariamente a

través de cada uno de los posibles interfaces de un

router.

Page 50: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

4.6.3Lenguaje sobre el cual está construido:

MRTG se basa en Perl y C y funciona bajo UNIX y

Windows NT. MRTG se usa con éxito en muchos sitios de la

red.

4.6.4Sistemas operativos sobre los cuales se puede ejecutar:

o Windows y Linux.

Page 51: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

4.6.5Acceso al código fuente:

Se tiene libre acceso al código fuente, ya que para poder

ejecutarlo antes se debe compilar. Por lo tanto se pueden

generar mejoras o entender su funcionamiento más a fondo.

4.6.6Recursos hardware y software requeridos para la

instalación:

o net-snmp 5.0.6-17 o superior

o mrtg 2.10.15 o superior

o Apache webserver with perl support

o NET-SNMP

o Librería GD

o Librería Libpng

o Librería zlib

4.7 DANSGUARDIAN

4.7.1Descripción:

DansGuardian no es una herramienta de monitoreo de redes

pero se tuvo en cuenta en esta investigación ya que

actualmente la Fundación Universitaria Konrad Lorenz la utiliza

Page 52: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

para filtrar el contenido de la red interna y es interesante

poder identificar las características funcionales de esta

herramienta para poder utilizarlas y aprovecharlas.

DansGuardian es una herramienta OpenSource que filtra el

contenido web, y corre bajo plataformas Linux, FreeBSD,

OpenBSD, NetBSD, Mac OS X, HP-UX, and Solaris. Permite el

filtrado del contenido de las páginas basado en diferentes

métodos en donde se encuentran:

o Búsqueda de frases.

o Filtro de imágenes.

o Filtro de URL's.

DansGuardian ha sido completamente diseñado acorde con

las necesidades de las personas u organizaciones que

necesitan ejercer un fuerte control frente al acceso

desautorizado a páginas que por su contenido pueden ser

dañinas para las personas que acceden a éstas.13

Existe una excelente pieza de software para filtro de

contenido de internet que se llama DansGuardian. Es muy fácil

de instalar y de usar. Corre en linux y trabaja en combinación

con un proxy server (idealmente con Squid Web Proxy).

La operación es muy sencilla. El Squid Proxy escucha por

default en el puerto 3128. DansGuardian es un aplicativo

separado que escucha en el puerto 8080 y hace un 13 Tomado del sitio: http://www.linuxespanol.com/ftopic18.php

Page 53: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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,

Page 54: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

probablemente usted quiera comentar, las líneas

correspondientes a archivos de documentos

como .doc, .xls y .ppt

o bannediplist: Este archivo contiene un listado de

direcciones ips a ser evitadas de usar nuestro proxy,

debido a que estamos usando el mismo localmente, este

archivo no lo utilizaremos

o bannedmimetypelist: Un truco muy común para saltarse

las restricciones de bannedextensionlist es cambiando las

extensiones de los archivos, pero si usamos los Mime

Types de los archivos ( la metadata del archivo no cambia

asi cambiemos la extensión ), no podrán saltar el filtro, si

desea conseguir Mime Types para algún tipo de archivo

en especifico revise el archivo /etc/mime.types

o bannedphraselist: Este archivo mantiene una lista de

frases a ser bloqueadas.

o bannedregexpurllist: Este archivo es uno de los más

importantes de DansGuardian, ya que permite bloquear

sitios basados en expresiones regulares, una de ellas por

ejemplo es utilizada para bloquear sitios de juego y azar:

(poker|casino|kasino|poquer|blackjack)

o bannedsitelist: Cual dirección IP o dominio que

coloquemos acá será bloqueado inmediatamente.

Page 55: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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.

Page 56: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 57: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

palabra sexo en una página web, esta no es bloqueada

inmediatamente, debe repetirse cierto número de veces

en dicha página para que pueda ocurrir, esto evita que

muchos sitios puedan ser bloqueados accidentalmente,

es válido ir modificando estos valores según nuestra

necesidad a medida que vamos usando el filtro de

contenido.

4.7.2Características funcionales:

o Puede bloquear los anuncios por el uso de una lista del

bloque del URL del anuncio.

o Puede filtrar el texto y las páginas del HTML de tipo

(sexual, racial, violento, etc.)

o Puede filtrar sitios usando el sistema de etiquetado PICS.

o Puede filtrar según tipo de MIME y la extensión del

archivo.

o Puede filtrar según URL’s incluyendo la expresión regular

URL’s.

o La filtración del URL es compatible con las listas del

squidGuard.

o La filtración del URL puede filtrar peticiones de los https.

Page 58: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

o Puede trabajar en un modo del “whitelist” donde todos

los sitios excepto ésos enumerados se bloquean.

o Puede bloquear todo el URL’s basado en IP.

o Puede bloquear sitios cuando los usuarios intentan usar

direcciones IP de un sitio en lugar de otro.

o Produce opcionalmente un formato de la conexión CSV

para la importación fácil en las bases de datos.

o Tiene la capacidad de trabajar en modo stealth, donde

registra los sitios que habrían sido bloqueados, pero no

los bloquea. Esto permite supervisar a los usuarios sin

que ellos sepan.

o Utiliza un algoritmo muy inteligente para emparejar

frases en los Web sites mezclados adentro con código

HTML y espacio en blanco.

o DansGuardian 2.4.0 es 6 veces más rápido que

DansGuardian 1.x.x.

o La filtración del URL es perceptiblemente más rápida que

SquidGuard.

4.7.3Lenguaje sobre el cual está construido:

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

compilarse por medio de GCC 3.

Page 59: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

4.7.4Sistemas operativos sobre los cuales se puede ejecutar:

Linux

FreeBSD

OpenBSD

NetBSD

Mac OS X

HP-UX

Solaris

4.7.5Acceso al código fuente:

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

herramienta es libre.

4.7.6Recursos hardware y software requeridos para la

instalación:

o Memoria mínimo de 64 MB en RAM.

o Procesador de 250 MHZ en adelante.

o Alguna versión del sistema operativo Linux (RedHat,

SUSE)

Page 60: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

4.8 BOX

4.8.1Descripción:

eBox es una plataforma para el desarrollo y despliegue de

servicios relacionados con la seguridad y trabajo en grupo

para una red local. Es configurable a través de un interfaz web

que integra todos los servicios de una manera consistente y

fácil de usar. El objetivo es que pueda ser usada por personas

no expertas. 14

eBox está orientada a instalarse sobre una máquina

dedicada, todas las tareas de configuración son realizadas a

traés de la interface web de eBox. Esto significa que la

configuración de los servicios subyacentes es unidireccional:

los módulos eBox generan ficheros de configuración, en

algunos casos sobreescriben ficheros del sistema (aunque esto

tiende a ser evitado en la medida de lo posible) y cambios a

mano sobre esos ficheros no son detectados por eBox. Esto

simplifica la implementación y uso del paquete pero tiene la

desventaja de que los desarrolladores deben tener cuidado si

usan su propio sistema para pruebas.

El diseño de eBox es modular, los nuevos módulos que

proporcionan nuevos servicios y funcionalidades pueden ser

desarrollados independientemente del paquete base. eBox

simplifica el despliegue de nuevos módulos y la actualización

14 Tomado del sitio: http://es.wikipedia.org/wiki/EBox#Vista_general

Page 61: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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,

Page 62: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

puede causar cambios de configuración en varios parámetros

de configuración del demonio, o en varios módulos de eBox. El

principal objetivo es mantener un interfaz de usuario sencillo,

facil de usar e integrado lo más posible, mientras se ofrece un

conjunto de parámetros de configuración lo más rico posible.

Sin embargo, puede haber módulos que no manejen la

configuración de un servicio de red. Un ejemplo de un módulo

de este tipo es el módulo de "sysinfo" del sistema base, se

encarga de recoger la información del sistema a ser mostrada

en la página de Resumen y ofrece unas entradas de menú

para características que no pertenecen a ningún módulo en

particular. La clase padre del módulo define varios métodos

abstractos que los módulos reales pueden dejar sin

implementar, así un módulo puede simplemente mantener

información en la página de Resumen, añadir nuevas entradas

de menú, manejar un servicio de red o todo lo anterior. 15

El caso normal, y mas interesante, es el del módulo descrito

en el primer parrafo. Este módulo tiene tres partes.

Una que define e implementa una API que permitirá a la

GUI, a otros módulos o scripts en perl configurar el demonio

que van a manejar.

La segunda es la GUI, la cual integra una serie de CGIs que

muestran la configuración en ése momento al usuario y le

permiten cambiarla, estos CGIs usan la API definida

15 Tomado del sitio: http://www.ebox-platform.com/

Page 63: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

anteriormente para obtener la información de la configuración

y realizar cambios sobre ella.

La tercera parte del módulo es mas pequeña normalmente,

traduce toda la información sobre configuración almacenada

en GConf en reglas del firewall, ficheros de configuración y

comandos que hacen que el servicio de red se comporte como

el usuario espera. También se hace cargo del inicio, parada o

reinicio del sistema cuando sea necesario.

4.8.2Características funcionales:

EBOX ofrece los siguientes servicios:

Servicios para Redes:

o Objetos de red de alto nivel

o Firewall y router

o Filtrado

o Redirección

o Multirouter con balanceo de carga

o Moldeado de tráfico

o Servidor de correo electrónico

o Mensajería instantánea

o Proxy Web

o Caché

Page 64: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 65: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

componentes Mason, como una tabla genérica usada

para configurar servicios. La lógica del programa reside

en los paquetes de las bibliotecas y en el código CGI.

C. Tolerancia a fallos: Los errores y avisos se manejan a

través de excepciones software, yendo desde el núcleo

hasta la rutina manejadora.

También ofrece la arquitectura para la búsqueda de errores,

integrando la distribución de la pila de ejecución del intérprete

de Perl. Cada proceso de cada servicio es monitorizado por si

este muere, es relanzado automáticamente.

4.8.3Lenguaje sobre el cual está construido:

eBox está basada en unos pocos paquetes de software, los

cuales son usados para diferentes propósitos:

A.Linux 2.6

eBox hace uso de algunas características ofrecidas por el

kernel, algunas de ellas están disponibles sólo en la serie

2.6. Entre esas caraterísticas están netfilter (para el

firewall), 802.1q (para VLANs) e ipsec.

B.perl y mod_perl

Page 66: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Todos los módulos eBox están implementados en perl, el

interfaz web corre sobre mod_perl por razones de

rendimiento.

C.mason

mason es un sistema de plantillas para perl, es usado

para generar HTML para la interfaz de usuario basada en

web y para generar ficheros de configuración.

D.apache

El interfaz web es servido por apache, nosotros usamos

habitualmente el paquete debian apache-perl.

E. gconf

eBox almacena su configuración mediante gconf2 y la

librería de bindins de perl.

F. sudo

Apache se ejecuta como usuario no privilegiado, todos los

módulos eBox usan sudo para ejecutar comandos que

necesitan ser ejecutados como root.

4.8.4Sistemas operativos sobre los cuales se puede ejecutar:

Page 67: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

o Sistemas operativo Linux (Debian)

4.8.5Acceso al código fuente:

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

modificar para generar nuevos servicios.

4.8.6Recursos hardware y software requeridos para la

instalación:

Además del sistema operativo no requiere requerimientos

de hardware y software especiales.

Page 68: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 69: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 70: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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.

Page 71: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Categoría Características WhatsUp Gold

Wireshark Nagios MRTG

Monitoreo de aplicaciones

Reportes Predefinidos Sobre el Rendimiento del Sistema, Utilizando Contadores de WMI.

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

Plantillas para Monitoreo de Aplicaciones de Servidor SQL y Exchange®.

Monitoreo de dispositivos

Monitoreo SNMP v1/2/3 Completo para cualquier dispositivo que lo soporte.

Adicione MIBs con simples “Drag-and-Drop”.

Monitores o acciones con scripts personalizados (VBScript/JavaScript).

Monitoreo de Contenido Web (HTTPS/HTTP).

Monitoreo de ancho de banda de routers y análisis de tendencias.

Soporte para instancias SNMP no-persistentes, para Rendimiento.

Mejorías de Mapas, Cambios de Campo en Grupo, Dependencias y Rendimiento de Bases de Datos.

Interfaz personalizada.

Page 72: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Notificación de problemas al administrador de la red

Reportes integrados

Biblioteca de reportes predefinidos.

Gestión de recursos /Reportes de buscador de direcciones MAC.

Workspaces Configurables, con más de 100 Reportes.

Estándares permitidos

Soporte SNMPv1/2/3.

Capacidades IPv6 expandidas.

Control flexible

Biblioteca de credenciales.

Grupos virtuales dinámicos.

Suite integrada de herramientas para la base de datos.

Control de vistas de la red a través de la interfaz del programa.

Servidor Web y Motor de Investigación funcionan como servicios separados.

Filtrado de tráfico en la red

Multiplataforma Linux, Windows, Unix, entre otros.

Facilidad de instalación y configuración

Cuadro Nro. 1 Cuadro comparativo herramientas de monitoreo

En los capítulos posteriores se detallará el funcionamiento de cada una de las herramientas WireShark, Nagios y MRTG

Page 73: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

para conocer su instalación, configuración y uso para poder tener un concepto más claro sobre lo que ofrece cada una de las herramientas y así determinar cuál es la mejor herramienta para llevar a cabo el monitoreo de red.

Page 74: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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.

Page 75: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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.

Page 76: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Una vez que se tienen los paquetes, éstos se deben instalar

haciendo uso de los siguientes comandos:

cd /mnt/cdrom/RedHat/RPMSrpm -ivh glib-1.2.6-3.i386.rpmrpm -ivh glib-devel-1.2.6-3.i386.rpmrpm -ivh gtk+-1.2.6-7.i386.rpmrpm -ivh gtk+-devel-1.2.6-7.i386.rpmrpm -ivh libpcap-0.4-19.i386.rpm

7.2 Interfaz de Usuario.

7.2.1Ventana Principal.

En la interfaz de la ventana principal se puede visualizar los

paquetes que son capturados o cargados por la aplicación.

77

Page 77: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Figura 15 Interfaz gráfica de WireShark

La ventana principal está compuesta por 7 partes, entre las

que se encuentran:

1. Barra de menú principal.

2. Barra de herramientas principales.

3. Barra de herramientas de filtrado.

4. Panel de paquetes.

5. Panel detallado de paquetes.

6. Panel de bytes de paquetes.

78

Page 78: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

7. Barra de estado.

7.2.2Barra de menú principal.

Contiene los siguientes ítems:

Figura 16 Barra de menú principal

File

Este menú contiene ítem para abrir, organizar archivos,

guardar, imprimir y exportar archivos

Figura 17 Menú File

A continuación se describen cada uno de los ítem de éste

menú:

Open...

Permite abrir un archivo de captura de paquetes que haya sido guardado previamente

Permite abrir los archivos de captura recientes. 79

Page 79: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Open recent

Merge

Save

Save As…

File set List Files

File set Next File

File set Previous File

Export as Plain text file…

Export as PostScript file…

Export as CSV file…

Permite organizar los archivos de captura.

Permite guardar un archivo de captura generado previamente en una ruta específica.

Permite guardar un archivo de captura y guardarlo en una ruta específica.

Permite visualizar una lista de archivos perteneciente a un conjunto de archivos.

Permite visualizar el siguiente archivo dentro de un conjunto de archivos.

Permite visualizar el anterior archivo dentro de un conjunto de archivos.

Permite exportar el archivo de captura de paquetes a un archivo plano ASCII.

Permite exportar el archivo de captura de paquetes a un archivo PostScript.

Permite exportar el archivo de captura de paquetes a un archivo CSV.

80

Page 80: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Print Permite imprimir el archivo de captura de paquetes.

Quit Permite salir de la aplicación.

Edit

Éste menú permite la búsqueda de uno o más paquetes de acuerdo a las preferencias del usuario.

Figura 18 Menú Edit

A continuación se describen cada uno de los ítem de éste

menú:

Copy As Filter

Find Packet…

Permite copiar la información que se muestra en la ventana de filtrado de paquetes.

Permite buscar un paquete de acuerdo a unos criterios específicos.

81

Page 81: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Figura 19 Cuadro Find Packet

Find Next

Find Previous

Mark Packet

Find Next Mark

Find Previous Mark

Mark All Packets

Unmark All Packets

Set Time Reference

Permite buscar el siguiente paquete que se ajuste a los criterios de búsqueda dados en el ítem Find Packet.

Permite buscar el anterior paquete que se ajuste a los criterios de búsqueda dados en el ítem Find Packet.

Permite marcar un paquete seleccionado en la ventana de filtrado.

Permite ir al siguiente paquete seleccionado en la ventana de filtrado.

Permite ir al anterior paquete seleccionado en la ventana de filtrado.

Permite marcar todos los paquetes que se visualizan en la ventana de filtrado.

Permite desmarcar todos los paquetes que se visualizan en la ventana de filtrado.

Permite asignar una referencia de tiempo a un paquete para diferentes fines, entre ellos el de establecer el momento exacto su captura.

Permite buscar el siguiente paquete con referencia de tiempo.82

Page 82: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Find Next Reference

Find Previous Reference

Preferences…

Figura 20 Cuadro de preferencias

View

Permite buscar el anterior paquete con referencia de tiempo.

Permite configurar la apariencia de la interfaz de usuario, como fuente, color de los paquetes seleccionados, tamaño de las ventanas emergentes, etc.

83

Page 83: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Éste menú permite visualizar los paquetes de acuerdo a las

características definidas por el usuario, tal como Color de los

paquetes, Tamaño de la letra, Visualización de los paquetes en

una ventana independiente, Visualización de los detalles del

paquete.

Figura 21 Menú View

A continuación se describen cada uno de los ítem de éste

menú:

Main Toolbar Permite visualizar la barra de menú

principal.

Figura 22 Main Tool Bar

84

Page 84: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Filter Toolbar Permite visualizar la barra de filtrado.

Figura 23 Filter Tool Bar

Figura 24 Ventana principal

Packet List

Status Bar

Permite mostrar u ocultar el panel donde se visualiza la lista de paquetes.

85

Page 85: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Figura 25 Panel de filtrado

Packet details

Panel de filtrado de paquetes

Permite mostrar el panel donde se detalla la información los paquetes capturados

Panel detallado de filtrado de paquetes86

Page 86: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Figura 26 Panel de filtrado de paquetes

Packet bytes

Figura 27 Panel de datos de filtrado

Time Display Format

Name resolution

Permite mostrar el panel donde se detalla el contenido de los paquetes.

Panel de datos de los paquetes.

Permite configurar la visualización de los formatos de fecha y hora dentro de la aplicación.

Permite habilitar la resolución de nombres en las capas MAC, Capa de Red y Capa de Transporte. Traduce las direcciones MAC o IP en nombres que puedan ser entendidos por el usuario.

87

Page 87: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Go Éste menú permite buscar un

paquete específico.

Go to Packet Permite la búsqueda de un paquete específico.

88

Page 88: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Capture

Éste menú permite iniciar o detener la captura y la edición de

los filtros de captura.

A continuación se describen cada uno de los ítem de éste

menú:

Éste es el paquete Nro. 23

89

Page 89: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Interfaces...

Options

Start

Stop Permite detener la captura de paquetes.

Restart Permite reiniciar la captura de paquetes.

Capture Filters

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

Permite configurar la captura de paquetes sobre la interfaz que se ha escogido previamente.

Permite crear o editar filtrados de captura, con el fin de disminuir el número de paquetes que no se necesitan, especificando el protocolo que se quiere utilizar.

Permite iniciar la captura de paquetes de acuerdo a la configuración establecida previamente.

90

Page 90: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Analyze.

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

inhabilitar protocolos, permitir el TCP Stream.

Interfaz de red.IP de interfaz.

Tamaño del buffer de captura.

Permite capturar los paquetes de la red o solo los que entran y salen del PC del usuario.

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

Filtrado para la captura de paquetes.

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

91

Page 91: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

A continuación se describen cada uno de los ítems de éste

menú:

Display Filters

Permite visualizar los filtros existentes para la captura de paquetes.

92

Page 92: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Statistics.

Éste menú contiene ítem que permiten mostrar varias

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

sido capturados.

93

Page 93: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Summary

Protocol Hierarchy

Conversations

IO Graphs

Permite visualizar un árbol de estadísticas del

protocolo sobre el cual se realiza la captura

de paquetes.

Permite visualizar la conversación entre el origen y el destino de los datos capturados.

Permite visualizar una gráfica en la cual se permite establecer el número de paquetes capturados en una unidad de tiempo.

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

94

Page 94: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Conversation List

Conversaciones entre los paquetes del protocolo

Ethernet:

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

95

Page 95: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Conversaciones de los paquetes del protocolo TCP:

Conversaciones de los paquetes del protocolo UDP:

96

Page 96: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Service Response Time

Permite visualizar el tiempo que transcurre entre una petición y la respuesta correspondiente.

Esta opción solo está disponible para los siguientes protocolos:

DCE-RPC

Fibre Channel

H.225 RAS

LDAP

MGCP

ONC-RPC

SMB

Permite visualizar el flujo de los paquetes capturados, especificando su origen y destino así como el puerto desde el cual salen y el puerto por el cual se reciben. También se puede establecer el tiempo que transcurre entre el envío y la recepción de un paquete en particular.

Para generar la gráfica de análisis se presenta el siguiente cuadro de dialogo para escoger los parámetros de generación de dicha gráfica.

97

Page 97: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Flow Graph

98

Page 98: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

TCP Stream Graph

Round Trip Time Graph

Permite visualizar por medio de diferentes gráficas las características de la captura de los paquetes de red.

99

Page 99: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Throughput Graph

100

Page 100: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Time Sequence Graph

101

Page 101: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

102

Page 102: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 103: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

8.1.3Instalación del núcleo de Nagios.

Lo primero que hay que hacer es bajarse el paquete

con los fuentes de Nagios de la página oficial

www.nagios.org. El paquete tiene el siguiente nombre:

nagios-1.0.tar.gz

Una vez se ha descargado el paquete se descomprime.

tar xzvf nagios-1.0.tar.gz

El siguiente paso es crear como root el directorio

donde se instalará el software una vez compilado.

mkdir /usr/ local/ nagios

Ahora se debe proceder a la configuración de las

fuentes para una compilación acorde al sistema. Se

deben tomar las opciones por defecto por lo que se debe

ejecutar el siguiente comando desde el directorio donde

se ha descomprimido y desempaquetado el paquete de

Nagios.

./configure

Para compilar las fuentes de Nagios se debe ejecutar el

siguiente comando:

make all

104

Page 104: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Para ejecutar la instalación de la herramienta se debe

proceder a ejecutar el siguiente comando, el cual

instalará los ficheros binarios y los ficheros HTML que

serán necesarios para el correcto funcionamiento del

sistema de monitorización:

make install

Nagios puede ser configurado para que sea iniciado

durante el arranque del sistema, para ello se debe

ejecutar el siguiente comando:

make install-init

Con la ejecución de los comandos anteriormente

descritos quedará instalado el núcleo de Nagios, el cual

hace labores de coordinación y gestión entre un número

de extensiones que realmente son las que realizan las

labores de monitorización.

8.1.4Instalación de las extensiones oficiales.

Lo siguiente que hay que hacer es instalar todas las

extensiones oficiales (plugins) que permitirán la

monitorización. Para ello lo primero que hay que hacer es

descargar nuevamente, el paquete correspondiente de la

página oficial www.nagios.org.

Estos plugins son programas compilados o Shell scripts

que realizan la monitorización de ciertos servicios o

máquinas y devuelven unos valores que son los que el

105

Page 105: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

núcleo de Nagios utiliza. Para instalarlos se debe

desempaquetar y descomprimir el paquete como se

especifica a continuación:

tar xzfv nagios-plugins.1.3.0.tar.gz

Nuevamente hay que configurar las fuentes. El

parámetro más importante que hay que especificar es el

lugar donde se encuentra instalado Nagios, puesto que

las extensiones se instalan en una rama de dicho árbol de

directorios.

Si Nagios se ha instalado en el directorio por defecto

usr/ local /nagios, entonces basta con ejecutar el

siguiente comando:

./configure

Si Nagios se instaló en un directorio diferente al que se

toma por defecto se deberá ejecutar el siguiente

comando:

./configure –prefix=directorio_instalación _nagios

De cualquiera de las dos formas, las fuentes de las

extensiones quedarán bien configuradas para compilar

sin problemas en nuestro sistema. Para proceder a la

compilación, se debe ejecutar la siguiente orden:

make all

106

Page 106: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Tras lo cual los binarios habrán sido correctamente

generados si no ha habido ningún problema. Ahora hay

que proceder a la instalación de dichos binarios a partir

del directorio que le indicamos durante la configuración.

Se ejecuta el siguiente comando:

make install

Una vez realizadas las anteriores actividades la

extensiones oficiales quedarán correctamente instaladas.

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

Se aconseja activar y configurar la interfaz web de

Nagios que permitirá interactuar con el sistema de

monitorización a través de cualquier navegador. Se

requiere que el servidor Apache este instalado y

correctamente configurado.

Si se han seguido los pasos de la instalación por

defecto, sin elegir los parámetros de instalación, los

binarios de Nagios debe ser accesible en

http://localhost/nagios/cgi-bin/, pero para ello hay que

añadir algunas líneas en el fichero de configuración de

apache http.conf.

Antes de nada se debe establecer un alias para poder

acceder a través del servidor http a los binarios de la

107

Page 107: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

distribución de Nagios. Para ello se debe añadir al archivo

de configuración de apache las siguientes líneas:

ScriptAlias /nagios/ cgi-bin/ /usr/local/nagios/sbin/

<Directory “/usr/local/nagios/sbin/”>

AllowOverride AuthConfig

Options ExecCGI

Order allow,deny

Allow from allow

</Directory>

Del mismo modo, se debe crear un alias para poder

acceder a los archivos HTML de la distribución Nagios vía

el servidor Apache. Incluimos en el mismo archivo la

siguientes líneas, las cuales deben escribirse después de

las líneas escritas anteriormente.

Alias /nagios/ /usr/local/nagios/share/

<Directory “/usr/local/nagios/share/”>

Options None

AllowOverride AuthConfig

Order allow,deny

Allow from allow

108

Page 108: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

</Directory>

Lo que permitirá poder acceder a la interfaz web del sistema

de monitorización que se está instalando en

http://localhost/nagios que es lo que se pretende. Para

probarlo se debe reiniciar el servidor http para que lea la

nueva configuración. Para lograrlo se debe ejecutar el

siguiente comando:

etc/rc.d/init.d/httpd restart

Haciendo uso de cualquier navegador y digitando la

siguiente dirección:

http://localhost/nagios

Se podrá probar el servicio http.

Según la configuración del servidor web, puede ocurrir que

la página no se muestre si no se incluye la barra “/” al final de

la URL. En cualquier caso, así se comprobará si funciona

correctamente o no la interfaz web, pero nada más funcionará

porque no se ha configurado los CGI’s para ello y no se ha

levantado el servicio “nagios”.

8.2 Configuración de Nagios.

109

Page 109: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Nagios tiene una configuración bastante larga y meticulosa

por lo que en este apartado se hará mención únicamente a

alguno de los archivos que hay que modificar y qué es lo que

se configura en cada uno de ellos.

Si se han seguido todos los pasos anteriores, en el

directorio ‘/usr/local/nagios/etc’ se encontrarán los ficheros de

configuración de ejemplos del sistema de monitorización.

Bastará con quitarles a todos la parte del nombre en que

pone ‘sample’ para tener todos los archivos de configuración

necesarios que habrá que retocar pero que están auto

documentados en gran parte.

Nagios puede configurarse exclusivamente en un solo

archivo nagios.cfg, pero por comodidad y facilidad se suele

dividir el archivo de configuración en varios cuyo nombre

puede ser elegido por el administrador.

A continuación se describen los archivos de configuración

de Nagios.

Servicios.

Se consideran servicios a los procesos tradicionales como

STPM, FTP, WWW, etc, que corren en alguna máquina de la

red y también a cualquier tipo de valores como por ejemplo el

tiempo de retorno de los PING o cualquier otra métrica

parecida que nos interese aplicar. Junto con un servicio se

110

Page 110: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

define también el equipo en el que debe estar disponible

dicho servicio. Todos estos datos se suelen definir en el

fichero services.fcg.

Algunas de las características más importantes que

podemos configurar en este archivo con respecto a los

servicios son:

Descripción del servicio: service_description.

Equipo en el que estará funcionando: host_name.

Periodo de tiempo por el cuál se regirá: check_period.

Comando usado para comprobar el servicio:

check_command.

Grupo de contacto para notificaciones: contact_groups.

Opciones de las notificaciones: notification_options.

Equipos.

Se considera un equipo a cualquier dispositivo que

pertenezca a la red como por ejemplo servidores, routers,

111

Page 111: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

switches, impresoras de red, etc. Se definen generalmente

en el archivo hosts.conf.

Algunas de las características más importantes que

podemos configurar en este archivo con respecto a los

equipos son:

Nombre del equipo: host_name.

Alias para el equipo: alias.

Dirección IP del equipo: address.

Comando usado para comprobar el equipo:

check_command.

Grupos de equipos.

Un grupo de equipos es un conjunto de equipos

previamente definidos que tienen algo en común y que por

razones de facilidad en la administración se agrupan. Por

ejemplo un grupo 'impresoras' podría agrupar a todos los

equipos que sean impresoras, el grupo 'Sala Linux' podría

contener a todos los equipos de la sala llamada 'Sala Linux',

etc. Un equipo SIEMPRE tiene que pertenecer a un grupo.

Asimismo puede pertenecer a más de un grupo. Los grupos

de equipos se configuran generalmente en el archivo

hostgroups.cfg.

112

Page 112: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Algunas de las características más importantes que

podemos configurar en este fichero con respecto a los

grupos de equipos son:

Nombre del grupo de equipos: hostgroup_name.

Alias para el grupo: alias.

Contactos para el grupo de equipos: contact_groups.

Miembros del grupo: members.

Contactos.

Un contacto es la definición de una persona (generalmente

responsable de la red) que debe ser contactado cuando ocurre

algún suceso en la red. Junto con la definición del contacto se

especifican también las circunstancias bajo las cuales se

tienen que producir avisos de alarma : caída del sistema,

equipos inaccesibles, etc. Los contactos se configuran

generalmente en el archivo contacts.cfg.

Algunas de las características más importantes que

podemos configurar en este archivo con respecto a los

contactos son:

Nombre del contacto: contact_name.

Alias para el contacto: alias.

113

Page 113: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Periodos de notificación de errores de equipos:

host_notification_period.

Periodos de notif. de errores servicios:

service_notification_period.

Comando para notif. de err. servicios:

service_notification_commands.

Comando para notif. de err. equipos:

host_notification_commands.

Grupo de contactos.

Al igual que los grupos de equipos, los grupos de contactos

son un conjunto, en este caso de personas que se agrupan

para permitir una mayor flexibilidad a la hora de que Nagios

realice notificaciones. Por ejemplo, el grupo 'Administradores

de la sala Linux' podría agrupar a todos los administradores de

esa sala y cuando hubiese algún problema que notificar, todos

ellos serían notificados a la vez. Se configuran generalmente

en contactgroups.cfg.

Algunas de las características más importantes que

podemos configurar en este archivo con respecto a los grupos

de contactos son:

Nombre del grupo de contactos: contactgroup_name.

Alias para el grupo: alias.

114

Page 114: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Miembros del grupo: members.

Comandos.

Un comando es una tarea específica que se declara como

por ejemplo hacer un PING, hacer un telnet o cualquier otra.

Se especifica la línea de comandos y a partir de ese momento

ese comando que se ha definido puede ser usado por Nagios.

Esto permite mucha flexibilidad ya que podemos añadir

nuevas funcionalidades a Nagios sin más que crearnos nuevos

comandos. Los comandos se declaran generalmente en

misccommands.cfg y checkcommands.cfg.

Algunas de las características más importantes que

podemos configurar en estos archivos con respecto a los

comandos son:

Nombre del comando: command_name.

Comando a ejecutar: command_line.

Períodos de tiempo.

Un período de tiempo es un rango horario que se asigna

para cada día de la semana (debe ser siempre semanal) de tal

forma que luego ese periodo de tiempo que se ha creado, se

pueda asignar a una tarea concreta y formar así un calendario

o agenda. Por ejemplo se puede establecer para cada día de la

115

Page 115: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

semana el horario laboral de una empresa y luego llamarle

'Horario de oficina'. Así se podrá decir a cualquier tarea que

funcione exclusivamente ajustándose al periodo de tiempo

'Horario de oficina'. Se configuran generalmente en

timeperiods.cfg.

Algunas de las características más importantes que

podemos configurar en este fichero con respecto a los

periodos de tiempo son:

Nombre del periodo de tiempo: timeperiod_name.

Alias del periodo de tiempo: alias.

Horario para el lunes: monday.

Horario para el martes: tuesday.

Horario para el miércoles: wednesday.

Horario para el jueves: thursday.

Horario para el viernes: friday.

Horario para el sábado: saturday.

Horario para el domingo: sunday.

Ampliación de los servicios.

Se usan para intensificar las notificaciones con respecto a

un servicio de un equipo. Es completamente opcional. La

116

Page 116: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

ampliación de los servicios se configura generalmente en el

archivo escalations.cfg.

Algunas de las características más importantes que podemos

configurar en este archivo con respecto a la ampliación de los

servicios son:

Nombre del equipo donde está el servicio: host_

Descripción del servicio: service_description.

Primera notificación: first_notification.

Última notificación: last_notification.

Dependencias de los servicios

Una dependencia de servicio es una característica

avanzada de Nagios que permite que en una jerarquía

donde unos servicios dependen de otros, al fallar uno del

que dependen varios, se supriman las notificaciones

ocurridas por el mal funcionamiento de estos últimos ya

que se deben a que ha fallado aquel del que dependen, y

no ellos. También se puede especificar que los servicios

dependientes no sean comprobados inútilmente en esta

situación. Está especialmente indicado para expertos que

tienen que monitorizar instalaciones excesivamente

117

Page 117: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

complejas. Se especifican generalmente en el fichero

dependencies.cfg.

Algunas de las características más importantes que

podemos configurar en este fichero con respecto a la

dependencia de los servicios son:

Descripción del servicio: service_description.

Equipo donde está el servicio: host_name.

Descripción del servicio dependiente:

dependent_service_description.

Equipo del servicio dependiente:

dependent_host_name.

Ampliación de los equipos.

Se usan para intensificar las notificaciones con respecto a

un equipo. Es completamente opcional. La ampliación de los

equipos se configura generalmente en el archivo

escalations.cfg.

118

Page 118: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Algunas de las características más importantes que

podemos configurar en este archivo con respecto a la

ampliación de los equipos son:

Nombre del equipo: host_name.

Primera notificación: first_notification.

Última notificación: last_notification.

Dependencias de los equipos.

Una dependencia de equipo es una característica

avanzada de Nagios que permite que cuando un equipo

del que dependen varios falla, no se notifique el fallo de

los equipos dependientes ni se intente comprobar su

estado, porque no han fallado realmente sino que ha

fallado el equipo del cual dependen. Está especialmente

indicado para expertos que tienen que monitorizar

instalaciones excesivamente complejas. Se especifican

generalmente en el archivo dependencies.cfg.

Algunas de las características más importantes que

podemos configurar en este archivo con respecto a la

dependencia de los equipos (cada uno de ellas) son:

Equipo donde está el servicio: host_name.

Equipo del servicio dependiente:

dependent_host_name.

119

Page 119: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Ampliación de los grupos de equipos.

Se usan para intensificar las notificaciones con

respecto a todos los equipo de un grupo de equipos. Es

completamente opcional. La ampliación de los grupos de

equipos se configura en el archivo escalations.cfg.

Algunas de las características más importantes que

podemos configurar en este fichero con respecto a la

ampliación de los grupos de equipos son:

Nombre del grupo de equipos: hostgroup_name.

Primera notificación: first_notification.

Última notificación: last_notification.

Opciones generales de Nagios.

Aparte de lo anteriormente visto, el archivo principal de

configuración de Nagios es nagios.cfg que no debería

contener muchas cosas si ha configurado cada parte en

un archivo independiente, como se ha visto en las líneas

anteriores. Este fichero contiene información sobre cuáles

son los archivos de configuración que se han usado para

configurar cada parte, qué grupo y/o usuario hacen

funcionar Nagios, fichero de sucesos, etc.

120

Page 120: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Configuración de los CGI.

Los CGI que Nagios utiliza para su funcionamiento y

para la presentación web de los datos referentes a la

monitorización se configuran en el fichero cgi.cfg.

Generalmente este fichero contiene información relativa a

la localización de los HTML que se muestran, a los CGI, a

la configuración del acceso a los servicios, a los equipos y

a la propia configuración de Nagios tanto para obtener

información como para actuar sobre el sistema.

Comprobando la configuración del sistema.

Una vez que se han introducido todos los datos

correctos en los distintos ficheros de configuración de

Nagios, no es necesario pero si recomendable verificar

que no existen errores de configuración. Para ello, se usa

una opción del ejecutable de nagios que permitirá

conocer si hay errores o no y en caso de haberlos,

indicará el lugar concreto dentro del archivo de

configuración donde puede estar el error.

nagios –v /usr/local/nagios/etc/nagios.cfg

Nagios comprobará que se han especificado todos los

objetos correctamente. Además comprobará que se han

121

Page 121: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

declarado en el orden correspondiente y necesario para el

buen funcionamiento de todo el sistema, el siguiente:

1. Verificar que todos los contactos son grupos al menos

de un grupo de contacto.

2. Verificar que todos los miembros de un grupo de

contacto son contactos válidos.

3. Verificar que todos los equipos son miembros de al

menos un grupo de equipos.

4. Verificar que todos los equipos especificados en un

grupo de equipos son equipos válidos.

5. Verificar que todos los equipos tienen al menos un

servicio asociado a ellos.

6. Verificar que todos los comandos usados en los

servicios y los equipos, son válidos.

7. Verificar que todos los comandos usados en los

manejadores de eventos de servicios y equipos, son

válidos.

8. Verificar que todos los comandos usados para

notificaciones de contactos, equipos y servicios, son

válidos.

9. Verificar que todos los periodos de tiempos usados

para servicios, equipos y contactos, son válidos.

122

Page 122: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

10. Verificar que todos los periodos de tiempos para

comprobación de servicios, son válidos.

Si el comando anterior no devuelve ningún error,

significará que los archivos de configuración son

correctos sintácticamente hablando y se habrá

terminado, pudiendo hacer funcionar el sistema en

cualquier momento.

Configuración avanzada de Nagios.

Nagios es una herramienta extremadamente compleja y

tiene muchísimas opciones. Dentro de la parte avanzada

del sistema, hay posibilidades para montar sistemas de

monitorización distribuido, planificar caídas del sistema,

realizar chequeos pasivos de servicios y equipos, etc.

Autenticación para el acceso.

Esta opción permite montar Nagios como un sistema de

monitorización al que se puede acceder de forma remota sin

peligro a que cualquier persona acceda y modifique,

observe, etc.

123

Page 123: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Se puede especificar autenticación tanto para acceder al

sistema como para acceder al uso de los CGI’s. Este proceso

se realiza como normalmente se hace en un servidor HTTP

cualquiera. Con las líneas que se configuró el fichero

httpd.conf de Apache el servidor estará ya preparado. El

siguiente paso es crear los siguientes ficheros:

/usr/local/nagios/sbin/.htaccess

/usr/local/nagios/share/.htaccess

Ambos con el siguiente contenido:

AuthName "Acceso a Nagios"

AuthType Basic

124

Page 124: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

AuthUserFile /usr/local/nagios/etc/htpasswd.users

require valid-user

Se debe crear al menos un usuario que será el

administrado del sistema Nagios y que tendrá los permisos

necesarios para ejecutar CGI’s, ver el sistema y otras

opciones. Se debe hacer lo siguiente:

htpasswd –c /usr/local/nagios/etc/htpasswd.users <username>

Donde <username> es el nombre de usuario que

queremos crear. Tras esto se pedirá que se introduzca la

clave para ese usuario. Una vez se introduzca la clave ya

estará creado el administrador del sistema que tendrá

privilegios.

Iniciando Nagios.

Una vez se haya instalado Nagios según los pasos

descritos a través de éste documento, se debe instalar un

script de inicio en la siguiente ruta etc/rc.d/init.d llamado

‘nagios’. La forma de iniciar el sistema de monitoreo es

ejecutar el siguiente comando:

/etc/rc.d/init.d/nagios start

Cuando se quiera detener la ejecución de la herramienta

125

Page 125: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

de monitoreo se debe ejecutar el siguiente comando:

/etc/rc.d/init.d/nagios stop

También si se desea volver a iniciar el monitoreo se

puede ejecutar el comando que sigue:

/etc/rc.d/init.d/nagios reload

8.3 Comandos de Nagios.

Nagios posee una serie de comandos para monitorear

equipos y servicios. Éstos comandos hacen uso de librerías

y paquetes que deben estar instalados previamente en el

sistema. En el archivo llamado REQUERIMENTS se pueden

visualizar los programas que se ejecutan mediante los

comandos que Nagios ofrece.

A continuación se describen algunos de los comandos con

los que cuenta la herramienta Nagios:

check_dig

Este comando sirve para comprobar el funcionamiento

del servicio de DNS en un equipo remoto.

126

Page 126: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

check_disk

Este comando sirve para comprobar el espacio libre de un

volumen montado en el sistema de ficheros donde se esté

ejecutando Nagios. Permite especificar dos umbrales y

generar disparadores de advertencia cuando se supera el

menor, y errores críticos cuando se supera el segundo

umbral.

check_disk_smb

Este comando funciona exactamente igual que check_disk

pero realiza la comprobación utilizando samba para realizar

la comprobación de volúmenes compartidos en quipos

remotos, en redes Windows.

check_dns

Este comando permite hacer una consulta DNS para

averiguar la dirección IP de un equipo dado el nombre o

viceversa. Utiliza nslookup para ello; permite especificar el

servidor DNS a usar o si no usa el especificado en

/etc/resolv.conf.

check_dummy

127

Page 127: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Este comando permite realizar una consulta a un dispositivo

ficticio (devuelve el mismo parámetro que se le pasa).

Puede ser utilizado para comprobaciones y depuraciones.

check_flexlm

Este comando comprueba el funcionamiento de un sistema

FlexLM. Este sistema es un servidor de licencias en red

usado para obtener permisos de uso de software en red.

Devuelve distintos errores dependiendo del estado de estos

servidores de licencias.

check_ftp

Este comando realiza comprobaciones de conexión a un

servidor FTP remoto. Permite conocer el estado de este

servicio.

check_http

Este comando comprueba servicios HTTP y HTTPS en

equipos remotos. Permite además realizar el seguimiento

de redirecciones, tiempos de conexión, la expiración de los

certificados para SSL, etcétera. Es especialmente útil para

128

Page 128: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

servidores web que sirvan de base para aplicaciones de

comercio electrónico.

check_ifoperstatus

Este comando comprueba el estado de operación de

interfaces de red remotas.

check_ifstatus

Este comando comprueba el estado general de interfaces

de red remotas.

check_imap

Este comando realiza conexiones contra un servidor IMAP

para comprobar su estado de funcionamiento. Permite

generar advertencias y errores críticos.

check_load

Este comando trabaja en local en la máquina que está

ejecutando el sistema Nagios. Comprueba la carga del

129

Page 129: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

sistema en función de unos umbrales que tiene

preestablecidos y permite generar advertencias o errores

severos según sea esta carga.

check_nt

Este comando realiza peticiones a un equipo Windows

NT/2000/XP remoto que esté ejecutando el servicio

NSClient para comprobar parámetros locales a dicho equipo

como por ejemplo uso de la CPU, de la memoria, del disco,

etcétera.

check_oracle

Este comando permite comprobar el estado de un SGBD

Oracle en un ordenador remoto así como el estado de los

tablespaces, de bases de datos, de las caché, etcétera, de

dicho servidor.

check_pop

130

Page 130: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Este comando comprueba si el servicio POP de un equipo

remoto está funcionando correctamente. Realiza peticiones

para ello.

check_procs

Este comando funciona en la máquina donde se está

ejecutando Nagios. Comprueba el número de procesos

que se están ejecutando en la máquina y genera

advertencias cuando este número sobrepasa el umbral

especificado.

check_smtp

Este comando permite conocer el estado de un servicio

SNMP de una máquina remota. Realiza conexiones a este

servicio para averiguar la información necesaria.

check_swap

Este comando funciona en local, en la máquina donde está

instalado Nagios. Permite monitorizar el tamaño de la

memoria de intercambio utilizada y generar advertencias o

131

Page 131: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

errores cuando este valor sobrepaso los umbrales

establecidos.

check_tcp

Este comando permite realizar peticiones arbitrarias a

conexiones (sockets) TCP contra sistemas remotos. Por

tanto permite monitorizar cualquier servicio que utilice

sockets TCP para recibir peticiones.

check_udp

Este comando permite realizar peticiones arbitrarias a

conexiones (sockets) UDP contra sistemas remotos. Por

tanto permite monitorizar cualquier servicio que utilice

sockets UDP para recibir peticiones.

check_users

Este comando permite conocer el número de usuarios

conectados actualmente en el sistema local, en el que se

está ejecutando Nagios. Genera advertencias y errores

cuando el número supera el umbral fijado.

132

Page 132: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

8.4 Interface Web.

La web de administración de Nagios es complicada y

sencilla a la vez. Complicada porque tiene infinitas

posibilidades y sencillas porque todas ellas se hacen de las

misma forma con lo cual saber utilizar la interfaz web es

cuestión de minutos.

Al digitar la dirección http://nagios-server/nagios, aparece

la siguiente pantalla:

133

Page 133: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Al ejecutar la opción “Tactical overview” se muestra un

resumen de todos los equipos y servicios que están siendo

monitoreados.

Por medio de la opción “Service problems” se pueden

observar los problemas que presentan los host de la red,

además de los servicios involucrados. Los problemas pueden

ser una advertencia o pueden ser de nivel crítico.

134

Page 134: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Las opciones “Host Detail” y “Service Detail” proveen una

descripción detallada de cada uno de los host y servicios que

se están monitoreando.

135

Page 135: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

La opción “Status Map” muestra un mapa de la topología de

red sobre la cual se está ejecutando el monitoreo. Si se realiza

un click sobre alguno de los host del mapa se despliega una

ventana con la información del mismo.

136

Page 136: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Nagios permite la navegación a través de la red por medio

de una representación 3D. El usuario puede mover, rotar y

realizar diferentes acciones sobre el mapa generado.

Para poder visualizar el mapa de la red en 3D es necesario

un browser con VRML (Virtual Reality Markup Language). La

versión del plugin VRML existentes para Linux son OpenVRML,

freeVRML y vrware.

137

Page 137: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Información de estado por grupo de equipos.

138

Page 138: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Esta opción muestra un resumen de los equipos y servicios

activos y caídos según los grupos a los que pertenece cada

grupo y de una forma amena, sencilla y muy rápida.

Problemas con los equipos.

Esta opción muestra exclusivamente los equipos que están

teniendo problemas así como una descripción de los mismos.

Es especialmente útil para un administrador de red saber

inmediatamente qué equipos están fallando.

139

Page 139: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Problemas con los servicios.

Esta opción muestra exclusivamente los servicios que están

teniendo problemas así como una descripción de dichos

problemas. Es especialmente útil para un administrador de red

saber inmediatamente qué servicios están dejando de

funcionar.

Administración web de Nagios.

El propio sistema Nagios puede ser administrado vía web

mediante la ejecución de comandos. Además se puede ver su

estado, las incidencias que ha tenido, etc.

140

Page 140: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Cola de planificación:

141

Page 141: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Esta opción muestra y permite cambiar la fecha y hora para

la cual están planificadas la ejecución de los chequeos a

servicios y equipos.

Configuración de informes.

Común para casi cualquier informe. Permite elegir el rango

de tiempo, la forma de presentación, el orden, etcétera, de los

datos que aparecerán en el informe.

142

Page 142: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Informe de disponibilidad.

Esta opción presenta en la ventana web un listado con

todos los equipos y los porcentajes de tiempo en los que

cada uno ha estado activo e inactivo. Esto permite obtener

unas estadísticas para ver si una máquina falla con frecuencia

y poner medidas al respecto.

143

Page 143: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Histograma.

Como cualquiera de los demás tipos de informe, el

histograma muestra de forma gráfica distintos parámetros, a

elegir, sobre los servicios y equipos monitorizados.

144

Page 144: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Histórico de eventos.

Al más puro estilo UNIX/Linux, esta opción muestra el

total de sucesos que han ocurrido en el sistema, desde que

un equipo haya caído hasta que a cierto contacto se le ha

enviado una notificación vía correo electrónico.

145

Page 145: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Contactos.

Esta opción permite ver los datos de configuración de los

contactos, esto es, horas de contacto, métodos para

notificaciones, dirección de correo, datos personales, etcétera.

Lo mismo aparece para otro parámetros que no sean los

contactos, pero sólo mostramos esta opción como ejemplo.

146

Page 146: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

147

Page 147: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Capítulo 9

9. MRTG

9.1 Instalación.

Para la instalación de la herramienta MRTG se debe haber

instalado previamente un compilador de C y un editor del

lenguaje Perl.

El compilador de C se puede descargar de la siguiente página http://gcc.gnu.org/

El editor de Perl se puede descargar de la página http://www.perl.com/

MRTG genera gráficas en formato PNG. Por esto es necesario

contar con algunas librerías que permiten la generación de

dichas gráficas.

La librería gd puede ser descargada de la página http://www.boutell.com/gd/

Page 148: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

Page 149: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

cd ..

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

comandos:

wget http://public.planetmirror.com/pub/sourceforge/l/li/libpng/libpng-1.0.15.tar.gz gunzip -c libpng-*.tar.gz |tar xf - rm libpng-*.tar.gz mv libpng-* libpng cd libpng make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib rm *.so.* *.so cd ..

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

comandos:

wget http://www.boutell.com/gd/http/gd-1.8.4.tar.gzgunzip -c gd-*.tar.gz |tar xf -rm gd-*.tar.gzmv gd-* gdcd gd

Una vez se hayan compilado todas las librerías requeridas se

puede compilar el archivo fuente de MRTG por medio del

siguiente comando:

cd /usr/local/src

151

Page 150: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

gunzip -c mrtg-2.15.2.tar.gz | tar xvf -cd mrtg-2.15.2

9.2 Configuración.

El siguiente paso es realizar la configuración de la

herramienta. Para ello se debe crear un archivo de

configuración llamado mrtg.cfg.

cfgmaker --global 'WorkDir: /home/httpd/mrtg' \ --global 'Options[_]: bits,growright' \ --output /home/mrtg/cfg/mrtg.cfg \ [email protected]

El archivo de configuración puede ser creado con cfgmaker

que está incluido en el paquete de MRTG.

cfgmaker <community>@<nombre-host-router or IP>

En primer lugar se debe configurar MRTG para monitorizar

el tráfico que pasa a través de los interfaces de un dispositivo

152

Page 151: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

de red en particular. Para lo cual se debe ejecutar el comando

cfgmaker de la siguiente forma:

it003:~/mrtg>cd mrtg-2.5.1.sp/ it003:~/mrtg/mrtg-2.5.1.sp> ./cfgmaker [email protected] > mrtg.cfg GotAddresses GotIfTable GotIfDescr GotIfType GotIfSpeed GotIfStatus GotIfOperStatus Got IfIndex

Con lo cual estamos configurando MRTG para que acceda al

agente SNMP que corre en it003.lab.uc3m.es con los permisos

habilitados para la comunidad public. En principio obtiene

información sobre el número de interfaces del sistema,

velocidad máxima, estado, descripción.

El fichero mrtg.cfg generado tiene el siguiente aspecto:

it003:~/mrtg/mrtg-2.5.1.sp> less mrtg.cfg  ###################################################################### #        Descripcion: Linux version 2.0.25 (root@lmserv2) (gcc version 2.7.2) #384- Sat May 23 19:49:23 MET DST 1998 #           Contacto: Prueba # Nombre del Sistema: hola #       Localizacion: Not Configured #..................................................................... ######## ######## Esta interface se encuentra en alguno de los casos siguientes:

153

Page 152: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

######## - Administrativamente desactivada (not UP) ######## - Dentro de modo de prueba ######## - Es una interface de autorreconocimiento (softwareLoopback) ######## - Tiene especificada una velocidad no realista ######## Por lo que se ha tenido que comentar ######## #  # Target[it003.lab.it.uc3m.es.1]: 1:[email protected] # MaxBytes[it003.lab.it.uc3m.es.1]: 2500000 # Title[it003.lab.it.uc3m.es.1]: hola (localhost): lo0 # PageTop[it003.lab.it.uc3m.es.1]: <H1>Analisis de Trafico para lo0 #  </H1> #  <TABLE> #    <TR><TD>Sistema: </TD><TD>hola en Not Configured</TD></TR> #    <TR><TD>Administrador: </TD><TD>Prueba</TD></TR> #    <TR><TD>Interfase: </TD><TD>lo0 (1)</TD></TR> #    <TR><TD>HOST IP: </TD><TD>localhost (127.0.0.1)</TD></TR> #    <TR><TD>Velocidad Máxima: </TD> #        <TD>2500.0 kBytes/s (software-Loopback)</TD></TR> #   </TABLE> #  #---------------------------------------------------------------

Target[it003.lab.it.uc3m.es.2]: 2:[email protected] MaxBytes[it003.lab.it.uc3m.es.2]: 1250000 Title[it003.lab.it.uc3m.es.2]: hola (it003.lab.it.uc3m.es): eth0 PageTop[it003.lab.it.uc3m.es.2]: <H1>Analisis de Trafico para eth0  </H1>  <TABLE>    <TR><TD>Sistema: </TD><TD>hola en Not Configured</TD></TR>    <TR><TD>Administrador: </TD><TD>Prueba</TD></TR>    <TR><TD>Interfase: </TD><TD>eth0 (2)</TD></TR>

154

Page 153: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

   <TR><TD>HOST IP: </TD><TD>it003.lab.it.uc3m.es (163.117.144.203)</TD></TR>    <TR><TD>Velocidad Máxima: </TD>        <TD>1250.0 kBytes/s (Ethernet-Csma/Cd)</TD></TR>   </TABLE>

Se han detectado dos interfaces, pero la primera al ser la

correspondiente al loopback (bucle interno para pruebas) no se

va a monitorizar. Aún se tiene que editar el fichero mrtg.cfg para

incluir el parámetro WorkDir mediante el cual se especifica en

que directorio se tienen que guardar los ficheros .gif y .html que

genere MRTG.

WorkDir: /usr/lab/fondo/sra/sra20/mrtg

####################################

##################################

# Descripcion: Linux version 2.0.25 (root@lmserv2) (gcc

version 2.7.2) #3# Contacto: Prueba

# Nombre del Sistema: hola

# Localizacion: Not Configured

155

Page 154: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

#...........................................................................

Una vez editado correctamente el fichero mrtg.cfg se puede

ejecutar por primera vez el programa. Para generar las gráficas

de tráfico cada vez que se ejecuta MRTG, el programa se basa en

un fichero de log generado en anteriormente. La primera vez que

se ejecuta MRTG este fichero de log no existe con lo que se va a

producir un mensaje de advertencia. Tras la ejecución del

programa además de los *.gif y *.html se va a generar un nuevo

fichero de log y el antiguo se renombrara como *.old. En una

segunda ejecución del programa aún se genera un mensaje de

advertencia debido a que intenta borrar el fichero *.old de la

sesión anterior el cual todavía no se ha generado. En una tercera

ejecución del programa ya no debe aparecer ningún mensaje.

it003:~/mrtg/mrtg-2.5.1.sp> ./mrtg mrtg.cfg Rateup ADVERTENCIA: .//rateup no puede leer el archivo de log primario para it003.lab.it.uc3m.es.2 Rateup ADVERTENCIA: .//rateup el archivo de respaldo de log para it003.lab.it.uc3m.es.2 es invalido también Rateup ADVERTENCIA: .//rateup No se puede remover it003.lab.it.uc3m.es.2.old al actualizar el archivo de log Rateup ADVERTENCIA: .//rateup No se puede renombrar it003.lab.it.uc3m.es.2.log a it003.lab.it.uc3m.es.2.old al actualizar el archivo de log

156

Page 155: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

it003:~/mrtg/mrtg-2.5.1.sp> ./mrtg mrtg.cfg Rateup ADVERTENCIA: .//rateup No se puede remover it003.lab.it.uc3m.es.2.old al actualizar el archivo de log

it003:~/mrtg/mrtg-2.5.1.sp> ./mrtg mrtg.cfg it003:~/mrtg/mrtg-2.5.1.sp> 

9.3 Configuración avanzada.

Creación de una página índice.

En el caso en el que se quiera monitorizar un número

determinado de interfaces de red se puede crear una página a

modo de índice principal que contenga enlaces a las páginas

de estadísticas individuales de cada interfaz. Esta página

principal puede ser creada manualmente o utilizando el script

indexmaker que la genera automáticamente a partir del fichero

mrtg.cfg. El formato de indexmaker es el siguiente:

indexmaker <mrtg.cfg> <título> <expresión regular >

en donde,

mrtg.cfg, será el camino completo al fichero de configuración

de MRTG.

título, será el texto usado como título de la página HTML que

se genere.

157

Page 156: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

expresión regular, patrón que se aplicara sobre el fichero

mrtg.cfg para determinar que equipos de los que aparecen en

éste fichero han de referenciarse desde la página principal.

Por ejemplo:

it003:~/mrtg> mrtg-2.5.1.sp/indexmaker mrtg-2.5.1.sp/mrtg.cfg "Monitorizacion de Trafico" it003 > index.html

La página se podrá visualizar como se muestra a continuación:

158

Page 157: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

sea automática:

it003:~> crontab -e

*/5 * * * * /usr/lab/fondo/sra/sra20/mrtg/mrtg-2.5.1.sp/mrtg

/usr/lab/fondo/sra/sra20/mrtg/mrtg-2.5.1.sp/mrtg.cfg

Añadir Interfaces que Monitorizar.

Para aumentar la lista de equipos cuyos interfaces

queremos monitorizar vamos a utilizar nuevamente el script

cfgmaker. Por ejemplo vamos a añadir a la lista, además de

it003, los interfaces de arpa.it.uc3m.es de la siguiente forma:

it003:~/mrtg/mrtg-2.5.1.sp> ./cfgmaker

[email protected] >> mrtg.cfg

Got Addresses

Got IfTable

Got IfDescr

Got IfType

Got IfSpeed

Got IfStatus

Got IfOperStatus

Got IfIndex

159

Page 158: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

los nuevos interfaces de arpa que hay que monitorizar:

Target[arpa.it.uc3m.es.2]: 2:[email protected]

MaxBytes[arpa.it.uc3m.es.2]: 1250000

Title[arpa.it.uc3m.es.2]: arpa (arpa.it.uc3m.es): eth0

PageTop[arpa.it.uc3m.es.2]: <H1>Analisis de Trafico para eth0

 </H1>

 <TABLE>

   <TR><TD>Sistema: </TD><TD>arpa en Not

Configured</TD></TR>

   <TR><TD>Administrador: </TD><TD>Not

Configured</TD></TR>

   <TR><TD>Interfase: </TD><TD>eth0 (2)</TD></TR>

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

(163.117.139.120)</TD></TR>

   <TR><TD>Velocidad Máxima: </TD>

       <TD>1250.0 kBytes/s (Ethernet-Csma/Cd)</TD></TR>

  </TABLE>

Cambiar la variable SNMP.

Por defecto la variable SNMP que se monitoriza es la

correspondiente al tráfico registrado a través de un interfaz

pero es posible monitorizar cualquier otra variable SNMP.

Dentro del fichero de configuración mrtg.cfg la palabra clave

160

Page 159: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

que se emplea para definir que es lo que se va a monitorizar es

Target, su formato es el siguiente:

Target[ id ]:  puerto:comunidad@router

En donde,

id, sería un nombre utilizado como identificador único, este

nombre es el que se utilizara para designar el documento HTML

y los .gif asociados a la variable que se defina mediante Target.

puerto, puerto o interfaz del router que se va a estudiar, por

defecto se monitoriza el tráfico registrado en ese interfaz, pero

como veremos a continuación se puede especificar cualquier

otra variable SNMP.

comunidad, palabra clave que se utilizara para realizar las

consultas vía SNMP.

route, nombre lógico (Ej.: arpa.it.uc3m.es) o dirección IP del

equipo que se quiere monitorizar.

Configuración con cfgmaker.

El comportamiento de la ejecución de MRTG se rige por un

archivo de configuración. El archivo de configuración puede ser

generado mediante el cfgmaker. A continuación se describen

algunas de las opciones de configuración del MRTG.

161

Page 160: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Sintaxis.

El archivo de configuración de MRTG debe las siguientes

reglas:

Las palabras clave deben empezar al comienzo de la

línea.

Las líneas que siguen una línea de palabras clave que

empiezan con un espacio en blanco se añaden a la línea

de la palabra clave

Las líneas vacías se ignoran

Las líneas que comienzan con un signo # son

comentarios.

También puede añadir otros archivos en el archivo de

configuración usado.

Se debe ejecutar el siguiente comando para establecer el

archivo de configuración de MRTG.

Include: base-options.inc

Si se incluyen los archivos especificados con rutas relativas,

tanto el directorio de trabajo actual y el directorio que contiene el

archivo de configuración principal se realizarán búsquedas de los

archivos.

Comandos Globales.

162

Page 161: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

WorkDir: Especifica en donde serán creados los archivos de

seguimientos y las páginas web.

Ejemplo:

WorkDir: /usr/tardis/pub/www/stats/mrtg

HtmlDir: Especifica el directorio los archivos html serán

almacenados.

Ejemplo:

Htmldir: /www/mrtg/

ImageDir: Especifica el directorio en donde serán guardadas las

imágenes.

Ejemplo:

Imagedir: /www/mrtg/images

LogDir: Especifica el directorio en donde serán almacenados los

registros.

Logdir: /www/mrtg/logs

163

Page 162: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

EnableIPv6: Cuando IPv6 se habilita, MRTG puede conversar con

los routers usando SNMP sobre IPv6 y los destinos pueden ser

especificados por direcciones numéricas IPv6, así como por el

hostname o por las direcciones IPv4.

Si IPv6 es habilitado y el destino es un hostname, MRTG resuelve

el hostname a una dirección IPv6 o IPv4.

Para habilitar el IPv6 se debe ejecutar configurar la opción

EnableIPv6 de la siguiente manera:

EnableIPv6: Yes

Refresh: Especifica el número de segundos que deben transcurrir

para que la pagina web sea actualizada.

Ejemplo:

Refresh: 600

Interval: Especifica el número de minutos que deben transcurrir

para ejecutar el llamado a MRTG. Por defecto se toman 5 minutos.

Ejemplo:

Interval: 10

MaxAge: MRTG se basa en gran medida en el reloj en tiempo real

del equipo en el cual está instalado. Se utiliza para especificar la

164

Page 163: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

edad de un registro de seguimiento para que MRTG después de

cierto tiempo no lo tenga en cuenta para actualizarlo.

Ejemplo:

MaxAge: 7200

El ejemplo anterior hará que MRTG se niegue a actualizar los logs

que hayan sido generados hace 2 horas (7200 segundos).

WriteExpires: Con este cambio MRTG generará archivos de

metadatos para los servidores CERN y Apache, que contienen

etiquetas de caducidad los archivos html y gif. Los archivos *.

meta serán creados en el mismo directorio que los demás

archivos, así que usted tendrá que establecer "MetaDir." y

"MetaFiles on" en el apache.conf o .htaccess para que funcione.

NOTA: Si está ejecutando Apache - 1,2 o posterior, puede usar el

mod_expire para lograr el mismo efecto. Ver el archivo

htaccess.txt.

Ejemplo:

WriteExpires: Yes

IconDir: Si se quiere guardar los iconos de MRTG en algún lugar

diferente al lugar de trabajo, se puede hacer uso de la variable

IconDir para especificar el directorio de iconos.

Ejemplo:

165

Page 164: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

IconDir: /mrtgicons/

Language: Permite cambiar el formato de salida de acuerdo al

idioma seleccionado.

Actualmente se pueden elegir los siguientes idiomas:

Búlgaro, Catalán, Checo, Chino, Croata, Danés, Holandés,

Francés, Gallego, Alemán, Griego, Húngaro, Islandés, Indonesia,

Italiano, Coreano, Lituano, Malayo, Noruego, Polaco, Portugués,

Rumano, Ruso, Serbio, Eslovaco, Esloveno, Español, Sueco, Turco,

Ucraniano, Ingles.

Ejemplo:

Language: danish

RunAsDaemon: Permite habilitar la ejecución de MRTG en modo

de operación daemon. El propósito de este modo de operación es

permitir que la ejecución de MRTG sea realizada una sola vez y no

varias veces.

ConversionCode: Algunos dispositivos pueden no producir valores

numéricos que, no obstante, son útiles para graficar con MRTG.

La palabra clave ConversionCode especifica la ruta de un fichero

que contiene código Perl para la realización de tales

conversiones. El código en este archivo debe ser de uno o más

subrutinas Perl. Cada subrutina debe aceptar un único argumento

de tipo cadena, y devuelven un único valor numérico.

166

Page 165: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

9.4 Interfaz Gráfica.

En la siguiente gráfica se puede identificar cuando el flujo

del tráfico se ve obstaculizado durante cierto tiempo (2 horas).

La gráfica que se muestra a continuación permite identificar

cuando el ancho de banda está siendo utilizado en un

porcentaje importante.

En la siguiente gráfica se puede identificar que el ancho de

banda fue utilizado en mayor magnitud un día específico de la

semana.

167

Page 166: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

En la siguiente gráfica que muestra el análisis del tráfico

sobre determinado dispositivo se puede observar lo ocurrido en

los últimos 5 minutos.

En las siguientes gráficas se puede observar el

comportamiento del tráfico en las últimas 2 horas y 30

minutos.

168

Page 167: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

También se puede observar el comportamiento del tráfico de

la red el día anterior.

MRTG permite visualizar la temperatura de cada uno de los

dispositivos que hacen parte de la red sobre la cual se ejecuta.

169

Page 168: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Y al igual que sucede con el análisis del tráfico MRTG permite

visualizar la temperatura en diferentes lapsos de tiempo.

170

Page 169: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

MRTG permite visualizar el flujo de datos que maneja cada

uno de los protocolos de la red, como por ejemplo el UDP,

ICMP, TCP, entre otros.

171

Page 170: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Permite visualizar el flujo de paquetes de cada uno de los

protocolos mencionados anteriormente.

172

Page 171: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Permite establecer con más exactitud los flujos de datos de

entrada y salida por medio de unas tablas especiales, que se

muestran a continuación:

173

Page 172: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

174

Page 173: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

Capítulo 10

10.CONCLUSIONES Y

RECOMENDACIONES

Después de conocer el funcionamiento de cada una de las herramientas de monitoreo se puede establecer una serie de ventajas y desventajas de cada una de las herramientas de acuerdo a diferentes factores, como lo son:

1. Facilidad de instalación.

2. Requerimientos de hardware y software.

3. Complejidad en la configuración.

4. Fácil comprensión de los resultados obtenidos.

5. Idioma.

175

Page 174: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

6. Facilidad de adaptación de nuevas funcionalidades.

Como se pudo ver en los capítulos 7, 8 y 9 cada herramienta tiene un nivel de complejidad ya sea bajo o alto en diferentes aspectos que están relacionados con los factores anteriormente nombrados.

La elección de una u otra herramienta está supeditada a las necesidades e infraestructura con la que cuenta la organización que hará uso la misma. Para poder adoptar cualquiera de las herramientas de monitoreo de red se debe contar con personal capacitado que se encargue de la instalación y configuración de cada herramienta, ya que cómo se pudo ver no es precisamente fácil llevar a cabo dicha tarea.

La importancia de contar con personal idóneo para que se encargue de manipular la herramienta de monitoreo, crece enormemente cuando se desea incorporar nueva funcionalidad que permita tener control sobre algún elemento específico de la red, ya que se debe contar con conocimiento en los lenguajes de programación sobre los cuales fue escrito el código fuente de la aplicación.

Alguna de las herramientas que se exploraron en esta investigación como lo son WireShark y MRTG cuentan con la característica de la transportabilidad, es decir que se pueden ejecutar en diferentes plataformas entre las que están Windows y Linux. Esta característica es muy importante cuando las pequeñas o medianas organizaciones basan toda su infraestructura ya sea en software propietario como el que ofrece Microsoft o en software libre como lo es Linux.

Antes de elegir una herramienta de monitoreo de red el departamento de sistemas o el personal encargado de realizar las

176

Page 175: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

tareas relacionadas con la gestión de la red, deben tener muy claras las necesidades que desean satisfacer.

Sería muy importante poder llevar a cabo la instalación de las herramientas WireShark, Nagios o MRTG en una red real, en la cual se pueda evidenciar con mayor claridad las ventajas que ofrece cada una de las herramientas, ya que en sí la documentación que se encontró en la red sobre el funcionamiento de cada herramienta da un concepto general de lo que permiten realizar pero hay muchas cosas que por tiempo no es posible explorar y que seguramente pueden ser cruciales al momento de tratar de solucionar algún problema presente en la red.

De acuerdo a los criterios establecidos al comienzo de este capítulo, se puede establecer cuál de las tres herramientas WireShark, Nagios o MRTG puede ser escogida para realizar el monitoreo de la red.

Si se busca una herramienta que sea fácil de instalar, que provea facilidad en su manejo y configuración y que además los requerimientos de hardware y software requeridos para su instalación y funcionamiento no sean tan exigentes, WireShark es una buena alternativa. Toda la configuración de la ésta herramienta se hace por medio de un panel de opciones en el cual solo hay que marcar unos botones y establecer unos valores y ya está. Además que no se necesitan instalar servidores web como el Apache que también demanda un tiempo de configuración considerable, teniendo en cuenta el nivel de conocimiento que se tenga sobre este servidor.

177

Page 176: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

WireShark como ya se mencionó en capítulos anteriores es la nueva denominación de la herramienta Ethereal, la cual cuenta con una buena reputación ya que es muy conocida y aceptada por los medios especializados en tecnología. Definitivamente esta herramienta es una muy buena opción para escoger.

Si se quiere monitorear otros aspectos que no sean propiamente el ancho de banda de la red y el flujo del tráfico de paquetes, como la temperatura de los dispositivos de la red, MRTG ofrece esta posibilidad. Eso si se debe tener en cuenta que para la instalación de esta herramienta se debe instalar y configurar correctamente el servidor Apache y un compilador de Perl para compilar las librerías que necesita para su funcionamiento. Sin olvidar que toda la configuración de MRTG se debe realizar por medio de línea de comandos.

Por último está Nagios que es una herramienta muy buena. De hecho goza de una buena reputación como WireShark. Por ser una herramienta que se ejecuta sobre un servidor web también requiere de la configuración del Apache. Su configuración también se realiza por línea de comandos pero tiene menos cantidad de parámetros para su funcionamiento.

11. Bibliografía

WIRESHARK:

http://www.wireshark.org/docs/ Consultada el 20 de Agosto de 2007

http://www.wireshark.org/docs/wsug_html_chunked/ ChapterIntroduction.html#ChIntroWhatIs Consultada el 20 de Agosto de 2007

178

Page 177: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

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

NAGIOS:

http://nagios.sourceforge.net/download/contrib/ documentation/misc/Nagios_spanish.pdf Consultada el 1 de Septiembre de 2007

http://www.nagios.org/ Consultada el 1 de Septiembre de 2007

http://www.nagioscommunity.org/ Consultada el 1 de Septiembre de 2007

MTRG:

http://www.mrtg.jp/en/es_es/ Consultada el 15 de Septiembre de 2007

http://www.it.uc3m.es/goyo/mrtg_doc/ Consultada el 15 de Septiembre de 2007

http://www.ecualug.org/?q=2005/06/23/blog/danmk3/ guia_para_puesta_en_funcionamiento_a_mrtg Consultada el 15 de Septiembre de 2007

THE DUDE:

http://www.mikrotik.com/thedude.php Consultada el 21 de Septiembre de 2007

http://wiki.mikrotik.com/wiki/MikroTik_Dude Consultada el 21 de Septiembre de 2007

NTOP:

179

Page 178: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

http://es.wikipedia.org/wiki/Ntop Consultada el 13 de Septiembre de 2007

http://bulma.net/body.phtml?nIdNoticia=1226 Consultada el 13 de Septiembre de 2007

http://tuxedlinux.wordpress.com/2007/08/23/ntop- monitorizacion-de-red-via-web/ Consultada el 13 de Septiembre de 2007

http://administradores.educarex.es/wiki/index.php/ Ntop_(Administraci%C3%B3n_de_la_Red) Consultada el 14 de Septiembre de 2007

http://www.ntop.org/overview.html Consultada el 14 de Septiembre de 2007

http://www-es.netapp.com/go/techontap/0107tot/ntop.html# Consultada el 14 de Septiembre de 2007

IPTRAF:

http://es.wikipedia.org/wiki/IPTraf#Caracter.C3.ADsticas Consultada el 15 de Septiembre de2007

http://cebu.mozcom.com/riker/iptraf/2.7/manual.html Consultada el 15 de Septiembre de 2007

DANSGUARDIAN:

http://www.linuxespanol.com/ftopic18.php Consultada el 2 1 de Septiembre de 2007

http://eima.sih.cu/doc/Control%20Parental%20con%20Squid, %20DansGuardian%20y%20SARG.htm#Instalaci

180

Page 179: DocumentoFinal PracticaProfesional exploración herramientas de software libre para el monitoreo de redes

%C3%B3n_de_DansGuardian Consultada el 21 de Septiembre de 2007

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

EBOX:

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

181