NETWORK MANAGEMENT: NTP, SYSLOG, SNMP Y NETFLOW Katherine Bardales Zegarra Universidad Privada del Norte – Campus Campus Trujillo
Resumen: El presente trabajo busca definir y explicar el funcionamiento de la aplicación de los protocolos NTP, SYSLOG, SNMP y NETFLOW utilizados para la administración de redes. Keywords: NTP, SYSLOG, SNMP, NETFLOW 1. INTRODUCCION
En las redes informáticas, la administración de la red se refiere a las actividades, métodos, procedimientos y herramientas que se refieren a la operación, administración, mantenimiento y aprovisionamiento de sistemas en red. Administración de la red es esencial para mandar y las prácticas de control y generalmente se lleva a cabo de un centro de operaciones de red. [1] Mejora la continuidad en la operación de la red con mecanismos adecuados de control y monitoreo, de resolución de problemas y de suministro de recursos. Hace uso eficiente de la red y utilizar mejor los recursos, como por ejemplo, el ancho de banda. Reduce costos por medio del control de gastos y de mejores mecanismos de cobro. Hace la red más segura, protegiéndola contra el acceso no autorizado, haciendo imposible que personas ajenas puedan entender entend er la información que circula en ella. Controla cambios y actualizaciones en la red de modo que ocasionen las menos interrupciones posibles, en el servicio a los usuarios. 2. RESULTADO
2.1. ADMINISTRACION DE REDES: SINCRONIZADOR DE RELOJES DE TIEMPO NTP El Protocolo de Tiempo de Red (NTP) es un protocolo que utiliza la hora universal coordinada (UTC) para sincronizar la hora normal entre un conjunto de servidores y clientes de tiempo distribuidos [2], Este protocolo se ha desarrollado hasta la versión 4, el cual ha sido formalizado en el RFC 1305. Existe también una versión simple del protocolo (SNTP) la cual se encuentra descrita en el RFC 2030. [3] El tiempo es extremadamente importante en los dispositivos de red. Éste es el único marco de referencia que hay entre ellos. Por este motivo es importante mantener
sincronizado el tiempo de la red y poder de así realizar una correlación confiable, teniendo en cuenta los logs 1generados por los dispositivos. [4]
2.1.1. Arquitectura del sistema El protocolo NTP fue diseñado para ser usado por un conjunto de clientes y servidores de tiempo. En éste existe un servidor primario (Stratum 1), el cual debe estar conectado a un reloj de referencia de gran precisión y debe contar con el software necesario para manejar NTP. La idea es que este servidor primario transmita la información del tiempo a otros servidores de tiempo (Stratum 2) quienes, a su vez, deben transmitir la información y sincronizar a otros servidores. Todos los participantes de este esquema deben tener el software requerido para la sincronización por NTP. En NTP, existen dos formas de sincronización. La mencionada anteriormente, en la cual existe un cliente que se sincroniza con un servidor. Este cliente se comporta a su vez como un servidor de otro cliente, y tendrá una numeración de Stratum inmediatamente superior a la de su servidor. En la otra forma, existen dos máquinas que se prestan servicios de sincronización entre sí, es decir, cada máquina se configura para comportarse como cliente o servidor, según el que sea m. En esta configuración los servidores se llaman peers2. La siguiente Figura refleja el esquema jerárquico usado por NTP. Ésta jerarquía puede ser usada hasta 16 niveles. n iveles.
Figura 01. Esquema jerárquico de NTP. [3] 1
Log: registro oficial de eventos durante un rango de tiempo en particular Servidores Peers: Servidores compañeros
2
Coordina el tiempo de eventos de red, lo que ayuda a entender y solucionar la secuencia temporal de los eventos de red. Por ejemplo, los registros de llamadas para usuarios específicos pueden pued en ser correlacionados en una milésima de segundo. Permite comparar los registros de tiempo de diferentes redes, que es esencial para:
Seguimiento de los incidentes de seguridad Análisis de fallas Solución de problemas
Sin sincronización de tiempo precisa entre todas las diversas talas, la salida de depuración, gestión y funciones de AAA en la red, no se puede hacer comparaciones en el tiempo NTP provee p rovee una u na precisión de tiempo de uno o dos milisegundos en LANs, y hasta has ta 10 milisegundos en WANs. Este protocolo trabaja enviando mensajes UDP 3a través del puerto 123.
2.1.2. Configuración NTP en router: En configuración general: Router(config)# ntp broadcastdelay [delayTime] Router(config)# ntp clock-period [delayTime] Router(config)# ntp master [level stratum] Router(config)# ntp server [ip-address] Router(config)# ntp server [ip-address] prefer
ntp broadcastdelay [delayTime] - Este comando especifica el retraso que hay del router al servidor de destino. delayTime valor en el rango de microsegundos 0999999 ntp clock-period [delayTime] - Es un parámetro referente al reloj interno del router y que se va ajustando. ntp master [level stratum] - Indica que es del nivel del stratum ntp server [ip-address] - Servidor de sincronización ntp server [ip-address] prefer - Servidor de sincronización preferido
3
Es un protocolo del nivel de transporte basado en el intercambio de datagramas (Encaps ulamiento de capa 4 Modelo OSI).
2.1.3. Caso de uso: Un caso de uso es en los procedimientos distribuidos ya que dependen de tiempos coordinados para asegurar que las secuencias mandadas van seguidas una de otra. En sistemas distribuidos se usa para reducir la diferencia en el manejo de procesos que se ejecuten en más de una computadora. Como cualquier forma de sincronización presenta desventajas, una de ellas es que al ser una forma centralizada de manejar los datos, en caso de que falle el servidor, la o las computadoras clientes sincronizados pueden fallar igualmente
2.2.ADMINISTRACION DE REDES: MÉTODO DE TRANSPORTE SYSLOG Syslog es un protocolo de red que permite a una máquina enviar notificaciones de eventos a través de redes IP a recolectores de mensajes – también conocidos como servidores Syslog. En otras palabras, una máquina o dispositivo puede configurarse de manera que genere un mensaje Syslog y lo envíe a un servidor Syslog específico ejecutándose en otro ordenador. Syslog es un sistema de logs que se encarga principalmente de la administración de logs4, los cuales son generados por eventos del sistema, por sus programas o por el Kernel. [5] Es común ahora encontrar equipos de redes que pueden generar y enviar mensajes Syslog a equipos configurados con un demonio que los reciba [6], así como ya existen implementaciones para sistemas Windows. El termino Syslog es a menudo utilizado para describir tanto el protocolo para el envío de mensajes, como el programa o librería que envía mensajes Syslog.
2.2.1. Mensaje Syslog Un mensaje Syslog cuenta con tres campos: •
Prioridad: Este campo debe estar compuesto por 3,4 o 5 caracteres y debe estar rodeado de corchetes angulares. Comienza con el carácter “<” seguido de un número, el cual precede del carácter “>”. El código utilizado en esta parte debe ser un ASCII de
7 bits en un campo de 8 bits como está descrito en el RFC 2234. El número encerrado por los corchetes es conocido como la Prioridad, la cual está compuesta por 1,2 o 3 enteros decimales. La Prioridad representa a la vez la Facilidad y Severidad las cuales se encuentran codificadas numéricamente con valores decimales.
4
Los logs son un conjunto de eventos que se almacenan en los dispositivos donde son generados, y contienen información acerca de los sucesos que ocurren en el dispositivo.
En la siguiente tabla se muestran las Facilidades que han sido asignadas, así como sus códigos numéricos: Código Numérico 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Facilidad Mensajes de kernel Mensajes de nivel de usuario Sistema de correo Demonios del sistema Mensaje de seguridad/autorización seguridad/autorización Mensaje generado internamente por syslogd Subsistema de impresora en línea Subsistema de noticias de red Subsistema UUCP Demonio de reloj Mensaje de seguridad/autorizació seguridad/autorización n Demonio FTP Subsistema NTP Auditoria de eventos Alerta de eventos Demonio de reloj Uso local 0 Uso local 1 Uso local 2 Uso local 3 Uso local 4 Uso local 5 Uso local 6 Uso local 7
Tabla 1. Facilidades y su código numérico respectivo Cada Prioridad de mensaje tiene un indicador de Severidad decimal. Estas severidades son descritas en la siguiente tabla: Código Numérico 0 1 2 3 4 5 6 7
Severidad Mensajes de kernel Mensajes de nivel de usuario Sistema de correo Demonios del sistema Mensaje de seguridad/autorización seguridad/autorización Mensaje generado internamente por syslogd Subsistema de impresora en línea Subsistema de noticias de red
Tabla 2.Severidades y su código numérico respectivo El valor de la Prioridad se calcula multiplicando el valor de la Facilidad por 8 y sumándole el valor de la severidad. •
Cabecera: La cabecera contiene dos campos: Tiemstamp y Hostname. El Timestamp va inmediatamente después del último “>” de la prioridad. Éste corresponde a la fecha y hora local del dispositivo que transmite. Éstas se encuentran en formato “Mmm dd hh:mm:ss” donde: - Mmm corresponde al mes. Estos valores pueden ser: Jan, Feb, Mar, etc
- dd representa al día del mes. Si el día es menor a 10 se debe representar con un espacio y el número del día; por ej.: “Aug 7” con 2 espacios entre la g y el 7. - hh:mm:ss esto representa a la hora local. Los valores permitidos para las horas (hh) están entre 00 y 23. Los minutos (mm) y segundos (ss) están entre 00 y 59.
El Hostname corresponde al nombre del dispositivo, la dirección ipv4 o la dirección ipv6. El nombre no debe contener espacios internos ni tampoco el nombre del dominio. Si se utiliza la dirección ipv4, se debe mostrar en la notación decimal con puntos como se usa en STD 13. Si se s e usa la dirección ipv6, se puede usar cualquier representación válida usada en RFC 2373. •
Mensaje. El mensaje tiene 2 campos. Etiqueta y Contenido. El primero representa el nombre del programa o proceso que generó el evento. La etiqueta no debe exceder a 32 caracteres. El contenido es libre de utilización y contiene los detalles del mensaje A raíz de que cada proceso, programa, aplicación y sistema operativo fue escrito de manera independiente, hay poca uniformidad en el contenido de los mensajes syslog. El protocolo está diseñado simplemente para transportar esos mensajes de eventos. En todos los casos, existe un dispositivo que origina el mensaje. El proceso syslog en la máquina puede enviar el mensaje syslog a un recolector. Sin embargo, no se hace ningún reconocimiento del recibo del mensaje. [7]
2.2.2. Características de Syslog El programa Syslog provee una plataforma estandarizada, bajo la cual programas (tanto sistemas operativos como aplicaciones) pueden publicar mensajes para que sean tratados por ninguna, cualquiera, o todas las acciones siguientes, basado en la configuración de Syslog: [8] • Guardar
en un archivo (p.e. /var/adm/messages) o dispositivo (p.e. /dev/console) • Enviar directamente a un usuario o usuarios si han iniciado sesión (p.e. root) • Reenviar a otro equipo (p.e. @loghost) Configurar un servidor Syslog en una red es algo relativamente sencillo, sin embargo, los principales problemas que tiene Syslog son los siguientes: • Syslog utiliza el protocolo UDP, ya que este protocolo es no orientado a
conexión, no se asegura que los mensajes lleguen al destinatario. • Los mensajes no están cifrados y al viajar por la red como texto plano son susceptibles a ser vistos por personas no autorizadas, por ejemplo un sniffer 5. • Cualquier persona puede dirigir mensajes de una naturaleza maliciosa, sin ninguna autenticación de quien es el remitente. Esto puede concluir en ataques 5
Es un programa informático de captura de las tramas de una red de computadoras, así como la actividad realizada en un determinado ordenador.
de denegación de servicio y puede permitir que un atacante distraiga al administrador con mensajes falsos para no llamar la atención con su ataque. Por este motivo se han desarrollado alternativas basadas en syslog para aprovechar la funcionalidad que este provee, de una manera más confíale.
2.2.3. Casos de uso: Es útil registrar, por ejemplo: - Un intento de acceso con contraseña equivocada - Un acceso correcto al sistema - Anomalías: variaciones en el funcionamiento normal del sistema - Alertas cuando ocurre alguna condición especial - Información sobre las actividades del sistema operativo - Errores del hardware o el software - También es posible registrar el funcionamiento normal de los programas; por ejemplo, guardar cada acceso que se hace a un servidor web, aunque esto suele estar separado del resto de alertas
2.3.ADMINISTRACIÓN DE REDES: PROTOCOLO SNMP Simple Network Management Protocol (SNMP) es un protocolo estándar de Internet para la gestión de dispositivos en IP de redes. Los dispositivos que normalmente soportan SNMP incluyen routers, switches, servidores, estaciones de trabajo, impresoras, bastidores de módem y mucho más. SNMP utiliza el protocolo de datagramas de usuario (UDP) y no se limita necesariamente a TCP / IP redes.
2.3.1. Arquitectura de una red SNMP Una red SNMP consiste de 3 componentes principales:
- Recursos administrados: Un recurso administrado es un nodo en la red SNMP y contiene al agente SNMP. - Agentes: El NMS crea una conexión virtual hacia el agente SNMP. - Sistemas de administración de red (NMS): EL agente provee de información al NMS sobre su estado en la red. 2.3.2. SNMP sirve para: - Configurar dispositivos remotos. La información de configuración puede enviarse a cada host conectado a la red desde el sistema de administración.
- Supervisar el rendimiento de la red. Puede hacer un seguimiento de la velocidad de procesamiento y el rendimiento de la red, y recopilar información acerca de las transmisiones de datos. - Detectar errores en la red o accesos inadecuados. Puede configurar las alarmas que se desencadenarán en los dispositivos de red cuando se produzcan ciertos sucesos. Cuando se dispara una alarma, el dispositivo envía un mensaje de suceso al sistema de administración. - Auditar el uso de la red. Puede supervisar el uso general de la red para identificar el acceso de un grupo o usuario (por ejemplo cuando entra "root"), y los tipos de uso de servicios y dispositivos de la red. Puede utilizar esta información para generar una facturación directa de las cuentas o para justificar los costes actuales de la red y los gastos planeados. 2.3.3. Configuración de SNMP en router: Lo primero que se hace es definir una comunidad: Router(config)# snmp-server community nombre_vista ] [ro | rw] [número_de_acl [número_de_acl]]
nombre_comunidad
[view
En el caso de que se quisiera hacer que el agente envíe interrupciones o informes a un host, deberemos configurar los siguientes comandos: Router(config)# snmp-server host NombreHost host NombreHost [traps [traps | informs] [version {1 | 2c | 3 [auth | noauth | priv]} ] NombreComunidad ] NombreComunidad [udp-port numero_puerto numero_puerto]] [tipo_notificación tipo_notificación]] Con NombreHost identificamos su nombre o su dirección IP. Si no se especifica los datos opcionales enviará por defecto traps. El puerto a donde irán dirigidas las notificaciones será el 162 de UDP y las notificaciones serán de todos los tipos.
2.3.4. Caso de uso: SNMP se utiliza sobre todo en los sistemas de gestión de red para monitorear los dispositivos conectados a la red para condiciones que requieren atención administrativa.
2.4.ADMINISTRACION DE REDES: PROTOCOLO NETFLOW NetFlow es un protocolo de red desarrollado por Cisco Systems soportado en la actualidad por todas las líneas de switches y routers Cisco para recolectar información sobre tráfico IP. Este protocolo permite a los dispositivos recolectar información referida a todo tráfico que atraviesa los enlaces y enviar la información referida a ese tráfico utilizando UDP a un dispositivo que recibe la denominación de NetFlow Collector. [9] Entre las aplicaciones posibles de NetFlow se pueden contar el monitoreo de la red, el monitoreo de aplicaciones específicas, el monitoreo de usuarios, el planeamiento de actualizaciones o modificaciones de la red, el análisis de seguridad, etc.
2.4.1. Flujo (flow) Es una cadena unidireccional de paquetes entre una determinada fuente y un destino, ambos definidos por una dirección IP de la capa de red y también por números de puertos origen y destino en la capa de transporte Un flujo está definido por los siguientes campos: 1. Dirección IP de origen 2. Dirección IP de destino 3. Puerto de origen TCP 4. Destino puerto TCP 5. Protocolo IP
2.4.2. Componentes en la arquitectura de Netflow Se distinguen tres componentes básicos en toda monitorización/análisis de tráfico basada en esta tecnología:
arquitectura
de
-
Exportador. Router o switch capaz de generar registros NetFlow, que se exportarán a un colector vía UDP.
-
Colector. Dispositivo que escucha en un puerto UDP determinado, y que es capaz de almacenar o reenviar los flujos recibidos a otros colectores según la arquitectura definida.
-
Analizador. Encargado de filtrar, mostrar, analizar y/o visualizar los flujos recibidos.
Figura 2: Arquitectura Netflow
2.4.3. Funcionamiento:
Los routers exportan la información de los flujos mediante Netflow a un sistema de colectores. Las tramas se exportan vía UDP. Las tramas son típicamente de 1500 bytes y cada una contiene información de entre 20 y 50 flujos
2.4.4. Configuración NetFlow en router Cisco: [10] En la configuración global: Router(config)# ip route-cache flow Router(config)# ip flow-export source loopback [id-process] Router(config)# ip flow-export destination [ip-address | hostname] [udp-port] Para cada interfaz a monitorizar: Router(config)# interface FastEthernet [type-interface] Router(config-if)# ip route-cache flow Para ver las configuraciones: Router# show ip flow export Router# show ip cache flow
2.4.5. Principales Beneficios de Netflow
Monitoreo de la Red: con técnicas de análisis de flujo Monitoreo de Aplicaciones: para planificar, entender nuevos servicios, y distribuir recursos y aplicaciones en la red Monitoreo de Usuarios: para revisar de forma efectiva la utilización de los recursos por parte de los usuarios Planificación de la Red: para anticiparse a los crecimientos de la red, ya sea en dispositivos, puertos y ancho de banda. Análisis de seguridad: con el fin de detectar anomalías en el tráfico de la red Contabilidad y la Facturación: debido a sus detalladas estadísticas
3. CONCLUSIÓN
La administración de redes consiste en la planeación, organización y control de todas las actividades que envuelven el funcionamiento de los datos, enfocadas a mantener una red eficiente. Para que esto se lleve a cabo es necesario realizar actividades fundamentales como la configuración y seguridad en la red. Dichas actividades se logra gracias a la implementación de protocolos, para la sincronización de tiempo (NTP), notificaciones de eventos (Syslog), para la gestión de los dispositivos IP (SNTP), como detectar errores, supervisar o auditar el uso de la red, y para la recolección de información de tráfico (NetFlow). Logrando de esta manera la eficiencia de una red.
4. BIBLIOGRAFIA [1] Cleamm, A. (2006) “Network Management Fundamentals”. Extraído el 19/05/2014, de
http://www.ciscopress.com/store/network-management-fundamentals-9781587201370# [2] Mills, D. “ Network Time Protocol Version 3 Specification, Implementation and Analysis”, 1992 [3] ArCert. (2006) “Instalación y configuración
de NTP”. Extraído el 19/05/2014, de
http://www.arcert.gov.ar [4] Akin, T. (2002). “Hardening Cisco Routers”. Extraído el
19/05/2014, de
http://www.oreilly.com/catalog/hardcisco/chapter/ch10.html [5] Torres, J., Rondón, R.(2003) “Control, Administración E Integridad De Logs”. Extraído
el 22/05/2014, de http://www.criptored.upm.es/guiateoria/gt_m248h.htm [6] Babbin, J. “Security Log Management. Identifying Pattenrs in the Chaos”. Syngress
Publishing, Inc. 2006 Lonvick, C. (2001). “The BSD Syslog Protocol, RFC 3164”. Extraído el 26/05/2014, de http://www.ietf.org/rfc/rfc3164.txt
[7]
[8] Pitt, D. (2000), Log Consolidation with syslog. Extraído el 27/05/2014, de
http://www.giac.org/practical/gsec/Donald_Pitts_GSEC.pdf [9] Jackson, C. “Network Security Auditing”. Cisco Press, 2010
Fry, C., Nystrom, M. (2009) “Segurity Monitoring ”.Extraído el 29/05/2014, de http://books.google.com.pe/books?id=v http://books.go ogle.com.pe/books?id=vJYCZFTdfd0C&pg JYCZFTdfd0C&pg=PA46&dq=%22netflow%22&h =PA46&dq=%22netflow%22&hl=es&sa l=es&sa =X&ei=qR2NU7_4E6nIsAS94IEY&ved=0CEIQ6AEw =X&ei=qR2NU7_4E6nI sAS94IEY&ved=0CEIQ6AEwAg#v=onepage&q=%22n Ag#v=onepage&q=%22netflow%22&f=fals etflow%22&f=fals e
[10]