Académique Documents
Professionnel Documents
Culture Documents
Redes y Servicios II ETSI Bilbao/DET/Telemtica/5 Ing. Telecomunicacin Dani Gutirrez Porset Nov 2010
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 dueos Libro "SNMP, SNMPv2, SNMPv3, and RMON 1 and 2" William Stallings Ed. Addison Wesley
ndice
Introduccin Gestin de redes SNMP SNMPv1 RMON Secure SNMP SNMPv2 SNMPv3 Software para SNMP
3
Metodologa PDCA
Planificacin Plan
Act
http://en.wikipedia.org/wiki/PDCA
Introduccin
Acciones y Medidas
Reactivas
Deteccin Correccin Conocimiento causa
Proactivas
Prediccin Prevencin De mejora
Introduccin
Operaciones:
Monitorizacin Clonado/Instalacin de software/firmware Actualizacin/Parcheo de software/firmware Configuracin Inventario remoto de hardware/software Calidad y Seguridad
Gestin de redes
Modelo FCAPS :
Fault: identificar, aislar, corregir, registrar Configuration: recoger, enviar, registrar cambios Accounting: estadsticas de recursos, administracin de usuarios y permisos Performance: %utilizacin y disponibilidad, tasas de error, tiempos de respuesta Security: autenticacin, confidencialidad, autorizacin
http://en.wikipedia.org/wiki/FCAPS http://en.wikipedia.org/wiki/Network_management_model
Gestin de redes
Situacin de partida
Gestin de redes
Solucin
Gestin de redes
Tipologas de nodos
Gestin de redes
10
Tipologas de nodos
Gestin de redes
11
SNMP (Simple Network Management Protocol): Control y Monitorizacin RMON (Remote Monitor): Monitorizacin
http://en.wikipedia.org/wiki/Common_management_information_protocol
Gestin de redes
12
Software de Gestin
Monitorizacin
Gestin de redes
13
Para pocos equipos, interfaz humano, ej. web Para muchos equipos, automatizacin:
Gestin de redes
14
SNMP
Simple Network Management Protocol
Slo 5 comandos en v1, y otros 2 ms en v2, v3 Alcance: Monitorizacin y Control en redes centralizadas o distribuidas Parte del modelo TCP/IP, definido mediante RFCs del IETF
http://en.wikipedia.org/wiki/Snmp
15
Elementos de la especificacin
Tipos de nodo:
Nodo gestor con software NMS (Network Management System) Nodo gestionado con software Agente
Protocolo Datos:
SNMP
16
Historia y Versiones
1988 SNMPv1
RMON
1993 SNMPv2
SNMPv2c
SNMPv2u
SNMPv2*
17
Comunicacin con los nodos gestionados Interface de Usuario con funcionalidades aadidas MIB resultado de agregar MIBs de nodos gestionados
SNMP
18
SNMP
19
UDP
UDP: Menor trfico que TCP No confiable, pero se envan confirmaciones en nivel de Aplicacin
http://en.wikipedia.org/wiki/OSI_model http://en.wikipedia.org/wiki/TCP/IP_model
20
SNMP
22
.../UDP
Response
161/UDP
Agente .../UDP
SNMP
23
Protocolo: seguridad
Relacin M:N entre agentes y gestores que actan sobre los primeros. Aspectos de seguridad:
Autenticacin: quin es el gestor, y cmo verificarlo Acceso: permisos para cada agente sobre determinados objetos Proxys: implementacin de polticas sobre los sistemas gestionados por un proxy
SNMP
24
Protocolo: seguridad
Por fuerza bruta (diccionario), ya que carecen de mecanismo desafo-respuesta Denegacin de servicio
Algunos fabricantes no permiten escritura, bien por la mala seguridad hasta SNMPv3 (o porque sus dispositivos no son configurables por SNMP)
SNMP
25
SMI
Proporciona un esquema extensible para representar objetos segn una estructura jerrquica en rbol Diferencia entre SMI y MIBs:
SMI = esquema de definicin + rbol general MIBs = subrboles de propsito especfico (semntica+lxico) dentro del rbol general
http://en.wikipedia.org/wiki/Structure_of_Management_Information
SNMP
26
SMI
Definicin de estructura de base de datos, y de cada MIB particular Definiciones de objetos, mdulos y notificaciones (traps): tipos, nomenclatura, sintaxis, reglas de construccin de las MIBs,... Codificacin segn BER
SNMP
ASN.1
Sintaxis, ej. Asignaciones: A ::= B Comentarios: -- zer astuna den ikasgai hau Reglas para codificar las construcciones a binario segn BER
SNMP
28
rbol de la SMI
No hay un nodo raz
directory: uso futuro para directorio OSI (X.500) management: subrbol para objetos aprobados en el IAB experimental: para pruebas private: para fabricantes especficos
SNMP
29
Objetos de la SMI
Nodos del rbol: Objetos=nodo o dispositivo a gestionar, y caractersticas/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 Slo puede gestionar los nodos-hoja
SNMP
30
Por sencillez e interoperabilidad slo hay escalares y tablas; no hay otras estructuras complejas SNMP slo 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) Descripcin
31
SNMP
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
http://www.faqs.org/rfcs/rfc1902.html
SNMP
32
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 ms tipos
http://www.faqs.org/rfcs/rfc2012.html
SNMP
33
NetworkAddress: slo est definida IpAddress IpAddress: 32 bit address Counter: de 0 a 232-1 (4.294.967.295). Su valor slo puede incrementarse. Gauge: de 0 to 232-1. Su valor puede aumentar o disminuir TimeTicks: centsimas de segundo desde alguna poca Opaque: datos arbitrarios en cualquier formato, codificados como OCTET STRING
http://www.faqs.org/rfcs/rfc1155.html
SNMP
34
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
21 22 25 80 1031 1032
0 0 0 0 1030 1033
http://www.faqs.org/rfcs/rfc2012.html
35
Niveles:
Definicin de macro, ej. OBJECT-TYPE Instancia de macro para definir tipos ej. definicin del tipo tcpMaxConn mediante la macro OBJECT-TYPE Valor de instancia de macro, para indicar valores concretos de una entidad especfica ej. valor de tcpMaxConn para un caso concreto de conexin TCP
http://www.faqs.org/rfcs/rfc1212.html http://www.faqs.org/rfcs/rfc2012.html
SNMP
36
Mdulos de la SMI
Mdulos 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
Ej. implementacin: libsmi En Debian y derivados: apt-cache search libsmi apt-cache search ASN.1
SNMP
38
MIBs
MIB-2: gestin de dispositivos TCP/IP TCP-MIB: especfica de TCP Ethernet-MIB El fabricante proporciona texto y/o descripcin formal de la misma para la NMS Problema: 3 versiones; principal: RFC 1212
http://en.wikipedia.org/wiki/Management_information_base
SNMP
39
Ejs. MIBs
SNMP
40
MIB-2
http://en.wikipedia.org/wiki/Exterior_Gateway_Protocol
SNMP
41
Que sea esencial para gestin de fallos o configuracin Si es un objeto de control, que sea "no peligroso" Evidencia de utilizacin No incluir objetos que se puedan derivar de otros, para evitar redundancias Excluir objetos especficos, ej. para BSD UNIX Evitar secciones crticas de cdigo con mucho control (slo 1 contador)
42
SNMP
SNMPv1: PDUs
IP header UDP header SNMP data SNMP header SNMP PDU version community
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
SNMPv1
valor1
nombre2
valor2
...
nombreN
valorN 43
SNMPv1: PDUs
request-id: para correlar peticiones y respuestas; se usa el mismo valor en ambas error-status, error-index: gestin de errores Notificacin:
enterprise: tipo de objeto que la genera, segn sysObjectID agent-addr: direccin del objeto que la genera generic-trap, specific-trap: tipos y cdigos time-stap: desde la ltima reinicializacin de la red. Contiene sysUpTime
44
SNMPv1
SNMPv1: PDUs
Operaciones:
Monitorizacin con PDUs de lectura (GetRequest, GetNextRequest, Trap) Control con PDU de escritura (SetRequest). Permite ejecutar comandos modificando el valor de algunos objetos especficos
SNMPv1
45
SNMPv1: PDUs
Se confirman con GetResponse Pueden operar sobre ms de una variable Son operaciones atmicas: si fallan en alguna variable no actan sobre ninguna
SNMPv1
46
SNMPv1: PDUs
GetNextRequest:
SNMPv1
47
SNMPv1: Seguridad
Concepto de "comunidades": conjunto de agentes y gestores que actan sobre los primeros. Aspectos de seguridad:
Autenticacin basada en el nombre de la comunidad. Es un password en texto claro que se comparte, tpicamente "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"
48
SNMPv1
RMON
Remote Monitor es una MIB especfica para agentes dedicados a monitorizar informacin de red Mejor rendimiento por monitorizacin red (versus dispositivo), ej: Delegar a dispositivos con RMON las notificaciones de congestin o de falta de conectividad (si no, todos los dispositivos mandaran notificaciones)
http://en.wikipedia.org/wiki/Remote_monitoring
RMON
49
RMON
Que corre en un dispositivo, dedicado o no, llamado sonda ("probe"). Ej. en un switch Que funciona en modo promiscuo capturando paquetes
Uso tpico: un agente RMON en cada segmento de red Ver MIBs y RFCs en wikipedia
http://en.wikipedia.org/wiki/Remote_monitoring
RMON
50
RMON
Operaciones:
Configuracin mediante filas en tablas de control Invocacin de acciones mediante objetos que representan comandos, y actan si cambian de estado
RMON
51
RMON: MIBs
RMON1: orientado a capas fsica y de enlace, su MIB define 10 grupos de objetos: estadsticas, alarmas, filtros, eventos,... RMON2: orientado a capas de red y superiores, su MIB define otros 10 grupos de objetos
RMON
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
53
Una estacin gestora identifica a su propietario y puede negociar con l la liberacin Un operador puede hacer una liberacin unilateral
54
RMON
Secure SNMP
Ofrece autenticacin y encriptacin 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
55
SNMPv2
Orientacin a redes distribuidas, gracias a la comunicacin entre managers (idea basada en RMON) Ms eficiencia en trfico mediante mensajes de obtencin de mltiples 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
SNMPv2
SNMPv2: Protocolo
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 atmicas, pudiendo actuar sobre algunas (y no todas) las variables del mensaje
SNMPv2
SNMPv2: GetBulkRequest
Se usa para minimizar el nmero de intercambios necesario para obtener una gran cantidad de datos. PDU:
PDU type request-id
N
non-repeaters
M
max-repetitions
N+R variables
variable-bindings
Para las primeras N (non-repeaters) variables la operacin es idntica a GetNextRequest PDU, devolvindose un nico sucesor lexicogrfico Para las otras R variables, se devuelven mltiples (M=max-repetitions) sucesores lexicogrficos
SNMPv2
58
SNMPv2: GetBulkRequest
Ej:
Interface-Number 1 2 3
GetBulkRequest:
[ non-repeaters = 1, max-repetitions = 2 ] ( sysUpTime, ipNetToMediaPhysAddress, ipNetToMediaType ) sysUpTime.0 = "123456" ipNetToMediaPhysAddress.1.9.2.3.4 = "000010543210" ipNetToMediaPhysAddress.2.10.0.0.51= "000010012345" ipNetToMediaType.1.9.2.3.4= "dynamic" ipNetToMediaType.2.10.0.0.51= "static"
59
Response:
SNMPv2
SNMPv2: InformRequest
Semejante al Trap pero requiere confirmacin desde el Manager. Si sta no se recibe en un tiempo, se reenva el InformRequest Criterios:
http://www.cisco.com/en/US/docs/ios/11_3/feature/guide/snmpinfm.html
SNMPv2
60
SNMPv3
Seguridad en:
Integridad de mensajes Confidencialidad, mediante la encriptacin de paquetes Autenticidad Enmascaramiento: UDP es vulnerable a IP spoofing (cambio de la direccin 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
61
SNMPv3
SNMPv3: Seguridad
Proporciona funciones de autenticacin y confidencialidad (encriptacin) Opera a nivel de mensaje Determina si se permite el acceso a los objetos de la MIB para llevar a cabo diferentes acciones Opera a nivel de PDU
SNMPv3
62
SNMPv3: Arquitectura
Concepto "Entidad SNMP" que puede actuar como agente, gestor o ambos a la vez, segn los mdulos 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: versin de SNMP, protocolos,... Gestiona la seguridad (autenticacin, encriptacin y acceso)
63
SNMPv3
SNMPv3: Arquitectura
Slo Gestor Aplicaciones
Command generator Notification generator
Gestor y Agente
Slo Agente
Comand responder Notification responder Proxy forwarder
Dispatcher
Motor
Message processing subsystem (v1, v2, v3) Security subsystem Access subsystem
SNMPv3
64
msg Version
msg Id
msg MaxSize
msg Flags
msg SecurityModel
msg SecurityParameters
context EngineID
context Name
PDU
Generados por el Modelo usado subsistema por el emisor de seguridad Cundo enviar un Report PDU Si se ha encriptado el mensaje Si se ha utilizado autenticacin ...
SNMPv3
65
snmpgetnext, snmpwalk -> GetNextRequest snmpset -> SetRequest snmptrap -> Trap
http://www.net-snmp.org/ http://net-snmp.sourceforge.net/wiki/index.php/FAQ
66
Paquetes Ubuntu:
Software bsico de agente (snmpd) y gestor (snmp) Libreras de enlace y runtime para distintos lenguajes: C, java, php, perl, python, ruby Interfaces: consola, consola propia (scli, snimpy), applet de escritorio, cliente grfico, web Programas especficos: cacti, collectd, FusionInventory, mrtg, munin, nagios, netdisco, netwox, zabbix Dispositivos: AP, Cisco, UPS, Otros: scanner, MIBs downloader, gestores de traps, utilidades varias
67
68