3. O protocolo SNMP 1

Tamanho: px
Começar a partir da página:

Download "3. O protocolo SNMP 1"

Transcrição

1 3. O protocolo SNMP 1

2 Veicula informações de gerência transporte de valores das MIBs Interações sem conexão Mensagens em UDP/IP portas 161 e 162 pacotes de tamanho variável Mensagens auto-contidas formato Type - Length Value (BER) 2

3 Management system Managed system resources management application management actions MIB objects SNMP manager UDP IP link SNMP messages SNMP agent UDP IP link 3

4 1989: SNMP v1 1992: Remote Monitoring - RMON 1993: SNMP v2 1996: SNMP v2c (Community Security) 1996: RMON v2 1998: SNMP v3 (User Security Model) 4

5 GET GET-NEXT gerente busca informações dos agentes acessos em leitura às MIBs SET gerente modifica informações dos agentes acessos em escrita às MIBs TRAP agentes enviam informações não solicitadas aos gerentes, informado eventos importantes 5

6 Get (Nome) Response ( João ) SNMP Agent MIB manager GetNext (Nome) Response (35) Set (sexo, fem) pessoa.nome = João pessoa.idade = 35 pessoa.sexo = masc Response (Erro) 6

7 Permitem somente inspeção e/ou alteração de variáveis A estrutura da MIB não pode ser alterada pelas operações Somente podem ser acessados valores escalares em cada operação 7

8 Falta de segurança esquema de autenticação trivial limitações no uso do método SET Ineficiência esquema de eventos limitado e fixo operação baseada em pooling comandos transportam poucos dados Falta de funções específicas MIB com estrutura fixa Falta de comandos de controle Falta de comunicação entre gerenciadores Não confiável baseado em UDP/IP traps sem reconhecimento 8

9 Modelo mais comum: SNMP V2c Baseado no conceito de comunidade Uma comunidade define: método para autenticar acesso (senha) visibilidade da MIB privilégios de acesso à MIB Cada dispositivo implementa uma ou mais comunidades Comunidade default: public CUIDADO: sempre que ativar um equipamento gerenciável SNMP, lembre-se de mudar essa comunidade 9

10 Cada mensagem SNMP é autenticada Nome da comunidade serve de senha Sistema de segurança frágil e limitado Muitas vezes a operação SET é proibida Certos dispositivos regulam acesso usando: nome da comunidade número IP do(s) gerente(s) 10

11 Aspectos da política de acesso: visão da MIB: que partes da MIB podem ser acessadas. Modo de acesso: pode ser em leitura ou leitura/escrita. Ambas definem um perfil de comunidade. O modo de acesso não deve conflitar com os campos ACCESS definidos na MIB. Um dispositivo pode implementar várias comunidades, com diversas políticas de acesso. 11

12 MIB ACCESS read-only SNMP access control READ-ONLY READ-WRITE available for GET & TRAP operations read-write write-only available for GET & TRAP operations, available for GET & TRAP operations, but value is implementation specific available for GET SET TRAP operations available for GET SET & TRAP operations, but value is implementation specific for GET & TRAP not accessible unavailable 12

13 admin public ensino network 13

14 GetRequest GetResponse manager 161 GetNextRequest GetResponse SetRequest agent 161 GetResponse 162 Trap 14

15 Conteúdo codificado via BER Geralmente limitada a < 484 bytes preâmbulo PDU SNMP msg length protocol version community string PDU header PDU body 2 bytes 1 byte até 128 bytes 15

16 Get & Set msg length protocol version community string PDU type PDU length Request ID Error Status Error Index Variable bindings Variable bindings preamble SNMP header SNMP body Trap msg length protocol version community string PDU type PDU length Enterprises OID Agent IP address Standard trap type Specific trap type Time stamp Variable bindings Variable bindings 16

17 Versão 0: SNMPv1, 1: SNMPv2,... Tipo de PDU 0: getrequest 1: getnextrequest 2: getresponse 3: setrequest 4: trap Request ID valor numérico usado para casar pedidos e respostas 17

18 Error Status: 0: noerror: sucesso na operação 1: toobig: resposta muito grande para enviar 2: nosuchname: OID não suportado pelo agente 3: badvalue: valor incorreto para operação set 4: readonly: tentativa de escrita inválida 5: generr: erro não relacionado ao protocolo Error index: indica qual variável listada na PDU causou o erro. 18

19 var list size varbind length variable OID variable type variable value varbind length variable OID variable type variable value... 19

20 Busca próximo elemento na MIB Usa ordem lexicográfica Serve para: passear na MIB (descoberta da estrutura) buscar dados em tabelas 20

21 snmpgetnext rtbbdsc public system system.sysdescr.0 = OCTET STRING: "ExtremeXOS version v1233b6 by release-manager on Fri Oct 16 20:01:57 PDT 2009 snmpgetnext rtbbdsc public system.sysdescr.0 system.sysobjectid.0 = OBJECT IDENTIFIER: enterprises snmpgetnext rtbbdsc public system.sysobjectid.0 system.sysuptime.0 = Timeticks: ( ) 118 days, 19:15:45.00 snmpgetnext rtbbdsc public system.sysuptime.0 system.syscontact.0 = OCTET STRING: "Prof. Peter Nicolletti" 21

22 coluna 1 coluna 2 coluna 3 linha 1 1 myvar1.1 5 myvar2.1 9 myvar3.1 linha 2 2 myvar1.2 6 myvar myvar3.2 linha 3 3 myvar1.3 7 myvar myvar3.3 linha 4 4 myvar1.4 8 myvar myvar

23 coluna 1 coluna 2 coluna 3 linha 1 1 myvar1.1 5 myvar myvar3.1 linha 2 2 myvar1.2 2 myvar2.2 2 myvar3.2 linha 3 3 myvar1.3 3 myvar2.3 3 myvar3.3 linha 4 4 myvar1.4 4 myvar2.4 4 myvar

24 animaltable.animalentry animalindex animalname 1 Vaca 4 Rato 7 Cavalo 9 Cachorro 24

25 animaltable animalentry animalindex animalname Vaca Rato Cavalo Cachorro 25

26 getnextrequest 1: OID:animalTable.animalEntry Value: NULL OID:animalTable.animalEntry.animalName value: NULL getnextresponse 1: OID:animalTable.animalEntry.1 Value: 1 OID:animalTable.animalEntry.animalName.1 Value: Vaca 26

27 getnextrequest 2: OID:animalTable.animalEntry.1 Value: NULL OID:animalTable.animalEntry.animalName.1 value: NULL getnextresponse 2: OID:animalTable.animalEntry.4 Value: 4 OID:animalTable.animalEntry.animalName.4 Value: Rato 27

28 Mensagens enviadas pelo agente Não são respostas a pedidos Representam eventos anormais Classificam-se em: genéricos: presentes na MIB padrão específicos: definidos na MIB enterprises 28

29 coldstart: o dispositivo foi ligado configuração local pode ter sido alterada informa ao gerente sobre sua existência warmstart: o dispositivo foi reinicializado configuração local não foi alterada linkdown: link ou porta de comunicação ligada ao nó falhou 29

30 linkup: link ou porta local foi (re)ativada. authenticationfailure: o dispositivo recebeu msg SNMP não autorizada comunidade não reconhecida número IP de gerente inválido egpneighborloss: Exterior Gateway Protocol falhou no nó normalmente usado em roteadores 30

31 Suporte a SNMP no Windows: Serviço opcional Windows XP/Vista/Seven: somente agente Suporte a SNMPv1 e SNMPv2c No Windows Server: integração completa ao modelo SNMP suporte completo a SNMPv1 e SNMPv2c Conjunto maior de MIBs (host, forwarding,...) 31

32 Definido em 1993 (RFC) Suporte flexível: gerência centralizada gerência distribuída Modificações mais significativas: estrutura de informação (SMI) interações gerente a gerente operações do protocolo 32

33 Super-conjunto da SMI em SNMPv1 Especificação e documentação mais elaboradas dos objetos da MIB Novos conceitos: definições de novos objetos tabelas conceituais novas definições de notificações módulos de informação 33

34 Melhor definição de OBJECT-TYPE Novos tipos de dados: Counter32 Unsigned64 Remoção de ambigüidades de SNMPv1 Novas interpretações de alguns tipos: Gauge32 Counter64 34

35 Similar a ACCESS, enfatizando que o acesso não pode ser modificado por configuração do agente Níveis de acesso: not accessible accessible for notify read only read-write read-create (tabelas conceituais) 35

36 Novos status: current deprecated Obsolete Desaparecem: mandatory optional 36

37 Duas categorias de tabelas: estrutura fixa estrutura alterável Criação/deleção de linhas operações pelo gerente, via SNMP extremamente complexo e controverso segue o modelo adotado em RMON 37

38 Três formas de interação manager to agent, request/response agente to manager, unconfirmed manager to manager, request/response o último é definido em SNMPv2 38

39 GetRequest, GetNextRequest similar à de SNMPv1 resposta não é mais atômica SetRequest Idem GetBulkRequest busca de grandes blocos de dados equivale a um GetNextRequest múltiplo 39

40 InformRequest comunicação entre gerentes enviado pelo gerente que deseja passar a informação resposta ResponsePDU sem conteúdo ReportPDU não utilizada (abandonada nas RFCs) 40

41 Por proxies SNMP Gerente SNMPv2 SNMPv2 Agente SNMPv1 Agente SNMPv2 Gerente SNMPv1 SNMPv1 41

42 Por gerentes bilíngues Gerente bilíngüe SNMPv1 Agente SNMPv1 SNMPv2 Agente SNMPv2 42

43 Ache na rede a descrição da MIB RMON-II, leia-a e descreva 4 grupos de informação que você pode monitorar, destacando os 4 ou 5 dados que você acha mais importantes em cada grupo. A partir de uma máquina (1), use um programa para navegação em MIBs (um mib-browser (2)) e responda às perguntas abaixo (3) para os agentes , e : Que tipo de equipamento é? Quantas interfaces tem? Quantas interfaces estão up (ou down) administrativamente e operacionalmente? Indique nome e tipo da interface. Há quanto tempo o agente está ligado? Qual é o nome do equipamento? Onde se localiza o equipamento? Quem é a pessoa responsável pelo equipamento? Observações: (1) Só funciona dentro da UFCG (2) Em ambiente LINUX você pode usar o comando snmpwalk; em ambiente Windows, você deve obter na internet um mib-browser (a versão dos agentes é V2c) (3) Para cada pergunta, indique o OID de onde você obteve a resposta. 43