1. Gestión de redes,
SNMP y RMON
Redes y Servicios II
ETSI Bilbao/DET/Telemática/5º Ing. Telecomunicación
Dani Gutiérrez Porset
Nov 2010
2. Acerca de este documento
●
Licencia de uso
http://creativecommons.org/licenses/by-sa/3.0/
●
Material utilizado:
●
Foto de portada: The Opte Project (cc by-nc-sa 1.0)
●
Logotipos propiedad de sus respectivos dueños
●
Libro "SNMP, SNMPv2, SNMPv3, and RMON 1 and 2" -
William Stallings – Ed. Addison Wesley
●
Apuntes de Marivi Higuero Aperribai
http://opte.org/maps/
2
4. Metodología PDCA
Planificación
Plan
Act Do
Control
Configuración
Check
Monitorización
Supervisión
http://en.wikipedia.org/wiki/PDCA
Introducción 4
5. Acciones y Medidas
Reactivas Proactivas
●
Detección ●
Predicción
●
Corrección ●
Prevención
●
Conocimiento causa ●
De mejora
Introducción 5
6. Situación de partida
●
Necesidad de gestionar nodos de la red
●
Multiplicidad:
●
Redes
●
Dispositivos
●
Fabricantes: protocolos y formatos
Gestión de redes 6
7. Qué es gestionar una red
●
Operaciones:
●
Monitorización
●
Clonado/Instalación de software/firmware
●
Actualización/Parcheo de software/firmware
●
Configuración
●
Inventario de hardware/software
●
Calidad y Seguridad
●
Todo ello de forma automatizada, remota,
masiva, segura
Gestión de redes 7
8. Modelo de gestión de red de OSI
●
Modelo FCAPS :
●
Fault: identificar, aislar, corregir, registrar
●
Configuration: recoger, enviar, registrar cambios
●
Accounting: estadísticas de recursos,
administración de usuarios y permisos
●
Performance: %utilización y disponibilidad, tasas
de error, tiempos de respuesta
●
Security: autenticación, confidencialidad,
autorización
http://en.wikipedia.org/wiki/FCAPS
http://en.wikipedia.org/wiki/Network_management_model
Gestión de redes 8
9. Tipologías de nodos
●
Según capacidades e inteligencia:
Procesamiento
Red
Periféricos
Mix
Gestión de redes 9
10. Solución
●
Interoperabilidad en base a estándares
●
Elementos de información:
●
Significado = semántica
●
Representación = léxico, sintaxis: formatos
●
Intercambio: protocolos de comunicación
●
Estándares "de facto" vs "de iure"
Gestión de redes 10
11. Protocolos estándares de gestión
●
CMIP (Common Management Information
Protocol) y CMOT (CMIP Over TCP/IP):
●
De OSI/ISO
●
Complejos y poco usados
●
SNMP (Simple Network Management
Protocol): Control y Monitorización
●
RMON (Remote Monitor): Monitorización
http://en.wikipedia.org/wiki/Common_management_information_protocol
Gestión de redes 11
12. Software de Gestión
Monitorización
http://en.wikipedia.org/wiki/Network_monitoring_comparison
http://en.wikipedia.org/wiki/Comparison_of_disk_cloning_software
http://en.wikipedia.org/wiki/Comparison_of_open_source_configuration_management_software
http://www.linuxjournal.com/content/readers-choice-awards-2010
Gestión de redes 12
13. Software de Monitorización
sin SNMP
●
Requiere nodos con posibilidad de instalar
software
●
Herramientas:
●
Para pocos equipos, interfaz humano, ej. web
●
Para muchos equipos, automatización:
– "A mano": scripts, cron,...
– Productos:
●
Red: nagios, mon, sysmon, ntop,...
●
Logs: logwatch, oak,... http://www.nagios.org/
https://mon.wiki.kernel.org/
http://www.sysmon.com/
http://www.ntop.org/
http://sourceforge.net/projects/logwatch/
http://www.ktools.org/
Gestión de redes 13
14. SNMP
Simple Network Management Protocol
Sólo 5 comandos en v1, y
otros 2 más en v2, v3
Alcance: Monitorización y Control
en redes centralizadas o distribuidas
Parte del modelo TCP/IP,
definido mediante RFCs del IETF
Pero SNMP no es perfecto !
http://en.wikipedia.org/wiki/Snmp
SNMP 14
15. Historia y Versiones
1988 SNMPv1
RMON 1992 Secure SNMP
1993 SNMPv2
SNMPv2c SNMPv2u SNMPv2*
1998 SNMPv3 Es el estándar actual
(SNMPv1, SNMPv2 obsoletas)
SNMP 15
16. Elementos de la especificación
●
Tipos de nodo:
●
Nodo gestor con software NMS (Network
Management System)
●
Nodo gestionado con software Agente
●
Protocolo
●
Datos:
●
SMI (Structure of Management Information)
●
MIB (Management Information Base)
SNMP 16
17. Tipologías de nodos
●
Según función de gestión:
●
Nodos Gestores
●
Nodos Gestionados mediante agentes
●
Nodos Proxies
Gestión de redes 17
18. Tipos de Nodos: NMS y Agente
NMS (Network management system) Dispositivo gestionado
MIB MIB
Proceso Proceso Proceso
Gestor Agente ...
SNMP SNMP ...
UDP UDP TCP
IPv4, IPv6 IPv4, IPv6
●
Comunicación con los nodos gestionados
●
Interface de Usuario con funcionalidades añadidas
●
MIB resultado de agregar MIBs de nodos gestionados
SNMP 18
19. Tipos de nodos: Proxy
Agente Proxy Dispositivo gestionado
que no habla SNMP
Proceso Proceso Proceso
Agente Proxy XXX
SNMP Protocolo YYY Protocolo YYY
UDP
IPv4, IPv6
SNMP 19
20. Protocolo: SNMP en modelo
TCP/IP
OSI/ISO TCP/IP
7. Aplicación
4. Aplicación SNMP
ASN.1 6. Presentación
5. Sesión
3. Transporte UDP UDP:
4. Transporte ●
Menor tráfico que TCP
●
No confiable, pero se
3. Red 2. Internet envían confirmaciones
en nivel de Aplicación
2. Enlace
1. Enlace
1. Físico
Otros protocolos bajo SNMP:
●
OSI Connectionless Network Service
●
AppleTalk Datagram-Delivery Protocol (DDP)
●
Novell IPX http://en.wikipedia.org/wiki/OSI_model
●
Incluso TCP http://en.wikipedia.org/wiki/TCP/IP_model
SNMP 20
21. Protocolo: Operaciones y
Primitivas
Solicitud de Solicitud de Envío de
Lectura Escritura Información
GetRequest
Síncronas GetNextRequest SetRequest Response
GetBulkRequest
Trap
Asíncronas
InformRequest
SNMPv2
En SNMPv1
se llamaba
GetResponse
De Gestor a Agente
De Agente a Gestor En SNMPv2
En ambos sentidos también puede ir
de agente a agente
SNMP 21
24. Protocolo: seguridad
●
Relación M:N entre agentes y gestores que actúan
sobre los primeros
●
Aspectos de seguridad:
●
Autenticación: quién es el gestor, y cómo verificarlo
●
Acceso: permisos para cada agente sobre
determinados objetos
●
Proxys: implementación de políticas sobre los sistemas
gestionados por un proxy
SNMP 24
25. Protocolo: seguridad
●
Ataques que afectan a todas las versiones:
●
Por fuerza bruta (diccionario), ya que carecen de
mecanismo desafío-respuesta
●
Denegación de servicio
●
Algunos fabricantes no permiten escritura, por
la mala seguridad hasta SNMPv3, o porque sus
dispositivos no son configurables por SNMP
SNMP 25
26. SMI
●
Proporciona un esquema extensible para
representar objetos según una estructura
jerárquica en árbol
●
Versiones: SMIv1, SMIv2
●
Notación: Subconjunto de ASN.1. Ej:
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
http://en.wikipedia.org/wiki/Structure_of_Management_Information
SNMP 26
27. Elementos de la SMI
●
Definición de estructura de base de datos, y de
cada MIB particular
●
Definiciones de objetos, módulos y
notificaciones (traps): tipos, nomenclatura,
sintaxis, reglas de construcción de las MIBs,...
●
Codificación según BER
SNMP 27
28. ASN.1
●
Metalenguaje o Notación que consiste en:
●
Sintaxis, ej.
Asignaciones:
A ::= B
Comentarios:
-- zer astuna den ikasgai hau
●
Reglas para codificar las construcciones a binario
según BER
●
Semejante a compilar un programa desde el
fuente al binario
http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One
http://en.wikipedia.org/wiki/Basic_Encoding_Rules
http://asn1.org/
SNMP 28
29. Árbol de la SMI
No hay un nodo raíz
orden
●
directory: uso futuro para directorio OSI (X.500)
●
management: subárbol para objetos aprobados en el IAB
●
experimental: para pruebas
●
private: para fabricantes específicos
SNMP 29
30. Objetos de la SMI
●
Nodos del árbol: Objetos=nodo o dispositivo a
gestionar, y características/recursos del
mismo.
Ej: Router, con su tabla de conexiones TCP
●
Cada nodo con hijos puede verse como un
grupo
●
El protocolo SNMP:
●
No puede modificar la estructura del árbol
●
Sólo puede gestionar los nodos-hoja
SNMP 30
31. Sintaxis de objetos de la SMI
●
Identificación y Relación con otros objetos
●
Tipo de valores:
●
Por sencillez e interoperabilidad sólo hay escalares y
tablas; no hay otras estructuras complejas
●
SNMP sólo puede leer/escribir tipos escalares
●
Formas posibles (CHOICE)
●
Rango de valores, ej.
SYNTAX INTEGER (0..65535)
●
Permisos de acceso (read-only, read-write,...) y
Obligatoriedad (mandatory, optional)
●
Descripción
SNMP 31
32. Identificación de objetos de la
SMI
●
Identificador único:
●
De tipo OBJECT IDENTIFIER en ASN.1
●
Secuencia de enteros separados por puntos; cada
entero indica los nodos de la rama en la que está
●
A veces, secuencia de nombres correspondientes
Ej:
1.3.6.1.2.1.4
iso.org.dod.internet.mgmt.mib_2.ip
http://www.faqs.org/rfcs/rfc1902.html
SNMP 32
33. Tipos de objetos de la SMI
●
Escalares:
●
4 Universales predefinidos:
– INTEGER: de -231 a 231-1
– OCTET STRING: de 0 a 65535 bytes
– OBJECT IDENTIFIER
– NULL
●
Otros tipos especiales basados en los anteriores,
asociados a la clase APPLICATION.
●
En la SMIv2 hay más tipos
http://www.faqs.org/rfcs/rfc2012.html
SNMP 33
34. Tipos de objetos de la SMI
●
Tipos asociados a APPLICATION class:
●
NetworkAddress: sólo está definida IpAddress
●
IpAddress: 32 bit address
●
Counter: de 0 a 232-1 (4.294.967.295). Su valor sólo
puede incrementarse
●
Gauge: de 0 to 232-1. Su valor puede aumentar o
disminuir
●
TimeTicks: centésimas de segundo desde alguna época
●
Opaque: datos arbitrarios en cualquier formato,
codificados como OCTET STRING
http://www.faqs.org/rfcs/rfc1155.html
SNMP 34
35. Tipos de objetos de la SMI
●
Arrays bidimensionales o tablas mediante:
●
SEQUENCE-OF: todos los elementos de igual tipo
●
SEQUENCE: elementos de igual o distinto tipo
●
Palabra clave INDEX para distinguir filas.
Ej: tabla tcpConnTable
tcpConnState tcpConnLocalAddress tcpConnLocalPort tcpConnRemAddress tcpConnRemPort
listen(2) 0.0.0.0 21 0.0.0.0 0
listen(2) 0.0.0.0 22 0.0.0.0 0
listen(2) 0.0.0.0 25 0.0.0.0 0
listen(2) 0.0.0.0 80 0.0.0.0 0
established(5) 127.0.0.1 1031 127.0.0.1 1030
established(5) 127.0.0.1 1032 127.0.0.1 1033
http://www.faqs.org/rfcs/rfc2012.html
SNMP 35
36. Definición de objetos de la SMI
●
Niveles:
●
Definición de macro, ej. OBJECT-TYPE
●
Instancia de macro para definir tipos
ej. definición del tipo tcpMaxConn mediante la
macro OBJECT-TYPE
●
Valor de instancia de macro, para indicar valores
concretos de una entidad específica
ej. valor de tcpMaxConn para un caso concreto de
conexión TCP
http://www.faqs.org/rfcs/rfc1212.html
http://www.faqs.org/rfcs/rfc2012.html
SNMP 36
37. Módulos de la SMI
●
Especifican grupos de definiciones
relacionadas
●
Tipos:
●
Módulos de MIB, para definir objetos
interrelacionados
●
Sentencias de conformidad, para describir grupos
de objetos que han de cumplir un standard
●
Sentencias de capacidades, que permiten a un
gestor conocer las posibilidades que ofrece un
agente
SNMP 37
38. Software para SMI y ASN.1
●
Ej. implementación: libsmi
En Debian y derivados:
apt-cache search libsmi
apt-cache search ASN.1
SNMP 38
39. MIBs
●
Rama dentro de SMI para un uso concreto
●
Diferencia entre SMI y MIBs:
●
SMI = esquema de definición + árbol general
●
MIBs = subárboles de propósito específico
(semántica+léxico) dentro del árbol general
http://en.wikipedia.org/wiki/Management_information_base
SNMP 39
40. Tipos de MIBs
●
Estándares: mantenidas por IETF o IEEE. Ej:
●
MIB-2: gestión de dispositivos TCP/IP
●
TCP-MIB: específica de TCP
●
Ethernet-MIB
●
Privadas (disminuye la interoperabilidad):
●
El fabricante proporciona texto y/o descripción
formal de la misma para la NMS
●
Problema: 3 versiones; principal: RFC 1212
http://en.wikipedia.org/wiki/Management_information_base
SNMP 40
42. MIB-2
●
Gestión de dispositivos TCP/IP
●
1.3.6.1.2.1 = iso.org.dod.internet.mgmt.mib_2
●
10 nodos = grupos
system(1)
interfaces(2)
at (3) Obsoleto; mantenido por compatibilidad con MIB-1
ip (4)
icmp (5)
tcp (6)
udp (7)
egp (8) Exterior Gateway Protocol (obsoleto)
transmission (10) Datos de nivel de Enlace
snmp (11)
http://en.wikipedia.org/wiki/Exterior_Gateway_Protocol
SNMP 42
43. Condiciones de objetos en MIB-2
●
Que sea esencial para gestión de fallos o
configuración
●
Si es un objeto de control, que sea "no
peligroso"
●
Evidencia de utilización
●
No incluir objetos que se puedan derivar de
otros, para evitar redundancias
●
Excluir objetos específicos, ej. para BSD UNIX
●
Evitar secciones críticas de código con mucho
control (sólo 1 contador)
SNMP 43
44. SNMPv1: PDUs
IP header UDP header SNMP data
SNMP header SNMP PDU
version community
●
version: 1
●
community: para seguridad
GetRequest, GetNextRequest, SetRequest
PDU type request-id 0 0 variable-bindings
GetResponse
PDU type request-id error-status error-index variable-bindings
Trap
PDU type enterprise agent-addr generic-trap specific-trap time-stamp variable-bindings
nombre1 valor1 nombre2 valor2 ... nombreN valorN
SNMPv1 44
45. SNMPv1: PDUs
●
request-id: para correlar peticiones y
respuestas; se usa el mismo valor en ambas
●
error-status, error-index: gestión de errores
●
Notificación:
●
enterprise: tipo de objeto que la genera, según
sysObjectID
●
agent-addr: dirección del objeto que la genera
●
generic-trap, specific-trap: tipos y códigos
●
time-stamp: desde la última reinicialización de la
red. Contiene sysUpTime
SNMPv1 45
46. SNMPv1: PDUs
●
Operaciones:
●
Monitorización con PDUs de lectura (GetRequest,
GetNextRequest, Trap)
●
Control con PDU de escritura (SetRequest).
Permite ejecutar comandos modificando el valor
de algunos objetos específicos
SNMPv1 46
47. SNMPv1: PDUs
●
GetRequest, GetNextRequest y SetRequest:
●
Se confirman con GetResponse
●
Pueden operar sobre más de una variable
●
Son operaciones atómicas: si fallan en alguna
variable no actúan sobre ninguna
●
Trap: no se confirman con GetResponse
SNMPv1 47
48. SNMPv1: PDUs
●
GetNextRequest:
●
Para cada variable se obtiene el siguiente nodo-
hoja de la MIB en orden lexicográfico
●
Permite descubrir la estructura de la MIB de forma
dinámica
SNMPv1 48
49. SNMPv1: Seguridad
●
Concepto de "comunidades": conjunto de
agentes y gestores que actúan sobre los
primeros
●
Aspectos de seguridad:
●
Autenticación basada en el nombre de la
comunidad. Es un password en texto claro que se
comparte, típicamente "public" o "private" por
defecto. Esquema muy pobre.
●
Acceso basado en vistas (MIB view) y modos
(ACCESS MODE ej. read-only)
●
Se combinan ambos en un "community profile"
SNMPv1 49
50. RMON
●
Remote Monitor es una MIB específica para
agentes dedicados a monitorizar información
de red
●
Mejor rendimiento por monitorización red
(versus dispositivo), ej:
Delegar a dispositivos con RMON las
notificaciones de congestión o de falta de
conectividad (si no, todos los dispositivos
mandarían notificaciones)
http://en.wikipedia.org/wiki/Remote_monitoring
RMON 50
51. RMON
●
Se concreta en un software de agente:
●
Que corre en un dispositivo, dedicado o no,
llamado sonda ("probe"). Ej. en un switch
●
Que funciona en modo promiscuo capturando
paquetes
●
Uso típico: un agente RMON en cada
segmento de red
●
Ver MIBs y RFCs en wikipedia
http://en.wikipedia.org/wiki/Remote_monitoring
RMON 51
52. RMON
●
Operaciones:
●
Monitorización mediante tablas de datos:
– Informes de tráfico y estadísticas de errores
– Almacenamiento de paquetes para análisis posteriores
●
Configuración mediante filas en tablas de control
●
Invocación de acciones mediante objetos que
representan comandos, y actúan si cambian de
estado
●
Suelen usarse notificaciones más que polling
RMON 52
53. RMON: MIBs
●
Identificador de la MIB RMON:
iso.org.dod.internet.mgmt.mib-2.rmon
1.3.6.1.2.1.16
●
Versiones:
●
RMON1: orientado a capas física y de enlace, su
MIB define 10 grupos de objetos: estadísticas,
alarmas, filtros, eventos,...
●
RMON2: orientado a capas de red y superiores, su
MIB define otros 10 grupos de objetos
●
En ambos casos no siempre el dispositivo
implementa todos los objetos.
RMON 53
54. RMON: acceso concurrente
●
Problemas potenciales por acceso concurrente
desde distintos gestores:
●
Exceso de la capacidad del monitor
●
Recursos del monitor ocupados/bloqueados
durante periodos de tiempo largos, bien por un
fallo interno o por un gestor externo
RMON 54
55. RMON: acceso concurrente
●
Solución: columna "etiqueta de propiedad" en
las tabla de control:
●
Indica su propietario
●
Read-write para el propietario, Read-only para el
resto
●
Una estación gestora identifica a su
propietario y puede negociar con él la
liberación
●
Un operador puede hacer una liberación
unilateral
RMON 55
56. Secure SNMP
●
Ofrece autenticación y encriptación
●
No es compatible con SNMPv1 porque cambia
el formato de la cabecera:
IP header UDP header SNMP data
SNMP header SNMP PDU
privDst authInfo dstParty srcParty SNMP PDU
Puede ir encriptado
Authentication Info
http://tools.ietf.org/html/rfc1351
Secure SNMP 56
57. SNMPv2
●
Cambios respecto a SNMPv1:
●
Orientación a redes distribuidas, gracias a la
comunicación entre managers (idea basada en RMON)
●
Más eficiencia en tráfico mediante mensajes de
obtención de múltiples valores
●
Seguridad mejorada basada en S-SNMP, pero al ser
muy compleja no se aceptó: SNMPv2 vs SNMPv2c
(c=community)
●
Aparece SMIv2 y una nueva MIB: 1.3.6.1.6
●
Se permite crear y borrar filas en tablas
●
No es compatible con SNMPv1, pero se pueden
emplear proxies y entornos duales
SNMPv2 57
58. SNMPv2: Protocolo
●
Modificaciones respecto a SNMPv1:
●
Cabeceras de los mensajes como en Secure SNMP
●
PDUs:
– Nuevas: GetBulkRequest, InformRequest
– Modificada GetResponse por Response
– Modificada estructura de Trap. Ahora idem GetRequest,
GetNextRequest, SetRequest, Trap, InformRequest:
PDU type request-id 0 0 variable-bindings
– GetRequest, GetNextRequest y SetRequest no son
atómicas, pudiendo actuar sobre algunas (y no todas) las
variables del mensaje
●
Hay tráfico de notificaciones entre NMSs
SNMPv2 58
59. SNMPv2: GetBulkRequest
●
Se usa para minimizar el número de
intercambios necesario para obtener una gran
cantidad de datos.
●
PDU: N M N+R variables
PDU type request-id non-repeaters max-repetitions variable-bindings
●
Para las primeras N (non-repeaters) variables la
operación es idéntica a GetNextRequest PDU,
devolviéndose un único sucesor lexicográfico
●
Para las otras R variables, se devuelven múltiples
(M=max-repetitions) sucesores lexicográficos
SNMPv2 59
61. SNMPv2: InformRequest
●
Semejante al Trap pero requiere confirmación
desde el Manager. Si ésta no se recibe en un
tiempo, se reenvía el InformRequest
●
Criterios:
●
Eficiencia de tráfico y recursos de memoria: Trap
●
Seguridad en recepción: InformRequest
http://www.cisco.com/en/US/docs/ios/11_3/feature/guide/snmpinfm.html
SNMPv2 61
62. SNMPv3
●
Cambios respecto a SNMPv2:
●
Seguridad en:
– Integridad de mensajes
– Confidencialidad, mediante la encriptación de paquetes
– Autenticidad
– Enmascaramiento: UDP es vulnerable a IP spoofing
(cambio de la dirección de origen) para suplantar
dispositivos, y SNMPv3 tiene mecanismos para evitarlo
●
Nuevo framework o arquitectura extensible,
compatible de forma nativa con SNMPv1 y
SNMPv2
●
Nuevas MIBs bajo 1.3.6.1.6
SNMPv3 62
63. SNMPv3: Seguridad
●
Se definen dos capacidades de seguridad:
●
USM (User-based Security Model):
– Proporciona funciones de autenticación y
confidencialidad (encriptación)
– Opera a nivel de mensaje
●
VACM (View-based Acess Control Model):
– Determina si se permite el acceso a los objetos de la MIB
para llevar a cabo diferentes acciones
– Opera a nivel de PDU
SNMPv3 63
64. SNMPv3: Arquitectura
●
Concepto "Entidad SNMP" que puede actuar
como agente, gestor o ambos a la vez, según
los módulos que implemente
●
Esquema en base a dos capas:
●
Una o varias Aplicaciones: capa superior que
genera y recibe PDUs
●
Un Motor: capa inferior que:
– Hace de intermediario para las PDUs de Aplicaciones y
las capas inferiores: versión de SNMP, protocolos,...
– Gestiona la seguridad: autenticación, encriptación y
acceso
SNMPv3 64
65. SNMPv3: Arquitectura
Sólo Gestor Gestor y Agente Sólo Agente
Command generator
Aplicaciones
Comand responder
Notification generator Notification responder
Proxy forwarder
PDU dispatcher
Dispatcher Message dispatcher
Transport
mapping (UDP,..)
Motor
Message processing
subsystem (v1, v2, v3)
Security subsystem Access subsystem
SNMPv3 65
66. SNMPv3: Formato de mensaje
MsgGlobalData Definido y usado por el MsgData
= cabecera modelo de seguridad = ScopedPDU
msg msg msg msg msg msg context context
PDU
Version Id MaxSize Flags SecurityModel SecurityParameters EngineID Name
Generados por el Ámbito de
Modelo usado subsistema encriptación
3 por el emisor de seguridad
Para coordinar
●
Cuándo enviar un “Report PDU”
Si se ha encriptado el mensaje Identificador Se usan las
peticiones
●
Si se ha utilizado autenticación unívoco de una de SNMPv2
y respuestas
●
●
... entidad SNMP
Máximo tamaño de mensaje en bytes
que soporta el emisor del mensaje
SNMPv3 66