50
SNMP 1 SNMP Simple Network Management Protocol

SNMP

Embed Size (px)

Citation preview

Page 1: SNMP

SNMP 1

SNMP

Simple Network Management Protocol

Page 2: SNMP

SNMP 2

Administración de la redISO divide la administración de la red en cinco partes

que se definen dentro del Modelo OSI:

• Administración de la contabilidad: Proporciona información sobre costos y los usos contables.

• Administración de la configuración: Administra la configuración real de la red.

• Administración de fallos: Detecta, aísla y corrige los fallos, incluyendo el mantenimiento de un registro y un diagnóstico de los errores.

• Administración del desempeño (prestaciones): Mantiene una eficiencia y un desempeño máximos, incluyendo la recopilación de estadísticas y el mantenimiento de registros para definir un “baseline”

• Administración de la seguridad: Mantiene un sistema seguro y administra el acceso.

Page 3: SNMP

SNMP 3

Administración en TCP/IPEl Comité Asesor de Internet (Internet Advisory Board, IAB) ha

elaborado o adoptado varias normas para la administración de la red. En su mayoría, éstas se han diseñado específicamente para ajustarse a los requisitos de TCP/IP, aunque cuando es posible cumplen con la arquitectura OSI. Para cubrir dichas necesidades se han creado dos protocolos, ambos con funcionalidades parecidas:

1.- SNMP: Simple Network Management Protocol

2.- TCP/IP(CMOT): Common Management Information Services and Protocol Over TCP/IP. Una norma para TCP/IP y para la administración OSI. – Servicios Comunes de Información sobre la Administración

(Common Management Information Services, CMIS)– Protocolo Común de Información sobre la Administración (Common

Management Information Protocol, CMIP)

Page 4: SNMP

SNMP 4

SNMPProtocolo de nivel de aplicación para administrar (consulta

u otras operaciones) de diferentes dispositivos (routers, switches, hubs, hosts, modems, impresoras, etc).

Cada equipo conectado a la red ejecuta unos procesos (agentes).

Dichos procesos van actualizando variables (manteniendo históricos) en una base de datos.

Por ejemplo, en el caso de:- un router: interfaces activos, la velocidad de sus enlaces serie,

número de errores, bytes emitidos, bytes recibidos, ...- en una impresora: que se terminó el papel, ... - en un modem: la pérdida de conexión, …- en un switch: bocas conectadas, desconectar un boca en el caso

de IPs duplicadas, si la máquina está infectada de virus, etc

Page 5: SNMP

SNMP 5

SNMP: funcionamientoLa forma normal de uso del SNMP es el sondeo (pooling):1.- Pregunta: la estación administradora envía una solicitud

a un agente (proceso que atiende petición SNMP) pidiéndole información o mandándole actualizar su estado de cierta manera.

2.- Respuesta: la información recibida del agente es la respuesta o la confirmación a la acción solicitada.

Problema: incremento con los nodos administrados y puede llegar a perjudicar el rendimiento de la red

Método Interrupción (trap): un agente manda la información al nodo administrador puntualmente, ante una situación predeterminada (por ejemplo una anomalía detectada en la red)

Page 6: SNMP

SNMP 6

SNMP: protocolos

SNMP es independiente del protocolo (IPX de SPX/IPX de Novell, IP con UDP)

SNMP se puede implementar usando comunicaciones UDP o TCP, pero se suelen usar comunicaciones UDP en la mayoría de los casos. Con UDP, el protocolo SNMP se implementa utilizando los puertos 161 y 162.

• puerto 161 se utiliza para las transmisiones tipo sondeo

• puerto 162 se utiliza para los mensajes de tipo “trap” o interrupción.

Page 7: SNMP

SNMP 7

SNMP

PROTOCOLOS de ACCESO al MEDIO

IP

TCP UDP

HTTP SMTP RPC DNS

FTP

TelnetTelnet

NFS

XDR

RPC

ASN1

Pila de protocolos en SNMP

Page 8: SNMP

SNMP 8

ASN.1

Notación Sintáctica Abstracta Uno

Norma para representar datos independiente de la máquina que los reciba o use

Describe estructuras de datos para representación, codificación, transmisión y decodificación

Page 9: SNMP

SNMP 9

Ejemplo ASN.1

BoeCertificate ::= SIGNED {BoeCertificationData, PrivateSignatureKey}BoeCertificationData ::= SEQUENCE {entityId EntityId,entityRole EntityRole,entityName Text OPTIONAL,publicKey Key,signatoryId EntityId,signatoryName Text OPTIONAL,signatoryRole EntityRole,date GeneralizedDateTime ,validThru GeneralizedDateTime}

Page 10: SNMP

SNMP 10

Ejemplo ASN.1. Implementación clase en Java

package es.uv.robotica.eri.asymmetrical.common; import es.uv.robotica.asn1.per.ASN1;import es.uv.robotica.asn1.per.SEQUENCE;

public class BoeCertificationData extends SEQUENCE{private EntityId entityId;private EntityRole entityRole;private Text entityName; // OPTIONAL private Key publicKey;private EntityId signatoryId;private Text signatoryName; //OPTIONALprivate EntityRole signatoryRole;private GeneralizedDateTime date;private GeneralizedDateTime validThru;

public BoeCertificationData() {this.vector = new ASN1[9]; }

public EntityId getEntityId() { return entityId; }

…….}

Page 11: SNMP

SNMP 11

Page 12: SNMP

SNMP 12

Elementos de la arquitectura SNMP (1/2)

• Nodos administrados que ejecutan agentes SNMP (procesos, daemons, …)

• Estación administradora o consola de administración encargados de hacer el pooling o recibir el trap de los agentes

mantienen una base de datos MIB con formato SMI

Page 13: SNMP

SNMP 13

Elementos de la arquitectura SNMP (2/2)

- SMI Structure of Management Information (estructura de la base de datos MIB) Nombre o OID (identificador de objetos) Tipo y Sintaxis

Subconjunto de ASN.1 usado para SNMP. Forma de definir los objetos gestionados usando una sintaxis especial

- MIB Management Information Base. Base de datos relacional (organizada por objetos o variables y sus atributos o valores) que contiene información del estado de un nodo administrado y es actualizada por los agentes SNMP. Un subconjunto es el MIB-2 (información común soportada

por todos los dispositivos)

Page 14: SNMP

SNMP 14

SMI: Structure of Management Information

Estructura en forma de árbol global para la información de administración, convenciones, sintaxis y las reglas para la construcción de MIBs.

Ejemplo de grupos de variables en MIB-2:System (objetos que permiten operar el sistema)IP (contador de paquetes, fragmentación)ICMP (contador de cada tipo de mensaje ICMP)TCP (conexiones abiertas TCP)UDP (estadísticas UDP)Interfaces (estado de interfaces)

Page 15: SNMP

SNMP 15

Ejemplo de SMI para acceder a Mib_2.Interfaces

ccitt (0) iso (1)iso (1) itu (2) Joing-iso-ccitt (3)

...

Standard (0) Registration -auth (1) Member-body (2) Org (3)Org (3)

... (0) DoD (6)DoD (6)

...... (0) Internet (1)Internet (1)

...Directory (1) Experimental (3) private (4)Mgmt (Mgmt (2)

...... (0) Mib_2 (1)Mib_2 (1)

System (1) Addr-translation (3)Interfaces (2)Interfaces (2) ...

Page 16: SNMP

SNMP 16

Subárboles de la MIB-2

Page 17: SNMP

SNMP 17

Ejemplos de variables junto con su grupo en MIB-2

 iso.org.dod.internet.mgmt.mib_2.grupo.variable.puerto

grupo variable significadosystem sysUpTime Tiempo desde el último arranque

interfaces ifNumber Número de interfaces de red

interfaces ifInErrors Número de paquetes entrantes en los que el agente ha encontrado error

ip ipInReceives Número de paquetes recibidos

icmp icmpInEchos Número de solicitudes de Echo ICMP recibidas

tcp tcpInSegs Número de paquetes TCP recibidos

udp udpInDatagrams Número de datagramas UDP recibidos

Todas las variables en RFC-1213

Page 18: SNMP

SNMP 18

Ejemplo de codificación de objetos según SMI

iso.org.dod.internet.mgmt.mib_2.interfaces

o su equivalente .1.3.6.1.2.1.2 Este formato para la representación de

variables puede ser expresadas tanto en ASCII como números separados por puntos, en una notación conocida como OID (Object Identifier) o descriptor.

Así sucesivamente hasta especificar la variable (u objeto) y el puerto a consultar.  

Page 19: SNMP

SNMP 19

SNMP: comandos básicos

• OBTENER (GET), que implica que la consola de administración recupera datos del agente

• COLOCAR (SET), que implica que la consola de administración establece los valores de los objetos en el agente

• CAPTURAR (TRAP), que implica que el agente notifica a la consola de administración acerca de los sucesos de importancia por interrupción

Page 20: SNMP

SNMP 20

Ejemplo funcionamiento protocolo SNMP

REDREDINTERNAINTERNA

?

??

Page 21: SNMP

SNMP 21

Ejemplo funcionamiento protocolo SNMP

REDREDINTERNAINTERNA

Page 22: SNMP

SNMP 22

SNMP: VersionesVersión 1: La seguridad se basa en comunidades (que usan passwords

comunes sobre texto plano) que permiten usar dispositivos si se conoce el password. Se puede explotar for fuerza bruta.A pesar de que es la versión inicial es la que se distribuye en muchos equipos.

Versión 2: Reduce la carga de tráfico adicional para la monitorización (con uso de GetBulk e Informs) y soluciona los problemas de monitorización remota o distribuida (con las sondas RMON).SNMPv2 puede leer SNMPv1.

Versión 3: Para evitar la falta de seguridad en las transmisiones (con cifrado y autenticación), proporciona una capa o parche complemento a SNMPv1 y v2, que añade a los mensajes SNMP (v1 y v2) una cabecera adicional.

Si no se dispone de seguridad suficiente, con carácter general es aconsejable deshabilitar la ejecución de comandos SET.

Page 23: SNMP

SNMP 23

Obtención de información

??

Consulta/Solicitud de variable: GET REQUESTGET REQUEST GET NEXT REQUESTGET NEXT REQUEST GET BULK (SNMP v.2)GET BULK (SNMP v.2)

ESTACIÓN ESTACIÓN ADMINISTRADORAADMINISTRADORA

NODONODOADMINISTRADOADMINISTRADO

Software:Software:• NetFlow• CiscoWorks• HP OpenView

Respuesta a solicitud: GET RESPONSEGET RESPONSE

UDP 161UDP 161 UDP 161UDP 161

AGENTEAGENTE

MIBMIB

??

Page 24: SNMP

SNMP 24

Modificación de información

!!Modificación de valor de variable: SET REQUESTSET REQUEST SET NEXT REQUESTSET NEXT REQUEST

ESTACIÓN ESTACIÓN ADMINISTRADORAADMINISTRADORA

NODONODOADMINISTRADOADMINISTRADO

Software:Software:• NetFlow• CiscoWorks• HP OpenView

EJEMPLOEJEMPLO: Se puede usar para resetear el valor de los contadores, como el número de paquetes procesados.

AGENTEAGENTE

MIBMIB

UDP 161UDP 161!!UDP 161UDP 161

Respuesta a solicitud: GET RESPONSEGET RESPONSE

Page 25: SNMP

SNMP 25

Generación de interrupciones

Un Agente informa de un evento: TRAPTRAP

ESTACIÓN ESTACIÓN ADMINISTRADORAADMINISTRADORA

NODONODOADMINISTRADOADMINISTRADO

Software:Software:• NetFlow• CiscoWorks• HP OpenView EJEMPLOEJEMPLO: El Agente de un router

informa de que un enlace ha caído.

AGENTEAGENTE

MIBMIB

UDP 162UDP 162

Page 26: SNMP

SNMP 26

PRIMITIVASPRIMITIVAS

Operaciones SNMP

1. GET REQUEST2. GET NEXT REQUEST3. GET BULK (en SNMP v2)4. SET REQUEST y SET NEXT REQUEST5. GET RESPONSE6. TRAP7. INFORM (en SNMP v2)8. NOTIFICATION (en SNMP v2)9. REPORT (en SNMP v2)

Implementación en Linux:snmpgetsnmpwalk (get next)snmpsetsnmptrap

Page 27: SNMP

SNMP 27

PRIMITIVAS (1/2)PRIMITIVAS (1/2)

GET REQUESTSolicita (y se recoge en la contestación) el valor de un objeto (o variable)

GET NEXT REQUESTSolicita el siguiente atributo de un objeto una vez se ha usado el anterior.Se usa para recorrer una tabla

GET BULK (en SNMP v2)Lo mismo que el anterior pero más eficiente ya que en una sola petición se trae todos los valores de la tabla

SET REQUEST (y SET NEXT REQUEST)Solicita modificar el valor de un objeto

Page 28: SNMP

SNMP 28

PRIMITIVAS (2/2PRIMITIVAS (2/2))

GET RESPONSERespuesta del agente con los valores solicitadosEs la respuesta de un agente ante un Get o Set request

TRAPMensaje generado por agente para informar de ciertas situaciones (alertas)

INFORM, NOTIFICATION, REPORT (en SNMP v2)Mensajes de un dispositivo administrado a otros dispositivos para intercambiar información, errores, confirmaciones, etc.

Page 29: SNMP

SNMP 29

Page 30: SNMP

SNMP 30

Ejemplo de consulta SNMP (snmpget) (1/2)

snmpget dominio comunidad OIDdominio es la dirección IP de la máquina donde nos vamos a conectar

comunidad “public” cuando queremos leer algo

OID “Object Identifier” de lo que queremos leer

snmpget 147.156.1.1 public iso.org.dod.internet.mgmt.mib_2.ip.ipDefaultTTL

snmpget 147.156.1.1 public 1.3.6.1.2.1.ip.ipDefaultTTL

Page 31: SNMP

SNMP 31

Ejemplo de consulta SNMP (snmpget) (2/2)

Calculo de la utilización de un interface

es decir la relación de entre bytes recibidos y enviados en un interfaz

Las variables a procesar son ifInOctets, ifOutOctets, sobre el puerto correspondiente de un router.

 snmpget IP_router public 1.3.6.1.2.1.2.ifInOctects.1snmpget IP_router public 1.3.6.1.2.1.2.ifOutOctects.1

Page 32: SNMP

SNMP 32

Monitorización inteligenteEjemplo 1:

Mediante SNMP, un router puede reportar un incremento de la carga cada 10 %.

“Si utiliza un sondeo dirigido por interrupción y se conoce la carga del sondeo regular, puede dar instrucciones al router para enviar una interrupción cuando se experimente un incremento significativo en la carga,10%”

Después de recibir un mensaje de interrupción, el servidor puede seguir sondeando al dispositivo para mayores detalles.

Ejemplo 2:

Otro caso de configuración, cuando el router de salida con acceso a Rediris tiene tráfico de salida superior a 34 Mbps, que mande al administrador de la red notificación o alerta

Page 33: SNMP

SNMP 33

Problema: SNMP y congestiónLa monitorización se realiza por la propia red, por

tanto si la red está congestionada, puede conllevar más problemas.

Si existe una fallo general en cualquier parte de la red (p.ej fallo de la corriente eléctrica), cada dispositivo administrado por SNMP tratará de enviar al mismo tiempo, mensajes controlados por interrupción hacia el servidor, para reportar el problema. Esto puede congestionar la red y producir una información errónea en el servidor.

Page 34: SNMP

SNMP 34

Otras redes, otros segmentosComentario a la monitorización

SNMP gestiona dispositivos individuales, pero no permite diagnosticar fallos en una red remota u otro segmento de red.

Para ello, el software de monitorización debe trasladarse a cada segmento de red.

Esto se puede resolver mediante el uso de agentes en los segmentos remotos de red, utilizando equipos especiales o bien ordenadores de propósito general, llamados sondas RMON (Remote MONitor)

Page 35: SNMP

SNMP 35

RMON Remote Monitor (1/2)Una de las mejoras principales de SNMP se denomina Monitoreo Remoto

(RMON).

Las extensiones de RMON a SNMP brindan la capacidad para observar la red como un todo, en contraste con el análisis de dispositivos individuales, declarándose para ello una MIB especial para guardar información de monitorización de un segmento de red diferente.

La MIB asociada es 1.3.6.1.2.1.16

Las sondas RMON recopilan información y tiene la misma función que un agente SNMP, transmitiendo la información periódicamente. Además, pueden procesar la información a enviar a la estación de administrador.

Una forma de trabajar puede ser poniendo las sondas RMON en cada segmento de la red que se quiere monitorizar (pueden introducirse en un host, en un switch, en un router u otro dispositivo específico). Además, permite añadir redundancia a la administración de la red, ya que RMON permite volcar los datos a varias consolas de administración.

Page 36: SNMP

SNMP 36

RMON Remote Monitor (2/2)RMON1 trabaja en las capas 1 y 2

Envía a la estación administradora información de una red entera (LAN o WAN) a nivel de capas 1 y 2

RMON2 trabaja en las capas 3 y superiores

Proporciona información a nivel de red y de aplicación.

Page 37: SNMP

SNMP 37

Funcionamiento de RMON

Gestor Gestor RMONRMON

Gestor Gestor RMONRMONcentralcentral

Inform RequestInform Request

ResponseResponse

REDREDINTERNAINTERNA

Page 38: SNMP

SNMP 38

MIBs de RMON1

1.- Statistics. Estadística en tiempo real de una LAN (utilización, colisiones, errores CRC, …) 2.- History. Histórico de la estadística3.- Alarm. Definiciones de Traps4.- Hosts. Estadísticas de un host específico de la LAN (bytes enviados/recibidos, …)5.- Hosts top N. Registro de las conexiones “top N” más activas en un periodo de tiempo6.- Matrix. Matriz de tráfico enviado/recibido entre sistemas7.- Filter. Filtrar según ciertos patrones (direcciones MAC, puertos TCP8.- Capture. Recoge paquetes que cumplen el filtro9. Event. Envía alarmas (SNMP traps)10.- Token Ring. Extensiones para Token Ring

Page 39: SNMP

SNMP 39

MIBs de RMON2

1.- Protocol Directory. Lista de protocolos que se puede monitorizar2.- Protocol Distribution. Estadística de tráfico para cada protocolo3.- Address Map. Mapeo de direcciones IP y MAC4.- Network-Layer Host. Estadísticas de la capa 3 para cada host 5.- Network-Layer Matrix. Estadística de la capa 3 (origen/destino) para cada par de hosts6.- Application-Layer Host. Estadísticas para la capa de aplicación para cada host7. Application-Layer Matrix. Estadística origen/destino para cada par de hosts8.- User History. Muestra en un periodo de algunas variables9. Probe Configuration. Configuración remota de sondas10. RMON Conformance. Requisitos de : requirements for RMON2 MIB conformance

Page 40: SNMP

SNMP 40

sFlow

RFC 3176Evolución de las RMONs

Sirve para capturar tráfico en redes conmutadas de alto ancho de banda haciendo un muestreo del tráfico

Puerto por defecto 6343

Page 41: SNMP

SNMP 41

Como analizar la red?

Page 42: SNMP

SNMP 42

MRTG: Multi Router Traffic Grapher • Multi Router Traffic Grapher (MRTG) es una herramienta para

monitorización de tráfico en las redes y sus enlaces tanto internos como externos.

• Genera páginas HTML con imágenes PNG, que ofrecen una visión en tiempo real del tráfico.

• Funciona tanto en UNIX y Windows• Es un script en Perl que utiliza SNMP para leer cualquiera de los

atributos de los objetos de los routers (o conmutadores) y un programa en C que procesa la información para visualizarla gráficamente en tiempo real.

• Guarda la información por semanas, meses y años, monitorización hasta 200 enlaces.

• Se utiliza generalmente para monitorizar la carga del sistema, sesiones establecidas, tráfico, errores, etc

• Es de libre distribución y debe ser utilizado bajo los términos de GNU

http://www.mrtg.org/

Page 43: SNMP

SNMP 43

`Yearly' Graph (1 Day Average)

                                             

                                                            

BLUE ### Líneas ocupadas en annexy

VIOLET### Máximo de líneas ocupadas en annexy

Numero de lineas ocupadas de servidores annexySistema: annexy.uv.es

Máximo esperado: 30

EJEMPLO DE MRTG: Esta página muestra el numero de líneas ocupadas en el servidor de acceso telefónico de la Universitat: annexy. Annexy dispone de un primario RDSI (30B+D), con 30 líneas disponibles para conexiones vía modem Las estadísticas se ejecuten cada 5 minutos.

Page 44: SNMP

SNMP 44

Aplicación SNMP: Netflow

Network Data Analyzer:• Presentación de los datos

• NFC Control y Configuración

NetFlow Accounting:• Conmutación

• Exportación

• Agregación

NetFlowFlowCollector:• Recolección de datos

• Filtrado

• Agregación

• Almacenamiento de datos

Sonda RMONSonda RMON

Accounting/Billing

Network Planning

Page 45: SNMP

SNMP 45

Page 46: SNMP

SNMP 46

Otros usos

Tráfico de salida: 03/04/2007

Tráfico de salida: 31/03/2007

Page 47: SNMP

SNMP 47

Page 48: SNMP

SNMP 48

RFCs

• RFC 1155 (SNMPv1 y SMI) y RFC 1157: SNMPv1

• RFC 1902 (SNMPv2 y SMI), RFC 1441 HASTA RFC 1452: SNMP VERSION 2

• RMON1: RFC1271• RMON2: RFC2021, 2034• RFC 2570-2576: SNMPv3

Page 49: SNMP

SNMP 49

1.3.6.1.2.1.host(25).hrDevice(3).hrDeviceTable(2).hrDeviceEntry(1).hrDeviceStatus(5).puerto(1)1.3.6.1.2.1.25.3.hrPrinterTable(5).hrPrinterEntry(1).hrPrinterStatus(1).puerto(1)1.3.6.1.2.1.25.3.5.1.hrPrinterDetectedErrorState(2).puerto(1)

Page 50: SNMP

SNMP 50

1.3.6.1.2.1.host(25).hrDevice(3).hrDeviceTable(2).hrDeviceEntry(1).hrDeviceStatus(5).puerto(1)5 = “down” impresora caida

1.3.6.1.2.1.25.3.hrPrinterTable(5).hrPrinterEntry(1).hrPrinterStatus(1).puerto(1)1 = “other” no da información del estado

1.3.6.1.2.1.25.3.5.1.hrPrinterDetectedErrorState(2).puerto(1)No hay ningún valor de String: Sin errores