148

Apostila Gerência de Redes com SNMP

Embed Size (px)

Citation preview

Page 1: Apostila Gerência de Redes com SNMP
Page 2: Apostila Gerência de Redes com SNMP
Page 3: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 1

Gerenciamento de Redes com SNMP

Instrutor:

André Luis Boni Déo

[email protected]

2012

O trabalho Gerenciamento de Redes com SNMP de André Luis Boni Déo foi licenciado com uma

Licença Creative Commons - Atribuição - NãoComercial - CompartilhaIgual 3.0 Não Adaptada.

Page 4: Apostila Gerência de Redes com SNMP

2 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP

Page 5: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 3

Queria agradecer em primeiro lugar a Deus pelos talentos a mim confiados, inclusive o

dom maravilhoso do ensino.

Em segundo lugar a minha amada esposa, grande parte do meu tempo é dedicado à

informática, inclusive boa parte das minhas horas vagas, e ela tem sido uma companheira em

todos os momentos me apoiando e incentivando sempre.

Aos meus amigos Bruno Daniel Alves dos Santos e Marcos Antônio de Almeida Corá que

sempre me incentivaram a registrar esse conhecimento. Aos incansáveis: Adriano Rodrigues

Paganotto, Aecio dos Santos Pires e Carlos Eduardo de Oliveira que foram os revisores desse

material, sempre me cobrando o melhor, mais detalhado, mais didático, esse material não seria

metade do que é, sem vocês amigos.

E por último, mas não menos importante ao grande Conrado Pinto Rebessi, reponsável

pela palestra que despertou meu interesse no assunto e por inúmeras horas de consultoria sobre

o assunto, meu amigo esse material não existiria se não fosse por você.

Conrado em 2007 no FLISOL Campinas com sua palestra: Monitoramento de servidores com SNMP

Page 6: Apostila Gerência de Redes com SNMP

4 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP

Page 7: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 5

1. CONCEITOS DE GERÊNCIA DE REDES - VISÃO GERAL ....................................................................... 13

1.1. O QUE É GERÊNCIA DE REDES? ............................................................................................................ 13

1.2. QUAIS OS OBJETIVOS DA GERÊNCIA DE REDES? ....................................................................................... 13

1.3. POR QUE GERENCIAR UMA REDE? ......................................................................................................... 13

1.4. O QUE GERENCIAR? ........................................................................................................................... 13

1.4.1. Elementos ativos: .................................................................................................................... 13

1.4.2. Servidores: ............................................................................................................................... 14

1.4.3. Clientes: ................................................................................................................................... 14

1.5. PARA QUE GERENCIAR? ...................................................................................................................... 14

1.6. COMO GERENCIAR? .......................................................................................................................... 14

1.7. CONCEITOS E COMPETÊNCIAS .............................................................................................................. 15

1.8. HABILIDADES .................................................................................................................................... 15

1.9. PROFISSIONAIS ENVOLVIDOS NO GERENCIAMENTO DE REDES .................................................................... 16

1.9.1. Gerente de Redes ..................................................................................................................... 16

1.9.2. Administrador de Redes .......................................................................................................... 16

1.9.3. Gerente de Sistemas ................................................................................................................ 16

1.9.4. Gerente de TI ........................................................................................................................... 17

2. CONCEITOS DE GERÊNCIA DE REDES - INTRODUÇÃO ...................................................................... 19

2.1. GERENCIAMENTO DE REDES ................................................................................................................ 19

2.2. CICLO DE GERENCIAMENTO ................................................................................................................. 19

2.2.1. Coleta de dados: ...................................................................................................................... 19

2.2.2. Diagnóstico: ............................................................................................................................ 19

2.2.3. Ação: ........................................................................................................................................ 19

2.3. PERFIL DO GERENTE DE REDES ............................................................................................................. 20

2.4. DEFINIÇÃO DO AMBIENTE ................................................................................................................... 20

2.5. INVENTÁRIO DA REDE ........................................................................................................................ 20

2.6. MAPEAMENTO DA REDE ..................................................................................................................... 20

2.7. RESULTADOS ESPERADOS.................................................................................................................... 20

2.8. RELATÓRIOS ..................................................................................................................................... 20

3. CONCEITOS E DEFINIÇÕES DE GERÊNCIA DE REDES ......................................................................... 21

3.1. AMBIENTE GERENCIADO ..................................................................................................................... 21

3.2. MECANISMO GERENCIADO ................................................................................................................. 21

3.3. SISTEMA DE GERENCIAMENTO DE REDES ............................................................................................... 21

3.4. GERENTE ......................................................................................................................................... 21

3.5. APLICAÇÃO GERENTE ......................................................................................................................... 21

3.6. COMPONENTES PRINCIPAIS: ................................................................................................................ 21

3.6.1. Operações de Gerenciamento ................................................................................................. 22

3.6.2. Management Information Base – MIB ................................................................................... 22

3.6.3. Banco de Dados – BD .............................................................................................................. 23

3.6.4. Aplicações de Gerenciamento ................................................................................................. 23

3.6.5. Interface do usuário ................................................................................................................ 23

3.6.6. Agente ..................................................................................................................................... 23

3.6.7. Aplicação Agente .................................................................................................................... 23 3.6.7.1. Componentes chaves: .................................................................................................................... 24

3.6.7.1.1. O Agente .................................................................................................................................. 24 3.6.7.1.2. A MIB do Agente ...................................................................................................................... 24

Page 8: Apostila Gerência de Redes com SNMP

6 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP

4. MODELO DE GERENCIAMENTO OSI E MODELO DE GERENCIAMENTO SNMP .................................. 25

4.1. MODELO DE GERENCIAMENTO OSI ...................................................................................................... 25

4.1.1. Funcionamento ....................................................................................................................... 25

4.1.2. Tarefas/Processos de Gerenciamento .................................................................................... 26 4.1.2.1. Gerenciamento de Falhas .............................................................................................................. 26 4.1.2.2. Gerenciamento de Configuração ................................................................................................... 26 4.1.2.3. Gerenciamento de Contabilização ................................................................................................. 27 4.1.2.4. Gerenciamento de Desempenho ................................................................................................... 27 4.1.2.5. Gerenciamento de Segurança ........................................................................................................ 27

4.2. MODELO DE GERENCIAMENTO SNMP .................................................................................................. 27

4.2.1. Estação de Gerenciamento contendo entidades SNMP (Gerente) ......................................... 28

4.2.2. Nós gerenciados contendo a entidade SNMP (Agente) .......................................................... 28

4.2.3. Entidade com Dupla Função ................................................................................................... 29

4.2.4. Informações de Gerenciamento .............................................................................................. 29

4.2.5. Protocolo de Gerenciamento .................................................................................................. 29

4.2.6. Monitoramento via SNMP ....................................................................................................... 30

4.2.7. Monitoramento via SNMP utilizando Entidade com Dupla Função...................................... 30

5. GERENCIAMENTO DE REDES - O PROTOCOLO SNMP ...................................................................... 31

5.1. SMI ............................................................................................................................................... 32

5.2. ASN.1 ............................................................................................................................................ 32

5.2.1. Sintaxe básica em ASN.1 ......................................................................................................... 32 5.2.1.1. Tipos de dados ............................................................................................................................... 32 5.2.1.2. Notações em ASN.1........................................................................................................................ 32 5.2.1.3. Exemplos de Definição ASN.1 ........................................................................................................ 32

5.2.1.3.1. Campo SYNTAX: ....................................................................................................................... 33 5.2.1.3.2. Campo ACCESS: ........................................................................................................................ 33 5.2.1.3.3. Campo STATUS......................................................................................................................... 33

5.3. MENSAGEM SNMP .......................................................................................................................... 34

5.4. AS PDUS SNMP .............................................................................................................................. 34

5.4.1. Estrutura das PDUs SNMP ...................................................................................................... 35 5.4.1.1. Preâmbulo e Cabeçalho ................................................................................................................. 35

5.4.1.1.1. Versão: ..................................................................................................................................... 35 5.4.1.1.2. Tipo de PDU: ............................................................................................................................ 35 5.4.1.1.3. Request ID: ............................................................................................................................... 35 5.4.1.1.4. Códigos de erro: ....................................................................................................................... 35 5.4.1.1.5. Error index: .............................................................................................................................. 35

5.5. A ARQUITETURA SNMP ..................................................................................................................... 36

5.6. OPERAÇÕES/MENSAGENS SNMP ........................................................................................................ 36

5.6.1. Get-Request ............................................................................................................................. 36

5.6.2. Get-Next-Request .................................................................................................................... 37

5.6.3. Get-Bulk-Request..................................................................................................................... 37

5.6.4. Set-Request .............................................................................................................................. 37

5.6.5. TRAP ........................................................................................................................................ 38

5.6.6. Inform-Request ....................................................................................................................... 38

5.6.7. Exemplo de Operação ............................................................................................................. 39

5.7. LIMITAÇÕES DE SNMP....................................................................................................................... 39

5.7.1. Falta de segurança .................................................................................................................. 39

5.7.2. Ineficiência .............................................................................................................................. 39

5.7.3. Falta de funções específicas .................................................................................................... 39

5.7.4. Não confiável: .......................................................................................................................... 39

Page 9: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 7

5.8. VULNERABILIDADE SNMP - PROTEÇÃO: ................................................................................................ 40

5.9. VERSÕES SNMP: .............................................................................................................................. 40

5.9.1. SNMP V1 .................................................................................................................................. 40 5.9.1.1. Get ................................................................................................................................................. 40 5.9.1.2. GetNext .......................................................................................................................................... 40 5.9.1.3. Set .................................................................................................................................................. 40

5.9.2. SNMP V2 .................................................................................................................................. 40 5.9.2.1. SNMPv2 Original ............................................................................................................................ 40 5.9.2.2. SNMPv2 baseado na comunidade .................................................................................................. 40 5.9.2.3. SNMPv2 baseada no usuário .......................................................................................................... 40 5.9.2.4. SNMPv2 Estrela .............................................................................................................................. 40

5.9.3. SNMP V2 (v2c) ........................................................................................................................ 41 5.9.3.1. Características e Operações adicionais .......................................................................................... 41

5.9.3.1.1. Trap .......................................................................................................................................... 41 5.9.3.1.2. GetBulk ..................................................................................................................................... 41 5.9.3.1.3. Inform ...................................................................................................................................... 41

5.9.4. SNMP V3 .................................................................................................................................. 41 5.9.4.1. Melhorias de Segurança ................................................................................................................. 41

5.9.4.1.1. USM .......................................................................................................................................... 41 5.9.4.1.2. VACM ....................................................................................................................................... 41 5.9.4.1.3. Configuração dinâmica de agentes SNMP utilizando comandos SNMP ................................. 41

5.10. MODELO DE SEGURANÇA SNMP ......................................................................................................... 41

5.10.1. Modelo mais comum ........................................................................................................... 41

5.10.2. Comunidade default: .......................................................................................................... 41

5.10.3. Uma comunidade define ..................................................................................................... 42

5.10.4. Serviço de autenticação ..................................................................................................... 42

5.11. TRAPS EM SNMP ............................................................................................................................. 42

5.11.1. Classificação ....................................................................................................................... 42 5.11.1.1. Traps genéricos .............................................................................................................................. 42

5.11.1.1.1. ColdStart: ............................................................................................................................... 42 5.11.1.1.2. WarmStart: ............................................................................................................................ 42 5.11.1.1.3. LinkDown: .............................................................................................................................. 42 5.11.1.1.4. LinkUp: ................................................................................................................................... 42 5.11.1.1.5. AuthenticationFailure: ........................................................................................................... 42 5.11.1.1.6. EgpNeighborLoss: .................................................................................................................. 42 5.11.1.1.7. EnterpriseSpecific: ................................................................................................................. 43

6. A MIB.............................................................................................................................................. 45

6.1. OBJETOS GERENCIADOS ..................................................................................................................... 45

6.2. MODELOS DE GERENCIAMENTO ........................................................................................................... 45

6.2.1. Modelo Organizacional ........................................................................................................... 45

6.2.2. Modelo funcional..................................................................................................................... 45

6.2.3. Modelo informacional ............................................................................................................. 45

6.3. CARACTERÍSTICAS DO MODELO OSI ...................................................................................................... 45

6.3.1. Classe, Subclasse e Superclasse ............................................................................................... 45

6.3.2. Hierarquias dos Objetos Gerenciados ..................................................................................... 46 6.3.2.1. Hierarquia de Herança ................................................................................................................... 46 6.3.2.2. Hierarquia de Nomeação ............................................................................................................... 46 6.3.2.3. Hierarquia de Registro ................................................................................................................... 46

6.4. MIB DA INTERNET............................................................................................................................. 46

6.5. A ÁRVORE DA MIB II ......................................................................................................................... 46

6.5.1. Nó Raiz .................................................................................................................................... 47

Page 10: Apostila Gerência de Redes com SNMP

8 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP

6.5.2. Nó iso ....................................................................................................................................... 47

6.5.3. Nó internet .............................................................................................................................. 48

6.5.4. Nó mgmt .................................................................................................................................. 48

6.5.5. Árvore MIB II ........................................................................................................................... 49

6.5.6. Exemplo de Objeto da MIB ...................................................................................................... 49

6.5.7. Exemplos de Grupos ................................................................................................................ 49 6.5.7.1. Grupo System ................................................................................................................................. 49

6.5.7.1.1. Descrição textual: .................................................................................................................... 49 6.5.7.1.2. OID ........................................................................................................................................... 50 6.5.7.1.3. Componentes: .......................................................................................................................... 50

6.5.7.2. Grupo Interfaces - Interface da rede com o meio físico ................................................................. 50 6.5.7.2.1. Descrição textual ..................................................................................................................... 50 6.5.7.2.2. OID ........................................................................................................................................... 50 6.5.7.2.3. Componentes ........................................................................................................................... 50

6.5.7.3. Grupo at (Address Translation) ...................................................................................................... 52 6.5.7.3.1. Descrição textual ..................................................................................................................... 52 6.5.7.3.2. OID ........................................................................................................................................... 52 6.5.7.3.3. Componentes ........................................................................................................................... 52

6.5.7.4. Grupo ip - Protocolo IP ................................................................................................................... 52 6.5.7.4.1. Descrição textual ..................................................................................................................... 52 6.5.7.4.2. OID ........................................................................................................................................... 52 6.5.7.4.3. Componentes (Apenas Alguns) ............................................................................................... 52

6.5.7.5. Grupo icmp – Protocolo ICMP ........................................................................................................ 53 6.5.7.5.1. Descrição textual ..................................................................................................................... 53 6.5.7.5.2. OID ........................................................................................................................................... 53 6.5.7.5.3. Componentes (Apenas Alguns) ............................................................................................... 53

6.5.7.6. Grupo TCP – Protocolos TCP .......................................................................................................... 54 6.5.7.6.1. Descrição textual ..................................................................................................................... 54 6.5.7.6.2. OID ........................................................................................................................................... 54 6.5.7.6.3. Componentes (Apenas Alguns) ............................................................................................... 54

6.5.7.7. Grupo UDP – Protocolos UDP ........................................................................................................ 54 6.5.7.7.1. Descrição textual ..................................................................................................................... 54 6.5.7.7.2. OID ........................................................................................................................................... 54 6.5.7.7.3. Componentes ........................................................................................................................... 54

6.5.7.8. Grupo EGP – Protocolo EGP ........................................................................................................... 55 6.5.7.8.1. Descrição textual ..................................................................................................................... 55 6.5.7.8.2. OID ........................................................................................................................................... 55 6.5.7.8.3. Componentes (Apenas Alguns) ............................................................................................... 55

6.5.7.9. Grupo cmot – Protocolo CMOT ...................................................................................................... 55 6.5.7.9.1. Descrição textual ..................................................................................................................... 55 6.5.7.9.2. OID ........................................................................................................................................... 55

6.5.7.10. Grupo Transmission – Meios de Transmissões .............................................................................. 55 6.5.7.10.1. Descrição textual ................................................................................................................... 55 6.5.7.10.2. OID ......................................................................................................................................... 55

6.5.7.11. Grupo SNMP – Protocolo SNMP .................................................................................................... 55 6.5.7.11.1. Descrição textual ................................................................................................................... 55 6.5.7.11.2. OID ......................................................................................................................................... 55 6.5.7.11.3. Componentes ......................................................................................................................... 55

7. PROTOCOLO DE GERENCIAMENTO RMON ...................................................................................... 59

7.1. ALGUMAS RFCS TRATAM DO PROTOCOLO RMON: ................................................................................. 59

7.2. CARACTERÍSTICAS DO PROTOCOLO ........................................................................................................ 60

7.3. OBJETIVOS DO RMON ....................................................................................................................... 60

7.4. ABRANGÊNCIA DAS VERSÕES ................................................................................................................ 61

Page 11: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 9

7.5. EXEMPLO DE FUNCIONAMENTO ........................................................................................................... 61

7.6. MIB RMON1 ................................................................................................................................. 62

7.6.1. Aquisição de Estatísticas de Tráfego: ..................................................................................... 62

7.6.2. Detecção e Resolução de Situações Críticas e de Erro: .......................................................... 62

7.6.3. Exemplos de Grupos ................................................................................................................ 62 7.6.3.1. RMON1 – Statistics ......................................................................................................................... 62

7.6.3.1.1. Exemplos de estatísticas Ethernet........................................................................................... 62 7.6.3.2. RMON1 – History ........................................................................................................................... 63

7.6.3.2.1. Configuração ............................................................................................................................ 63 7.6.3.3. RMON1 – Hosts .............................................................................................................................. 63

7.6.3.3.1. Exemplos: ................................................................................................................................. 63 7.6.3.4. RMON1 – Hosts Top N ................................................................................................................... 63

Exemplo: ...................................................................................................................................................... 64 7.6.3.5. RMON1 – Matrix ............................................................................................................................ 64

Exemplos: ..................................................................................................................................................... 64 7.6.3.6. RMON1 – Token Ring ..................................................................................................................... 64 7.6.3.7. RMON1 – Alarm ............................................................................................................................. 64

Exemplos: ..................................................................................................................................................... 65 7.6.3.8. RMON1 – Filter............................................................................................................................... 65

Exemplos: ..................................................................................................................................................... 65 7.6.3.9. RMON1 – Packet Capture .............................................................................................................. 66

7.6.3.9.1. Captura pacotes para análise na rede. .................................................................................... 66 7.6.3.10. RMON1 – Event .............................................................................................................................. 66

7.7. RMON2 ......................................................................................................................................... 67

7.7.1. MIB RMON2 ............................................................................................................................. 67 7.7.1.1. RMON2 – Protocol Directory ......................................................................................................... 67 7.7.1.2. RMON2 – Protocol Distribution ..................................................................................................... 68 7.7.1.3. RMON2 – Network Layer Host/Matrix e Application Layer Host/Matrix ....................................... 68 7.7.1.4. RMON2 – User History ................................................................................................................... 68 7.7.1.5. RMON2 – Probe Configuration ...................................................................................................... 68

7.7.1.5.1. Exemplos: ................................................................................................................................. 68 7.7.1.6. RMON2 – Address Map .................................................................................................................. 69

7.8. RMON – CONSIDERAÇÕES FINAIS ....................................................................................................... 69

8. GERENCIAMENTO DE SERVIDORES GNU/LINUX UTILIZANDO SNMP V1 E V2C ................................ 71

8.1. INSTALAÇÃO DOS BINÁRIOS ................................................................................................................. 71

8.2. ESTRUTURA DO NET-SNMP APÓS A INSTALAÇÃO DOS BINÁRIOS ................................................................... 71

8.3. BACKUP DO ARQUIVO DE CONFIGURAÇÃO ORIGINAL (SNMPD.CONF) ........................................................... 71

8.4. CONFIGURAÇÃO BÁSICA DE UM AGENTE SNMP V1/V2C .......................................................................... 72

8.5. ACESSANDO UM AGENTE SNMP V1/V2C .............................................................................................. 72

8.5.1. Comando snmpget .................................................................................................................. 72 8.5.1.1. Explicando o comando: .................................................................................................................. 72

8.5.2. Comando snmpset ................................................................................................................... 73 8.5.2.1. Explicando o comando: .................................................................................................................. 73

8.5.3. Comando snmpgetnetxt .......................................................................................................... 74

8.5.4. Comando snmpwalk ................................................................................................................ 74

8.5.5. Comando snmpbulkget ........................................................................................................... 75

8.5.6. Comando snmpbulkwalk ........................................................................................................ 76

8.5.7. Informações Adicionais........................................................................................................... 77

9. GERENCIAMENTO DE SERVIDORES GNU/LINUX UTILIZANDO SNMP V3 .......................................... 79

9.1. USM .............................................................................................................................................. 79

Page 12: Apostila Gerência de Redes com SNMP

10 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP

9.2. VACM ........................................................................................................................................... 79

9.3. MODELO DE PERMISSÕES VACM ........................................................................................................ 80

9.4. CONFIGURAÇÃO BÁSICA DE UM AGENTE SNMP V3 COMPATÍVEL COM SNMP V1/V2C .................................. 81

9.4.1. Disponibilizando os recursos .................................................................................................. 82 9.4.1.1. Seção View ..................................................................................................................................... 82 9.4.1.2. Seção com2sec ............................................................................................................................... 82 9.4.1.3. Seção Group ................................................................................................................................... 82 9.4.1.4. Seção Access .................................................................................................................................. 82 9.4.1.5. Compreendendo os Parâmetros .................................................................................................... 83

9.4.1.5.1. Seção View ............................................................................................................................... 83 9.4.1.5.2. Seção Com2sec: ....................................................................................................................... 83 9.4.1.5.3. Seção Group: ............................................................................................................................ 83 9.4.1.5.4. Seção Access: ........................................................................................................................... 83

9.5. ACESSANDO UM AGENTE SNMP V3 COMPATÍVEL COM SNMP V1/V2C: ..................................................... 84

9.6. CONFIGURAÇÃO INICIAL DE UM AGENTE EXCLUSIVAMENTE V3 ................................................................... 85

9.6.1. Criar o usuário inicial com permissão de escrita: .................................................................. 85

9.6.2. Criar os usuários adicionais:................................................................................................... 86 9.6.2.1. Parâmetros: ................................................................................................................................... 87

9.6.3. Alterar a senha dos usuários: ................................................................................................. 87 9.6.3.1. Parâmetros: ................................................................................................................................... 87

9.6.4. snmpd.conf v3 básico: ............................................................................................................. 89

9.6.5. Acessando um Agente SNMP v3: ............................................................................................. 89

9.6.6. snmpd.conf v3 com VACM devidamente configurado: ........................................................... 90 9.6.6.1. Acessando um Agent SNMP v3: ..................................................................................................... 90

9.7. CONFIGURAÇÃO INICIAL DE UM AGENTE EXCLUSIVAMENTE V3 COM AUTENTICAÇÃO E PRIVACIDADE.................. 91

9.7.1. Criar o usuário inicial com permissão de escrita: .................................................................. 91

9.7.2. Criar os usuários adicionais:................................................................................................... 92 9.7.2.1. Parâmetros: ................................................................................................................................... 92 9.7.2.2. Outro exemplo: .............................................................................................................................. 93

9.7.2.2.1. Parâmetros: ............................................................................................................................. 93 9.7.3. Alterar a senha dos usuários: ................................................................................................. 93

9.7.3.1. Parâmetros: ................................................................................................................................... 93 9.7.4. Alterar a chave dos usuários: ................................................................................................. 94

9.7.4.1. Parâmetros: ................................................................................................................................... 94 9.7.5. snmpd.conf v3 básico: ............................................................................................................. 94

9.7.6. Acessando um Agente SNMP v3: ............................................................................................. 95

9.7.7. snmpd.conf v3 com VACM devidamente configurado: ........................................................... 95 9.7.7.1. Acessando um Agent SNMP v3: ..................................................................................................... 96

9.8. SEGURANÇA EM SNMP V3: ............................................................................................................... 97

9.8.1. Requisição SNMP v2 ................................................................................................................ 97

9.8.2. Requisição SNMP v3com Autenticação .................................................................................. 98

9.8.3. Requisição SNMP v3com Autenticação e Privacidade ........................................................... 99

10. MONITORANDO RECURSOS DO SISTEMA ................................................................................. 101

10.1. INFORMAÇÕES DO SISTEMA ............................................................................................................... 101

10.1.1. Acessando o Agent SNMP para leitura de informações do sistema ................................ 101

10.2. MONITORAMENTO DE PROCESSOS ..................................................................................................... 101

10.2.1. Acessando o Agent SNMP para leitura de informações sobre processos ........................ 102

10.3. MONITORAMENTO DE USO DE DISCO .................................................................................................. 104

10.3.1. Acessando o Agent SNMP para leitura de informações sobre o disco............................. 104

10.4. MONITORAMENTO DE CARGA DO SISTEMA ........................................................................................... 106

Page 13: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 11

10.4.1. Acessando o Agent SNMP para leitura de informações sobre Carga de sistema (Load) 107

10.5. MONITORAMENTO DE TAMANHO DE ARQUIVO ..................................................................................... 110

10.5.1. Acessando o Agent SNMP para leitura de informações sobre tamanho de arquivo ...... 110

10.6. MONITORAMENTO UTILIZANDO UM COMANDO CUSTOMIZADO ................................................................ 111

10.6.1. Acessando o Agent SNMP para leitura de informações com comandos customizados .. 112

10.7. MONITORAMENTO UTILIZANDO UM COMANDO CUSTOMIZADO, COM OID PERSONALIZADA ........................... 115

10.7.1. Acessando o Agent SNMP para leitura de informações com comandos customizados

usando OID personalizada ................................................................................................................. 116

11. GERENCIAMENTO DE SERVIDORES GNU/LINUX UTILIZANDO SNMP V3 - CASOS ESPECIAIS E

EXEMPLOS ............................................................................................................................................ 119

11.1. VIEWS VACM, OU COMO RESTRINGIR O ACESSO A DETERMINADOS RAMOS DA ÁRVORE ............................... 119

11.1.1. Acessando o Agent SNMP com acesso restrito (sysUpTime.0) ........................................ 119

11.1.2. Acessando o Agent SNMP com acesso restrito (interfaces.ifTable.ifEntry.infIndex.1) ... 119

11.1.3. Acessando o Agent SNMP com acesso restrito (interfaces.ifTable.ifEntry) .................... 120

11.2. MÁSCARAS VACM, OU COMO RESTRINGIR O ACESSO A UM DETERMINADO ÍNDICE (LINHA) EM UMA TABELA .... 121

11.2.1. Acessando o Agent SNMP com acesso restrito – Uso do parâmetro mask ..................... 124

11.2.2. Acessando o Agent SNMP com acesso restrito – Uso do parâmetro mask ..................... 124

12. COMANDOS SNMP ÚTEIS ......................................................................................................... 125

12.1. SIMPLIFICANDO COMANDOS POR MEIO DE DEFINIÇÕES DE VALORES PRÉ-DEFINIDOS ...................................... 125

12.1.1. Parâmetros: ...................................................................................................................... 125

12.1.2. Acessando o Agent SNMP ................................................................................................. 126

12.1.3. Comando snmpconf .......................................................................................................... 126

12.2. VARIAÇÕES NA FORMA COMO O RESULTADO DA CONSULTA É EXIBIDO ........................................................ 129

12.2.1. Exibição padrão ................................................................................................................ 129

12.2.2. Exibindo o OID Completo.................................................................................................. 129

12.2.3. Exibindo o OID completo na forma numérica ................................................................. 129

12.2.4. Exibindo o OID abreviado ................................................................................................. 129

12.2.5. Exibindo o OID abreviado na forma numérica ................................................................ 130

12.2.6. Exibindo apenas o valor, sem OID .................................................................................... 130

12.3. TRADUZINDO INFORMAÇÕES ............................................................................................................. 130

12.3.1. Exibindo o OID numérico de um objeto ........................................................................... 130

12.3.2. Exibindo o OID nominal de um objeto: ............................................................................ 130

12.3.3. Exibindo o OID numérico de um objeto e sua descrição: ................................................. 130

12.3.4. Exibindo o OID nominal de um OID numérico: ................................................................ 131

12.3.5. Exibindo a descrição de um OID numérico: ..................................................................... 131

12.3.6. Exibindo a hierarquia da MIB a partir de um galho: ...................................................... 132

12.3.7. Exibindo a Tabela de Informações no formato de tabela: .............................................. 132

13. UTILIZANDO O SNMP EM ATIVOS DE REDE ............................................................................... 133

13.1. SWITCH D-LINK .............................................................................................................................. 133

13.1.1. Definir as views ................................................................................................................. 133

13.1.2. Mapear nome de comunidade para nome de acesso ....................................................... 133

13.1.3. Definir os grupos .............................................................................................................. 134

13.1.4. Definir acesso do grupo na view ...................................................................................... 134

13.1.5. Definir o IP do gerente ..................................................................................................... 135

13.2. ROUTER CISCO ............................................................................................................................... 135

13.2.1. Habilitar SNMP v1/v2c .................................................................................................... 135 13.2.1.1. Acessando um Agent SNMP do router para leitura de informações ............................................ 136

Page 14: Apostila Gerência de Redes com SNMP

12 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP

13.2.2. Habilitar SNMP V3 compatível com SNMP v1/v2c .......................................................... 136 13.2.2.1. Acessando um Agente SNMP v3 compatível com SNMP v2c: ...................................................... 137

13.2.3. Habilitar SNMP V3 ............................................................................................................ 137 13.2.3.1. Acessando um Agente SNMP v3: ................................................................................................. 138

13.2.4. Habilitar SNMP V3 com Autenticação e Privacidade ...................................................... 139 13.2.4.1. Acessando um Agente SNMP v3: ................................................................................................. 139

14. ALGUMAS EXTENSÕES AO SNMP ............................................................................................. 141

15. REFERÊNCIAS ............................................................................................................................ 143

Page 15: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 13

1. Conceitos de Gerência de Redes - Visão Geral

Neste primeiro capítulo teremos uma visão geral sobre o tema e os profissionais envolvidos.

1.1. O que é Gerência de Redes?

É um conjunto de ferramentas, procedimentos, técnicas e políticas usadas para manter a eficiência e o funcionamento de uma rede de computadores. Independente-mente de seu tamanho.

A gerência pode ser integrada através de ferramentas que cooperam entre si, aplicando políticas homogêneas em um ambiente heterogêneo.

1.2. Quais os objetivos da Gerência de redes?

O objetivo principal da Gerência de redes é garantir a disponibilidade e eficiência da rede. Para atingir esse objetivo podemos destacar alguns itens:

Monitorar e manter o funcionamento da rede;

Coletar informações sobre os diversos dispositivos;

Gerar informações sobre a qualidade dos equipamentos e dos links;

Gerar informações para revisar o projeto de rede e sua arquitetura;

Gerar informações para previsões de possíveis falhas (gerenciamento pró-ativo);

Justificar os investimentos em ativos de rede e links de comunicação mais apropriados à demanda da rede.

1.3. Por que gerenciar uma rede?

Não é possível realizar os objetivos da Gerência de redes sem realizar algumas ações:

Controlar o desempenho da rede;

Registrar a ocorrência de eventos;

Garantir a segurança da rede;

Contabilizar os recursos disponíveis e indisponíveis da rede;

Detectar, diagnosticar e prevenir possíveis falhas;

Planejar o crescimento organizado da rede;

Minimizar os impactos gerados pela diversidade de plataformas.

1.4. O que gerenciar?

1.4.1. Elementos ativos:

Todo equipamento conectado a rede:

Switches;

Roteadores;

No-Break;

Racks Gerenciáveis;

Câmeras de Vigilância IP;

Catracas eletrônicas;

Leitores de acesso Biométricos;

Impressoras.

Page 16: Apostila Gerência de Redes com SNMP

14 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP

1.4.2. Servidores:

Todo equipamento de rede que prove um serviço na rede:

DNS;

SMTP;

POP;

HTTP;

Banco de Dados;

Arquivos;

Autenticação de usuários.

1.4.3. Clientes:

Todo recurso utilizado pelo usuário para desempenhar suas atribuições e que precisa de liberação e controle:

Softwares instalados;

Inventario de Hardware;

Controle de usuários;

Controle de acesso.

1.5. Para que gerenciar?

Para alcançar os objetivos da Gerência de redes precisamos obter informações referentes à rede. Isso nos possibilita:

Dominar a complexidade da rede, a sua dimensão e a diversidade de ser-viços;

Melhorar a qualidade dos serviços, mantendo-os sempre eficientes, sem “gargalos”;

Reduzir o tempo de down-time;

Reduzir custos de gerenciamento e administração.

1.6. Como Gerenciar?

Não existe uma receita pronta de como gerenciar uma rede, mas se utilizando de padrões, ferramentas e algumas ações específicas podemos alcançar este objetivo. O qual consiste em:

Monitorar a operação dos equipamentos e serviços;

Utilizar ferramentas (softwares) para a automatização dos processos;

Utilizar padrões de gerência;

Construir um modelo hierárquico.

Page 17: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 15

1.7. Conceitos e Competências

Para que o profissional responsável pela gerência da rede desempenhe seu tra-balho de maneira eficiente, alguns conceitos devem ser inocorporados e algumas com-petências desenvolvidas:

Analisar, compreender e configurar os serviços e funções dos sistemas operacionais, ferramentas de administração, recursos disponíveis, mani-pulação de arquivos, segurança e etc.

Compreender as arquiteturas de rede, serviços e funções de servidores de rede.

Conhecer as principais áreas de gerenciamento de uma rede de computa-dores:

o Falhas – Fault Management; o Configuração – Configuration Management; o Contabilização – Accounting Management; o Desempenho – Performance Management; o Segurança – Security Management.

Controlar o tráfego de dados na rede.

Descrever componentes de redes de computadores.

Desenvolver os serviços de administração do sistema operacional de rede e protocolos de comunicação.

Gerenciar a segurança e contabilização dos serviços da rede.

Descrever características técnicas de equipamentos e componentes de acordo com parâmetros de custos e benefícios, atendendo às necessidades da organização e do usuário.

Identificar e informar as necessidades dos usuários em relação à seguran-ça da rede conforme as políticas corporativas de acesso aos recursos computacionais.

Avaliar e especificar as necessidades de treinamento e de suporte técnico aos usuários.

Selecionar programas de aplicação a partir da avaliação das necessidades do usuário.

Conhecer técnicas de trabalho em grupo.

1.8. Habilidades

São muitas as habilidades que um profissional responsável pela Gerência de re-des deve desenvolver, ações que vão desde o suporte técnico a especificação de equi-pamentos. Para citar alguns itens:

Efetuar o gerenciamento da rede;

Descrever configurações para softwares de rede;

Efetuar configurações nos softwares aplicativos;

Elaborar pesquisas (e não buscas) na Internet;

Fazer levantamento de informações de tráfego;

Instalar e configurar protocolos e software de rede;

Realizar pesquisa de novas tecnologias no mercado;

Redigir relatórios;

Page 18: Apostila Gerência de Redes com SNMP

16 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP

Utilizar adequadamente os principais softwares aplicativos na resolução de problemas;

Executar ações de suporte técnico;

Descrever as necessidades do usuário entre os recursos da rede;

Orientar os usuários quanto ao uso dos recursos da rede;

Utilizar os recursos oferecidos pela rede atendendo às especificações e necessidades dos usuários;

Aplicar as técnicas de trabalho realizadas em grupo;

Manter ética profissional.

1.9. Profissionais Envolvidos no Gerenciamento de Redes

Dependendo do tamanho e complexidade da rede a ser gerenciada, as funções abaixo podem ser executadas por uma única pessoa, ou por uma equipe para cada uma das funções.

1.9.1. Gerente de Redes

O gerente de redes é responsável por monitorar e manter o funcionamento da rede (hardware e software).

O gerente de redes precisa garantir que a rede sob sua responsabilidade possa oferecer operações ininterruptas. Nos dias de hoje se a rede parar, o negócio também para.

Ao mesmo tempo em que o gerente de redes é pressionado a oferecer esses ní-veis de serviço, ele é obrigado a trabalhar dentro dos limites do orçamento e com recur-sos limitados.

1.9.2. Administrador de Redes

O Administrador de redes é responsável por desenvolver, implantar e dar manu-tenção ao hardware e ao software básico utilizados no desenvolvimento de aplicações e serviços de rede e aos recursos computacionais ligados a esta rede.

No aspecto pessoal, o profissional deve ser dinâmico e ter interesse em buscar alternativas técnicas e gerenciais através de auto-dedicação.

1.9.3. Gerente de Sistemas

O Gerenciamento de sistemas compreende monitorar e manter dispositivos indi-viduais como softwares, backups, no-breaks, usuários, etc.

Deve negociar entre as diversas áreas das organizações com o objetivo de propor soluções, com o menor impacto possível a rede, bem como do ponto de vista financeiro, de forma que se possam suprir todas as necessidades solicitadas, não interferindo no processo normal de cada área e sim melhorando os processos internos e externos da organização.

Page 19: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Visão Geral 17

1.9.4. Gerente de TI

O gerente de TI deve se preocupar em estabelecer para a sua equipe uma visão geral do processo de gerência, planejar, conhecer as prioridades do negócio, ter bom relacionamento com todos, ser organizado, responsável e, principalmente, que saiba atender, com agilidade, os requisitos de custos, prazos, qualidade e especificações esta-belecidas pelas organizações.

Para um profissional bem sucedido obter essas características é necessário que, além do seu esforço, busque treinamentos adequados, que o qualifiquem conforme as exigências atuais.

Deve estar adequado às tecnologias do momento e sempre aberto às novas tec-nologias e tendências.

Deve ter domínio completo de tudo o que trafega na organização e sempre estar pronto para reconstruir processos quando necessário.

Estar bem representado por uma equipe capacitada e com bom ânimo. Geralmente sabe mais da organização que o próprio proprietário ou diretor.

Page 20: Apostila Gerência de Redes com SNMP

18 Conceitos de Gerência de Redes - Visão Geral | Gerenciamento de Redes com SNMP

Page 21: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos de Gerência de Redes - Introdução 19

2. Conceitos de Gerência de Redes - Introdução

2.1. Gerenciamento de Redes

Compreende o Monitoramento e o Controle automatizado dos dispositivos (hardware e software) e ferramentas, que além de suas funções principais, pode agregar funcionalidades de gerenciamento desde que o profissional que atua com estas ferra-mentas e dispositivos esteja capacitado para tal.

Quando falamos de gerenciamento de redes devemos primeiro estabelecer o que será gerenciado e o que se espera como resultado desse gerenciamento.

Somente assim poderemos selecionar uma ferramenta adequada, seja de detec-ção de falhas, de estatísticas ou de análise de pacotes, mas que atenda as necessidades.

2.2. Ciclo de Gerenciamento

2.2.1. Coleta de dados:

Compreende o monitoramento automático dos recursos. Nessa fase o adminis-trador de redes vai coletar uma quantidade imensa de informações, que será a base para o próximo passo.

2.2.2. Diagnóstico:

Tratamento e análise dos dados colhidos na etapa anterior. Dentre toda a infor-mação coletada separar os dados que serão manipulados posteriormente, daqueles sem valor para o gerenciamento, essa com certeza é uma etapa que demanda conhecimento e disponibilidade de tempo.

2.2.3. Ação:

Controle sobre os recursos gerenciados. Ação neste contexto pode em muitos casos não ser necessariamente a resolução de um problema imediato. Mas uma interversão justamen-te para evitar o surgimento do mesmo. Desta forma temos uma ação proativa e antecipada,

tendo como base os dados colhidos e analisados nas etapas anteriores. Efetuada as alterações e configurações necessárias, reinicia-se todo o processo de comparar os dados anterio-res com os atuais.

Figura 1 - Ciclo de Gerenciamento

Page 22: Apostila Gerência de Redes com SNMP

20 Conceitos de Gerência de Redes - Introdução | Gerenciamento de Redes com SNMP

2.3. Perfil do Gerente de Redes

O perfil do gerente de redes está relacionado ao tamanho e a estrutura da rede, mas alguns pontos são essenciais, como conhecer detalhadamente os protocolos envol-vidos na arquitetura da rede, conhecer a arquitetura de hardware da rede, estar “sem-pre atualizado”, tomar ações para evitar perda de performance e reduzir o downtime.

2.4. Definição do Ambiente

A delimitação do ambiente a ser gerenciado pode ser definida utilizando-se de algumas diretivas:

Inventário total dos dispositivos de rede (Hardware e Software);

Mapeamento lógico dos dispositivos de rede (Layout Lógico e Físico da Topologia).

2.5. Inventário da Rede

Algumas informações são extremamente necessárias para o gerenciamento:

Identificação do fabricante e fornecedor;

Análise dos dispositivos que apresentam o suporte de gerenciamento e qual a função suportada (Versão do protocolo SNMP, Características do Protocolo RMON);

Identificação da arquitetura da rede e do modelo de gerenciamento su-portado;

Documentação das informações apuradas de forma textual-gráfica e em mídia impressa e digital.

2.6. Mapeamento da Rede

O mapeamento da rede deve ser feito destacando-se os dispositivos que desem-penham funções de interconexão ou prestam serviços (Servidores), cujo tempo de inati-vidade, inviabilizará os processos de comunicação, produção e obtenção de informa-ções via rede, acarretando em prejuízos financeiros ou operacionais para a organização.

2.7. Resultados Esperados

Antes de começar um projeto de gerência de redes, é preciso realizar um levan-tamento do que se pretende monitorar em cada host, e os objetivos que pretendem ser alcançados com esse gerenciamento, alguns itens básicos:

Visualização Gráfica da Rede (Topologia);

Emissão de Alarmes (Erros e Falhas);

Dados sobre utilização de Banda, CPU, Memória, Processos;

Envio de alertas (E-mail, SMS, Alertas sonoros) relatando falhas.

2.8. Relatórios

Ao final de um projeto de gerência de redes espera-se ser capaz de gerar dados sobre a rede, entre estes dados estão os relatórios, alguns exemplos:

Estatísticas de carga da rede;

Inventário;

Gráficos (% de utilização da banda por exemplo);

Consumo de disco e memória;

Uptime e Downtime (SLI).

Page 23: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos e Definições de Gerência de Redes 21

3. Conceitos e Definições de Gerência de Redes

Existem diferentes Modelos de Gerenciamento e Arquiteturas, porém, seus prin-cípios são semelhantes. Os conceitos e definições a seguir servem para fundamentar nossos estudos sobre Gerenciamento de Redes.

3.1. Ambiente Gerenciado

São mecanismos com suporte a funcionalidades de gerenciamento, juntamente com os aspectos de comunicação que permitem suas interconexões.

O ambiente gerenciado pode ser constituído de um ou mais mecanismos como:

Roteador(es), Switch(es);

Conexões TCP de um determinado número de servidores;

Todos os dispositivos gerenciáveis de uma mesma sub-rede;

Todos os dispositivos gerenciáveis de um conjunto de LANs interligadas.

3.2. Mecanismo Gerenciado

Hardware ou Software que apresenta necessidade e condições de serem geren-ciados, como interfaces de rede, discos, impressoras, aspectos relacionados à imple-mentação da pilha TCP/IP, estatísticas sobre o processamento de datagramas IP.

3.3. Sistema de Gerenciamento de Redes

Grupo de ferramentas utilizadas para monitoramento e controle da rede. Nor-malmente uma arquitetura genérica, organizada em três camadas, poderá ser usada para representar as categorias de software presentes em um sistema de gerenciamento de rede.

A coleção de software de um sistema de gerenciamento é também organizada para assumir o papel de gerente, agente ou ambos.

3.4. Gerente

Permite a obtenção e o envio de informações de gerenciamento junto aos meca-nismos gerenciados mediante comunicação com um ou mais agentes.

Informações de gerenciamento podem ser obtidas com o uso de requisições efe-tuadas pelo gerente ao agente ou mediante envio automático do agente para um de-terminado gerente.

3.5. Aplicação Gerente

O modelo SNMP apresenta a Aplicação Gerente como uma entidade de rede que usa determinados protocolos das camadas de transporte, de rede, de acesso à rede e de aplicação, para a comunicação com a entidade de rede gerenciada.

3.6. Componentes Principais:

Operações de Gerenciamento;

Management Information Base – MIB;

Banco de dados;

Aplicações de Gerenciamento;

Interface do usuário.

Page 24: Apostila Gerência de Redes com SNMP

22 Conceitos e Definições de Gerência de Redes | Gerenciamento de Redes com SNMP

Figura 2 - Aplicação Gerente

3.6.1. Operações de Gerenciamento

São componentes da Aplicação Gerente que controlam e monitoram os Agentes pertencentes à comunidade de um determinado domínio de gerenciamento.

Uma Operação de gerenciamento é uma entidade de software que implementa as regras estabelecidas no protocolo SNMP.

Podem ler e escrever em variáveis da MIB de cada Agente. Podem armazenar informações de gerenciamento recuperadas junto aos Agentes

em uma MIB própria e/ou em um Banco de Dados. Devem implementar processos para execução das requisições de GetRequest, Se-

tRequest e GetNextRequest PDUs (Protocol Data Units).

3.6.2. Management Information Base – MIB

A MIB da Aplicação Gerente, quando existir, conterá a “relação mestre” para as MIBs de todos os Agentes pertencentes à comunidade de gerenciamento.

Page 25: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Conceitos e Definições de Gerência de Redes 23

3.6.3. Banco de Dados – BD

É constituído por um conjunto de variáveis de interesse, que compreendem to-dos os nomes, configurações, topologia e dados de auditoria dos dispositivos gerencia-dos.

Obs.: Deve ser do tipo relacional e de preferência, ser SQL.

3.6.4. Aplicações de Gerenciamento

São programas que transformam os dados SNMP em informações usadas pelos usuários da Aplicação Gerente.

As aplicações de gerenciamento auxiliam no processamento e análise dos dados obtidos via operações de gerenciamento, ou junto ao Banco de Dados.

3.6.5. Interface do usuário

São interfaces não especificadas pelo modelo SNMP que permitem a interação do usuário com o Sistema de Gerenciamento:

Comandos de Gerenciamento (I/O);

Visualização de mensagens (traps). Interfaces do tipo GUI (Graphic User Interface) permitem ainda:

Apresentação de estatísticas de desempenho;

Resumos de contabilização;

Relatório de falhas;

Inventários de configuração;

Formulários para criação de queries e mapas da topologia de rede.

3.6.6. Agente

Software específico presente nos dispositivos gerenciados, cuja função principal é o atendimento das requisições enviadas pelo gerente e o envio automático de infor-mações ao gerente, indicando a ocorrência de um evento previamente programado.

3.6.7. Aplicação Agente

É definida como uma Entidade junto a um dispositivo de rede. A aplicação Agen-te utiliza os protocolos de rede e o protocolo SNMP para se comunicar via interconexão de rede com uma Aplicação Gerente.

Figura 3 - Aplicação Agente

Page 26: Apostila Gerência de Redes com SNMP

24 Conceitos e Definições de Gerência de Redes | Gerenciamento de Redes com SNMP

3.6.7.1. Componentes chaves:

Os componentes chave da Aplicação Agente são:

O Agente A MIB do Agente

3.6.7.1.1. O Agente

Todo sistema gerenciado por SNMP deverá conter uma entidade Agente rodando em background.

Pode suportar mais de um protocolo de transporte. Porém, o UDP foi o protocolo da Pilha TCP/IP escolhido por possibilitar a interoperação entre qualquer Gerente e Agente.

3.6.7.1.2. A MIB do Agente

A MIB é uma coleção de variáveis de interesse. Seus valores dependem das fun-cionalidades do dispositivo e de quais recursos ou serviços o agente deverá gerenciar.

Page 27: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP

25

4. Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP

Vários modelos foram criados por diversos órgãos com o objetivo de gerenciar redes, dados e telecomunicações em geral. Neste capítulo serão abordados os dois dos principais modelos, o modelo OSI e o modelo SNMP.

4.1. Modelo de Gerenciamento OSI

O Modelo OSI (Open Systems Interconnection), pertencente a ISO (International Organization for Standardization), baseia-se na teoria da orientação a objetos. Com isso, o sistema representa os recursos gerenciados através de entidades lógicas, as quais recebem a denominação de objetos gerenciados. Provê uma arquitetura de gerencia-mento capaz de atender à diversidade de equipamentos da rede.

4.1.1. Funcionamento

O Gerente transmite operações de gerenciamento aos agentes a fim de obter in-formações atualizadas sobre os objetos gerenciados.

O Agente recebe as operações de gerenciamento emitidas pelo gerente e execu-ta as ações necessárias sobre os objetos gerenciados. Ele ainda pode transmitir ao ge-rente notificações geradas pelos objetos gerenciados ou notificações sobre a ocorrência de eventos.

Figura 4 - Operações de Gerenciamento

O conjunto de objetos gerenciados constitui a Base de Informações de Gerenciamento, a MIB.

Figura 5 - MIB

Page 28: Apostila Gerência de Redes com SNMP

26 Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP | Gerenciamento de Redes com SNMP

Para efetuar a troca de informações de Gerenciamento o Modelo OSI utiliza o serviço CMIS (Common Management Information Service) e o protocolo CMIP (Com-mon Management Information Protocol).

Figura 6 - Informações de Gerenciamento

4.1.2. Tarefas/Processos de Gerenciamento

O Modelo de Gerenciamento OSI divide as Tarefas/Processos de Gerenciamento em cinco áreas funcionais:

Gerenciamento de Falhas(Fault Management);

Gerenciamento de Configuração (Configuration Management);

Gerenciamento de Contabilização (Accounting Management);

Gerenciamento de Desempenho (PerformanceManagement);

Gerenciamento de Segurança (Security Management). Também conhecido como Modelo FCAPS, formado a partir das iniciais de cada

área de gerenciamento, em inglês.

4.1.2.1. Gerenciamento de Falhas

Deve detectar e resolver rapidamente situações que degradam o funcionamento da rede. Possui um conjunto de facilidades que habilitam:

Detecção de falhas;

Notificação de usuários;

Isolamento da falha;

Correção do problema;

Gravação de log (com a detecção e sua resolução). É a área mais amplamente implementada, pois tem procedência sobre as demais.

Pode ser reativa, reage às falhas na medida em que ocorrem, ou pró-ativa, busca detec-tar falhas antes que elas ocorram.

4.1.2.2. Gerenciamento de Configuração

Utilizado para que se tenha controle sobre diferentes versões de elementos de hardware e software presentes na rede.

Verifica a mudança de estado dos objetos, conexões físicas e lógicas entre dispo-sitivos, modo de operação de cada dispositivo.

Page 29: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP

27

Pode ser divida em três aspectos:

Inventário: Conjunto de dispositivos na rede, hardware e software;

Configuração: Mapeamento das conexões entre os dispositivos;

Provisão: Parâmetros operacionais modificáveis que apresentam o com-portamento de cada dispositivo.

4.1.2.3. Gerenciamento de Contabilização

Distribuição justa dos custos da rede, fazendo apropriação e tarifação de acordo com a utilização. Planejar o crescimento da rede e evitar abusos na utilização de recur-sos da organização.

4.1.2.4. Gerenciamento de Desempenho

Conjunto de funções para medir, monitorar, avaliar e relatar os níveis de desem-penho alcançados pela rede garantindo um nível de serviço aceitável ao usuário.

Quando a performance se torna inaceitável, envia mensagens de alerta ao Ope-rador.

4.1.2.5. Gerenciamento de Segurança

A meta é controlar o acesso aos recursos da rede de acordo com as definições de cada organização para evitar sabotagens e proteger os dados para que não sejam aces-sados por pessoas não autorizadas. Visa:

Proteção das informações;

Controle de acesso ao sistema;

Monitorar uso dos recursos;

Criar, manter e examinar “log-files”. É essencial em hosts conectados a Internet.

4.2. Modelo de Gerenciamento SNMP

O modelo SNMP, também chamado de Modelo Internet, possui uma abordagem genérica, podendo gerenciar diferentes tipos de sistemas, bastando apenas possuir al-guns componentes elementares:

Gerente;

Agente;

Entidade com Dupla Função (Opcional);

Informações de Gerenciamento;

Protocolo de Gerenciamento.

Page 30: Apostila Gerência de Redes com SNMP

28 Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP | Gerenciamento de Redes com SNMP

4.2.1. Estação de Gerenciamento contendo entidades SNMP (Gerente)

Estação de Gerenciamento, contendo o Gerente que recebe todas as informa-ções e realiza ações nos agentes.

Aplicação de Gerenciamento, o software escolhido para interpretar as informa-ções coletadas e adicionar funcionalidades como a geração de gráfico, armazenamento em Banco de Dados, disparo de alertas para dispositivos específicos entre outros.

Figura 7 - Gerente SNMP

4.2.2. Nós gerenciados contendo a entidade SNMP (Agente)

Dispositivos dos quais os dados serão coletados e enviados ao Gerente. Em casos extremos dispara os Traps.

Figura 8 - Agentes SNMP

Page 31: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP

29

4.2.3. Entidade com Dupla Função

Opcionalmente, entidades SNMP com dupla função, capazes de desempenhar o papel de Agente e Gerente simultaneamente.

Figura 9 - Entidade Dupla Função

4.2.4. Informações de Gerenciamento

Informações de gerenciamento em cada nó, as quais descrevem a configuração, o estado, as estatísticas e as ações que controlam os nós gerenciados.

Figura 10 - informações de Gerenciamento

4.2.5. Protocolo de Gerenciamento

Um protocolo de gerenciamento utilizado pelos Gerentes e Agentes durante a troca de mensagens.

Figura 11 - Protocolo de Gerenciamento

Page 32: Apostila Gerência de Redes com SNMP

30 Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP | Gerenciamento de Redes com SNMP

4.2.6. Monitoramento via SNMP

Visão do processo completo de comunicação entre Agente e Gerente. A comuni-cação entre os agentes e a aplicação gerente ocorre por meio do protocolo SNMP é através deste protocolos que as Informações de Gerenciamento colhidas pelo Agente são enviadas pelo Gerente, que por sua vez irá repassar à Aplicação de gerenciamento, que efetuará as ações adicionais como armazenar em banco de dados, alimentar gráfi-cos, disparar alertas entre outras.

Figura 12 - Monitoramento via SNMP

4.2.7. Monitoramento via SNMP utilizando Entidade com Dupla Fun-ção

Visão do conjunto de elementos envolvidos em uma solução de gerenciamento com SNMP.

Figura 13 - Monitoramento via SNMP (Entidade com Dupla Função)

Page 33: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 31

5. Gerenciamento de Redes - O Protocolo SNMP

O SNMP (Simple Network Management Protocol) é um protocolo da camada de aplicação que tem como objetivo principal coletar informações de dispositivos gerenciá-veis. É o responsável por veicular informações de gerência (valores das MIBs).

Figura 14 - Protocolo SNMP

Suas interações são sem conexão, trabalha com mensagens no protocolo UDP/IP, utiliza as portas 161 e 162 e seus pacotes tem tamanho variável.

Esse protocolo se tornou padrão para gerência na Internet, por ser simples de implementar e amplamente difundido.

É composto de um protocolo para troca de mensagens e padrões para estruturar a informação.

Figura 15 - Componentes SNMP

As Informações de Gerenciamento são armazenadas em MIBs que são definidas através da SMI (Structure of Management Information) e transportadas através do pro-tocolo SNMP.

Page 34: Apostila Gerência de Redes com SNMP

32 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP

5.1. SMI

Podemos entender a SMI como uma descrição lógica das informações. É compos-ta dos seguintes elementos:

Nomes dos objetos gerenciados: Referenciados através dos OIDs (Object IDentifiers);

Sintaxe dos dados: Seguindo os padrões da ASN.1 (Abstract Syntax Nota-tion 1);

Sintaxe de transferência: Seguindo as regras da BER (Basic Encoding Ru-les).

5.2. ASN.1

É uma linguagem de descrição de dados da ISO, definida em formato texto não ambíguo, que permite definir o modelo de dados com formato independente de máqui-na. A implementação de dados não é considerada.

5.2.1. Sintaxe básica em ASN.1

5.2.1.1. Tipos de dados

Primitivos: INTEGER, OCTET STRING, OBJECT IDENTIFIER, NULL, Subtipos;

Construtores: Listas e Tabelas;

Definidos: Nomes alternativos para tipos ASN.1.

5.2.1.2. Notações em ASN.1

As notações em ASN.1 seguem algumas convenções:

Tabela 01 - Notações em ASN.1

5.2.1.3. Exemplos de Definição ASN.1

Estrutura genérica: sysContact OBJECT-TYPE SYNTAX DisplayString (SIZE (0...255)) ACCESS read-write STATUS mandatory DESCRIPTION “Texto xxxxxxxxxxxxxxxxxxxxxxxx”

Page 35: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 33

Exemplo real de definição: parDhcpStartTime OBJECT-TYPE SYNTAX DisplayString (SIZE (1..30)) ACCESS read-only STATUS mandatory DESCRIPTION “Dhcp Server start time”

5.2.1.3.1. Campo SYNTAX:

Define o conteúdo do objeto, que pode ser do tipo:

INTEGER: Inteiros de 32 bits;

INTEGER (1...100) Sub-tipo inteiro;

OCTET STRING: String de bytes;

OBJECT IDENTIFIER: Localização de outro objeto na MIB. Aceita alguns tipos específicos de aplicação:

IpAddress: OCTET STRING com 4 bytes;

Counter: Inteiro 32 bits;

Gauge: Inteiro 32 bits;

TimeTicks: Inteiro 32 bits (1/100 de segundo).

5.2.1.3.2. Campo ACCESS:

Define a acessibilidade do objeto:

read only: Somente leitura;

read-write: Leitura e escrita;

write-only: Somente escrita, senha do equipamento, por exemplo;

not-accessible: Não acessível, campo para operações internas, por exem-plo.

5.2.1.3.3. Campo STATUS

Representa a situação do objeto na MIB:

Mandatory: Devem ser implementados por todos os agentes, os valores contidos devem ser válidos;

Optional: Pode ou não ser implementado;

Deprecated: Foi substituido por novo objeto, mas ainda é válido, tornan-do-se obsoleto mais tarde;

Obsolete: Não deve ser considerado.

Page 36: Apostila Gerência de Redes com SNMP

34 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP

5.3. Mensagem SNMP

A mensagem possui tamanho variável, limitada a 484 bytes. Message length: Tamanho da mensagem lembre-se que o pacote SNMP tem ta-

manho variável; Protocol Version: Versão do Protocolo SNMP; Community String: Nome da comunidade; PDU Header: Cabeçalho do PDU; PDU Body: Dados da PDU.

Figura 16 - Mensagem SNMP

5.4. As PDUs SNMP

PDU (Protocol Data Unit) ou simplesmente Unidade de Dados de Protocolo, identifica uma série de informações, como versão do protocolo, tipo de operação e có-digos de erro.

Figura 17 - PDUs SNMP

Toda operação SNMP gera uma resposta, com exceção da Operação de Trap. Os dados das operações são transportados na porta 161 UDP/IP, e os traps são transporta-dos na porta 162 UDP/IP.

Page 37: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 35

5.4.1. Estrutura das PDUs SNMP

A figura 18 mostra a estrutura das PDU’s SNMP. Cada parte da PDU será explica-da nas seções seguintes.

Figura 18 - Estrutura das PDUs SNMP

5.4.1.1. Preâmbulo e Cabeçalho

5.4.1.1.1. Versão:

0: SNMPv1

1: SNMPv2c

2: SNMPv2u/SNMPv2p

3: SNMPv3

5.4.1.1.2. Tipo de PDU:

0: getRequest

1: getNextRequest

2: getResponse

3: setRequest

4: trap

5.4.1.1.3. Request ID:

Valor numérico usado para fazer referência a pedidos e respostas.

5.4.1.1.4. Códigos de erro:

0: noError: Sucesso na operação.

1: tooBig: Resposta muito grande.

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.

5.4.1.1.5. Error index:

Indica qual variável listada na PDU causou o erro.

Page 38: Apostila Gerência de Redes com SNMP

36 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP

5.5. A Arquitetura SNMP

O Sistema de Gerenciamento possui a Aplicação Gerente que além de receber as informações do Gerente SNMP, pode também solicita-las. O Gerente SNMP irá disparar então uma operação no Agente SNMP.

No Sistema Gerenciado as requisições que chegam ao Agent SNMP, são submeti-das às MIBs para validar a existência dos objetos, permissões, tipos de dados e etc. A etapa seguinte consiste em consultar o recurso para obter o valor, lembre-se que a MIB só organiza os objetos, mas não possui dados.

Figura 19 - Arquitetura SNMP

5.6. Operações/Mensagens SNMP

5.6.1. Get-Request

Recupera o valor de informações de gerenciamento.

Figura 19 - Get-Request

Page 39: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 37

5.6.2. Get-Next-Request

Recupera o valor de informações de gerenciamento existentes após um determi-nado identificador; pega o valor da próxima variável.

Figura 201 - Get-Next-Request

5.6.3. Get-Bulk-Request

Estende a funcionalidade da função Get-Next. Traz um bloco de informações de cada vez.

Figura 212 - Get-Bulk-Request

5.6.4. Set-Request

Modifica o valor de informações de gerenciamento.

Figura 23 - Set-Request

Page 40: Apostila Gerência de Redes com SNMP

38 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP

5.6.5. TRAP

Informa um evento ocorrido no sistema gerenciado.

Figura 224 - Trap

5.6.6. Inform-Request

Fornece uma informação de gerenciamento não solicitada. É usado entre geren-tes, porém, diferentemente do Trap, no caso do Inform-Request existe a confirmação do recebimento da mensagem.

Figura 235 - Inform-Request

Page 41: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 39

5.6.7. Exemplo de Operação

Na figura 26 temos um exemplo de operação, primeiro uma ação do tipo Get-Request, que retorna o nome do equipamento, em seguida uma ação de GetNext-Request que retorna a informação referente a versão do equipamento e por último uma ação de Set-Request em um objeto que é apenas leitura (read only) e portanto a respos-ta de erro.

Figura 246 - Exemplo de Operação SNMP

5.7. Limitações de SNMP

5.7.1. Falta de segurança

Esquema de autenticação trivial;

Limitações no uso do método SET.

5.7.2. Ineficiência

Esquema de eventos limitado e fixo;

Operação baseada em pooling;

Comandos transportam poucos dados.

5.7.3. Falta de funções específicas

MIB com estrutura fixa;

Falta de comandos de controle;

Falta de comunicação entre gerenciadores.

5.7.4. Não confiável:

Baseado em UDP/IP;

Traps sem reconhecimento.

Page 42: Apostila Gerência de Redes com SNMP

40 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP

5.8. Vulnerabilidade SNMP - Proteção:

Aplicar patchs fornecidos pelo fabricante;

Utilizar aplicações SNMP somente onde seja necessário;

Filtrar o acesso aos dispositivos gerenciados, permitindo somente o tráfe-go a partir de seus próprios servidores de gerenciamento;

Alterar o nome padrão das comunidades;

Isolar o tráfego de gerência em uma rede específica, uma VLAN por exemplo.

5.9. Versões SNMP:

SNMP v1

SNMP v2

SNMP v3

5.9.1. SNMP V1

Características e Operações Básicas.

5.9.1.1. Get

Usado pelo NMS (Network Management System – Sistema de Gerenciamento de Redes) para adquirir o valor de uma ou mais instâncias de um objeto de um agente.

5.9.1.2. GetNext

Usado pelo NMS para adquirir o valor do próximo objeto em uma tabela ou lista.

5.9.1.3. Set

Usado pelo NMS para atribuir um valor a um objeto no agente.

5.9.2. SNMP V2

Durante a “divergência” SNMP v2 foram definidos quatro variações:

5.9.2.1. SNMPv2 Original

SNMPv2p: Com o "p" referindo-se a "party-based“ security;

5.9.2.2. SNMPv2 baseado na comunidade

SNMPv2c: Padrão utilizado até hoje.

5.9.2.3. SNMPv2 baseada no usuário

SNMPv2u: Esquema de segurança baseado em usuários e senha.

5.9.2.4. SNMPv2 Estrela

SNMPv2*: Combina elementos de SNMPv2p e SNMPv2u. Nunca foi formalmente padronizado.

As três primeiras variações foram documentadas em conjuntos de padrões SNMP

RFC Standard, a quarta não foi.

Page 43: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 41

A estrutura do formato de mensagem global para cada variante é discutida num padrão administrativo ou de segurança para a variação em questão, que faz referência à norma SNMPv2 compartilhada para o formato de PDU (RFC 1905).

5.9.3. SNMP V2 (v2c)

5.9.3.1. Características e Operações adicionais

5.9.3.1.1. Trap

Mensagem não solicitada, enviada por um agente para informar ao NMS sobre um evento significante.

5.9.3.1.2. GetBulk

Usado pelo NMS para adquirir eficientemente grandes blocos de dados.

5.9.3.1.3. Inform

Permite que um NMS envie traps para outro NMS e receba respostas desses traps.

5.9.4. SNMP V3

5.9.4.1. Melhorias de Segurança

5.9.4.1.1. USM

User-based Security Model: Modelo de Segurança Baseada em Usuários.

5.9.4.1.2. VACM

View-based Access Control Model: Modelo de controle de acesso baseado em vi-sões.

5.9.4.1.3. Configuração dinâmica de agentes SNMP utilizando

comandos SNMP

Apresenta a capacidade de configurar dinamicamente o agente SNMP usando comandos SET SNMP contra os objetos MIB que representam a configuração do agente. Permite configuração dinâmica de adição, exclusão e modificação de entradas de confi-guração local ou remotamente. Podemos via comando alterar as configurações do snmpd.conf do host local ou remoto.

5.10. Modelo de Segurança SNMP

5.10.1. Modelo mais comum

SNMP V2c: Baseado no conceito de “comunidade”, cada dispositivo implementa uma ou mais comunidades.

5.10.2. Comunidade default:

public: Leitura;

private: Gravação.

Page 44: Apostila Gerência de Redes com SNMP

42 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP

5.10.3. Uma comunidade define

Método para autenticar o acesso (senha);

Visibilidade da MIB;

Privilégios de acesso à MIB.

5.10.4. Serviço de autenticação

Todas as mensagens SNMP são autenticadas; o nome da comunidade serve como senha, porém, esse é um sistema de segurança frágil e limitado, além de não permitir a operação SET em alguns casos.

Alguns dispositivos controlam o acesso usando o nome da comunidade e o nú-mero IP do(s) gerente(s), o que eleva um pouco a segurança, mas não resolve o proble-ma.

5.11. Traps em SNMP

São mensagens enviadas pelo agente ao gerente; não são respostas a pedidos, ou seja, são mensagens não solicitadas e representam eventos anormais.

5.11.1. Classificação

Genéricos: Presentes na MIB padrão;

Específicos: Definidos na MIB “enterprises”.

5.11.1.1. Traps genéricos

5.11.1.1.1. ColdStart:

Dispositivo foi ligado;

Configuração local pode ter sido alterada;

Informa ao gerente sobre sua existência.

5.11.1.1.2. WarmStart:

Dispositivo foi reinicializado;

Configuração local não foi alterada.

5.11.1.1.3. LinkDown:

Link ou porta de comunicação ligada ao nó falhou.

5.11.1.1.4. LinkUp:

Link ou porta local foi (re)ativada.

5.11.1.1.5. AuthenticationFailure:

O dispositivo recebeu mensagem SNMP não autorizada;

Comunidade não reconhecida;

Número IP de gerente inválido.

5.11.1.1.6. EgpNeighborLoss:

Exterior Gateway Protocol falhou no nó;

Normalmente usado em roteadores.

Page 45: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Redes - O Protocolo SNMP 43

5.11.1.1.7. EnterpriseSpecific:

Indica que a trap é específica de uma empresa;

Fornencedores definem suas próprias traps na ramificação da empresa privada na árvore MIB.

Page 46: Apostila Gerência de Redes com SNMP

44 Gerenciamento de Redes - O Protocolo SNMP | Gerenciamento de Redes com SNMP

Page 47: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | A MIB 45

6. A MIB

A MIB (Management Information Base - Base de Informações de Gerenciamen-to) é um conjunto dos objetos gerenciados, com o objetivo de abranger informações necessárias para a gerência da rede. É importante salientar que a MIB não contém obje-tos reais, somente os organiza.

6.1. Objetos Gerenciados

São “estruturas de dados” resultantes da modelagem dos recursos da rede a se-rem gerenciados, podem ter permissões para serem lidos ou alterados sendo que cada leitura representará o estado real do recurso e cada alteração será refletida no próprio recurso, isso permite automatização de grande parte das tarefas de gerência.

6.2. Modelos de Gerenciamento

O padrão OSI define três modelos para gerenciamento de redes:

Modelo Organizacional;

Modelo Funcional;

Modelo Informacional.

6.2.1. Modelo Organizacional

Descreve a forma pela qual a gerência pode ser distribuída entre domínios e sis-temas dentro de um domínio.

6.2.2. Modelo funcional

Descreve as áreas funcionais e seus relacionamentos.

6.2.3. Modelo informacional

Provê a base para a definição de objetos gerenciados e suas relações, classes atributos, ações e nomes.

6.3. Características do Modelo OSI

Na definição de objetos gerenciados é utilizada a orientação a objetos. Objetos com características semelhantes são agrupados em classes de objetos, uma classe pode ser uma subclasse de outra, e a segunda herda todas as propriedades da primeira, tam-bém chamada de super-classe.

6.3.1. Classe, Subclasse e Superclasse

Uma classe é definida por:

Atributos da classe;

Ações que podem ser invocadas;

Eventos que podem ser relatados;

Subclasse a qual ela deriva;

Superclasse na qual ela está contida.

Page 48: Apostila Gerência de Redes com SNMP

46 A MIB | Gerenciamento de Redes com SNMP

6.3.2. Hierarquias dos Objetos Gerenciados

Para a definição dos objetos gerenciados deve-se considerar três hierarquias:

Hierarquia de herança;

Hierarquia de nomeação;

Hierarquia de registros: Usados na caracterização e identificação de obje-tos gerenciados.

6.3.2.1. Hierarquia de Herança

Conhecida também como hierarquia de classe tem como objetivo facilitar a mo-delagem dos objetos, através da utilização do paradigma da orientação a objetos. Essa característica facilita a definição de classes, superclasses, subclasses.

6.3.2.2. Hierarquia de Nomeação

Hierarquia usada para identificar uma instância de um objeto. Conhecida como Hierarquia de containment, descreve a relação de "estar contido em" aplicado aos obje-tos.

Um objeto gerenciado está contido dentro de um (e somente um) objeto geren-ciado, um objeto gerenciado existe somente se o objeto que o contém existir.

6.3.2.3. Hierarquia de Registro

Hierarquia usada para identificar os objetos, independentemente das hierarqui-as de heranças e nomeação. É especificada segundo regras estabelecidas pela notação ASN.1 (Abstract Syntax Notation. One).

Cada objeto é identificado por uma sequência de números, correspondente aos nós percorridos desde a raiz, até o objeto em questão.

6.4. MIB da Internet

O RFC (Request for Comments) 1066 apresentou a primeira versão da MIB, a MIB-1, o IAB (Internet Activities Board) aceita MIB como padrão no RFC 1156.

O RFC 1158 propôs uma segunda MIB, a MIB-II, aceita e formalizada como pa-drão no RFC 1213.

6.5. A árvore da MIB II

Usa arquitetura de árvore de registro, cada parte da informação da árvore é um nó rotulado formado por:

Identificador de objetos (OID): 1.3.6.1.1

Descrição textual: directory(1)

Page 49: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | A MIB 47

6.5.1. Nó Raiz

O nó raiz da árvore (MIB) possui três sub-árvores:

ccitt(0): Administração CCITT (Comite Consultatif Internationale de Tele-graphie et Telephonie);

iso(1): Administração ISO;

joint-iso-ccitt(2): Administração ISO e CCITT.

Figura 27 - Nó raiz da árvore MIB

6.5.2. Nó iso

Sob o nó iso(1) temos as subárvores:

org(3);

dod(6);

Internet(1).

Figura 258 -Nó iso(1)

Page 50: Apostila Gerência de Redes com SNMP

48 A MIB | Gerenciamento de Redes com SNMP

6.5.3. Nó internet

O nó Internet(1) possui quatro subárvores:

directory(1): Contém informações sobre o serviço de diretórios OSI;

mgmt(2): Informações de gerenciamento;

experimental(3): Objetos em pesquisa pela IAB;

private(4): Objetos definidos por outras organizações.

Figura 29 - Nó internet(1)

6.5.4. Nó mgmt

Abaixo do nó mgmt(2) estão os objetos usados para se obter informações especí-ficas de rede.

Figura 30 - Nó mgmt

Page 51: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | A MIB 49

6.5.5. Árvore MIB II

Visão geral da árvore da MIB II.

Figura 31 - Árvore MIB II

6.5.6. Exemplo de Objeto da MIB

Objeto System (1.3.6.1.2.1.1)

Figura 32 - Objeto System (1.3.6.1.2.1.1)

6.5.7. Exemplos de Grupos

6.5.7.1. Grupo System

Sistema de operação dos dispositivos da rede

6.5.7.1.1. Descrição textual:

iso.org.dod.internet.mgmt.mib-2.system

Page 52: Apostila Gerência de Redes com SNMP

50 A MIB | Gerenciamento de Redes com SNMP

6.5.7.1.2. OID

1.3.6.1.2.1.1

6.5.7.1.3. Componentes:

sysDesc(1): Descrição do sistema, nome completo e versão do tipo de hardware, sistema operacional e software de rede;

sysObjectId(2): OID de registro (fabricante do sistema);

sysUpTime(3): Tempo de atividade do sistema (1/100 s);

sysContact (4): Pessoa ou grupo responsável pelo nó;

sysName(5): Nome do nó na rede;

sysLocation(6): Localização física do nó;

sysServices(7): Flags indicando serviços suportados.

6.5.7.2. Grupo Interfaces - Interface da rede com o meio físico

6.5.7.2.1. Descrição textual

iso.org.dod.internet.mgmt.mib-2.interface

6.5.7.2.2. OID

1.3.6.1.2.1.2

6.5.7.2.3. Componentes

ifNumber(1): Número de interfaces de rede (independentemente do seu estado atual) presentes no sistema;

ifTable(2): A tabela de informações sobre cada interface de rede, o núme-ro de interfaces é dado pelo valor do ifNumber;

ifEntry(ifTable 1): Entradas de valores sobre cada uma das interfaces;

ifIndex(ifEntry 1): Um valor único para cada interface, permite identificar a interface;

ifDescr(ifEntry 2): Identificação da interface, deve incluir o nome do fabri-cante, o nome do produto e a versão da interface;

ifType(ifEntry 3): Tipo de interface;

ifMtu(ifEntry 4): Tamanho máximo do datagrama suportado pela interfa-ce, especificado em octetos;

ifSpeed(ifEntry 5): Uma estimativa da largura de banda atual da interface em bits por segundo. Para interfaces que não variam em largura de banda ou ainda para aquelas onde essa estimativa não é considerada necessária, esse objeto deve conter a largura de banda nominal;

ifPhysAddress(ifEntry 6): Endereço físico da interface, Para interfaces que não têm tal endereço (por exemplo, uma linha serial), esse objeto deve conter um octeto string de comprimento zero;

ifAdminStatus(ifEntry 7): Indica o estado desejado da interface;

ifOperStatus(ifEntry 8): Indica o estado atual de funcionamento do inter-face;

o up(1), -- pronto para passar pacotes; o down(2), -- interface desabilitada; o testing(3) -- indica que nenhum pacote em estado operacional

podem ser passados.

Page 53: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | A MIB 51

ifLastChange(ifEntry 9): O tempo de funcionamento desde que a interfa-ce entrou em estado operacional;

ifInOctets(ifEntry 10): O número total de octetos recebidos na interface, incluindo caracteres de enquadramento (framing characters);

ifInUcastPkts(ifEntry 11): O número de pacotes unicast entregues a um protocolo de camada superior;

ifInNUcastPkts(ifEntry 12): O número de pacotes não unicast (ou seja, broadcast ou multicast) entregues a um protocolo de camada superior;

ifInDiscards(ifEntry 13): O número de pacotes de entrada que foram es-colhidos para serem descartados, mesmo que nenhum erro tenha sido detectado, impede a entrega dos pacotes a um protocolo de camada su-perior. Uma razão possível para descartar tais pacotes poderia ser para li-berar espaço de buffer;

ifInErrors(ifEntry 14): O número de pacotes de entrada que continham erros que impedem seu fornecimento a um protocolo de camada superi-or;

ifInUnknownProtos(ifEntry 15): O número de pacotes recebidos através da interface que foram descartados por causa de um protocolo desco-nhecido ou não suportado;

ifOutOctets(ifEntry 16): O número total de octetos transmitidos na inter-face, incluindo caracteres de enquadramento (framing characters);

ifOutUcastPkts(ifEntry 17): O número total de pacotes que o protocolo de camada superior solicitou que fossem transmitidos, incluindo aqueles que foram descartados ou não enviados;

ifOutNUcastPkts(ifEntry 18): O número total de pacotes não unicast (ou seja, broadcast ou multicast) que o protocolo de camada superior solici-tou que fossem transmitidos, incluindo aqueles que foram descartados ou não enviados;

ifOutDiscards(ifEntry 19): O número de pacotes de saída que foram esco-lhidos para serem descartados, mesmo que nenhum erro tenha sido de-tectado, impede a transmissão dos pacotes. Uma razão possível para des-cartar tais pacotes poderia ser para liberar espaço de buffer;

ifOutErrors(ifEntry 20): O número de pacotes de saída que não puderam ser transmitidos devido a erros;

ifOutQLen(ifEntry 21): O comprimento da fila de saída de pacotes (em pacotes);

ifSpecific(ifEntry 22): Uma referência a definições MIB específicas para uma mídia em particular, sendo usado para realizar a interface com o ob-jeto. Por exemplo, se a interface é realizado por uma ethernet, então o valor deste objeto refere-se a um documento que define objetos específi-cos para ethernet. Se esta informação não é presente, seu valor deve ser definido como OBJECT IDENTIFIER { 0 0 }, que é uma sintaxe válida para identificador de objeto, e estará em conformidade com qualquer imple-mentação de ASN.1 e BER que deverá ser capaz de gerar e reconhecer es-se valor.

Page 54: Apostila Gerência de Redes com SNMP

52 A MIB | Gerenciamento de Redes com SNMP

6.5.7.3. Grupo at (Address Translation)

Mapeamento de endereços IP em endereços físicos.

6.5.7.3.1. Descrição textual

iso.org.dod.internet.mgmt.mib-2.at

6.5.7.3.2. OID

1.3.6.1.2.1.3

6.5.7.3.3. Componentes

atTable(1): As tabelas de tradução de endereços, devem conter o endere-ço de rede para seu endereço físico equivalente. Algumas interfaces não usam tabelas de conversão para determinar equi-valências endereço (por exemplo, DDN-X.25 tem um método algorítmico). Se todas as interfaces são deste tipo, então a tabela Address Translation está vazia, ou seja, tem zero entradas;

atEntry(atTable 1): Cada entrada contém um endereço de rede para seu endereço físico equivalente;

atIfIndex(atEntry 1): A interface identificada por um determinado valor deste índice é a mesma interface identificada pelo mesmo valor de ifIn-dex;

atPhysAddress(atEntry 2): Endereço físico da interface;

atNetAddress(atEntry 3): O endereço da rede (por exemplo, o endereço IP).

6.5.7.4. Grupo ip - Protocolo IP

6.5.7.4.1. Descrição textual

iso.org.dod.internet.mgmt.mib-2.ip

6.5.7.4.2. OID

1.3.6.1.2.1.4

6.5.7.4.3. Componentes (Apenas Alguns)

ipForwarding(1): Se o IP Forward está ou não habilitado no dispositivo; o forwarding(1) o not-forwarding(2)

ipInReceives(3): O número total de datagramas de entrada recebidos pe-la interface,incluindo aqueles recebidos com erro;

ipInAddrErrors(5): O número de datagramas de entrada descartados por-que o endereço IP de destino em seu campo de cabeçalho IP não era um endereço válido. Essa contagem inclui endereços inválidos (por exemplo, 0.0.0.0) e os endereços de Classes não suportsadas (por exemplo, Classe E);

ipInUnknownProtos(7): O número de datagramas recebido com sucesso, mas descartados por causa de um protocolo desconhecido ou não supor-tado;

Page 55: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | A MIB 53

ipOutDiscards(11): O número de datagramas IP de saída para os quais não foram encontrados problemas para impedir a sua transmissão ao seu destino, mas que foram descartados (por exemplo, por falta de espaço de buffer);

ipOutNoRoutes(12): O número de datagramas IP descartados, porque nenhuma rota podia ser encontrada para transmiti-los aos seus destinos;

ipAddrTable(20): Tabela de endereçamento IP;

ipAdEntReasmMaxSize(ipAddrEntry 5): O tamanho do maior datagrama IP que esta entidade pode re-montar a partir dos datagramas IP fragmen-tados recebidos por esta interface;

ipRouteTable(21): Tabela de roteamento IP;

ipRouteDest(ipRouteEntry 1): Endereço IP do destino da rota. Uma en-trada com valor 0.0.0.0 é considerada uma rota padrão;

ipRouteMetric1(ipRouteEntry 3): A métrica de roteamento primário para esta rota. A semântica desta métrica é determinada pelo protocolo de ro-teamento especificado na rota do valor ipRouteProto. Se essa métrica não é utilizada, seu valor deve ser definido como -1;

ipRouteNextHop(ipRouteEntry 7): O endereço IP do próximo salto da ro-ta. (No caso de uma rota ligada a uma interface que se realiza através de uma mídia de broadcast, o valor deste campo é o endereço IP do agente daquela interface).

6.5.7.5. Grupo icmp – Protocolo ICMP

6.5.7.5.1. Descrição textual

iso.org.dod.internet.mgmt.mib-2.icmp

6.5.7.5.2. OID

1.3.6.1.2.1.5

6.5.7.5.3. Componentes (Apenas Alguns)

icmpInMsgs(icmp 1): O número total de mensagens ICMP que a entidade recebeu. Note que a contagem inclui todos os contadores de icmpInEr-rors;

icmpInErrors(icmp 2): O número de mensagens ICMP que a entidade re-cebeu, mas determinada por erros ICMP específicos (ICMP checksums com erro, erro no tamanho, etc);

icmpInDestUnreachs(icmp 3): O número de mensagens ICMP recebidas com destino inacessível;

icmpInTimeExcds(icmp 4): O número de mensagens ICMP recebidas com tempo excedido.

Page 56: Apostila Gerência de Redes com SNMP

54 A MIB | Gerenciamento de Redes com SNMP

6.5.7.6. Grupo TCP – Protocolos TCP

6.5.7.6.1. Descrição textual

iso.org.dod.internet.mgmt.mib-2.tcp

6.5.7.6.2. OID

1.3.6.1.2.1.6

6.5.7.6.3. Componentes (Apenas Alguns)

tcpConnTable(13): Uma tabela contendo informações de conexão TCP específicas;

tcpConnState(tcpConnEntry 1): O estado da conexão TCP;

tcpConnLocalAddress(tcpConnEntry 2): O endereço IP local para esta co-nexão TCP. No caso de uma conexão no estado “ouvindo”, disposta a aceitar conexões para qualquer interface IP associada ao nó, o valor 0.0.0.0 é usado;

tcpConnRemAddress(tcpConnEntry 4): O endereço IP remoto para essa conexão TCP;

tcpConnRemPort(tcpConnEntry 5): O número da porta remota para esta conexão TCP.

6.5.7.7. Grupo UDP – Protocolos UDP

6.5.7.7.1. Descrição textual

iso.org.dod.internet.mgmt.mib-2.udp

6.5.7.7.2. OID

1.3.6.1.2.1.7

6.5.7.7.3. Componentes

udpInDatagrams(1): O número total de datagramas UDP entregues aos usuários UDP;

udpNoPorts(2): O número total de datagramas UDP recebidos para os quais não houve aplicação na porta de destino;

udpInErrors(3): O número de datagramas UDP recebidos que não pude-ram ser entregues por outras razões que não a falta de uma aplicação na porta de destino;

udpOutDatagrams(4): O número total de datagramas UDP enviados a partir desta entidade;

udpTable(5): Uma tabela contendo informações sobre os ouvintes UDP;

udpEntry(udpTable 1): Informações sobre um determinado ouvinte UDP;

udpLocalAddress(udpEntry 1): O endereço IP local para este ouvinte UDP. No caso de um ouvinte UDP que está disposto a aceitar datagramas para qualquer interface IP associado com o nó, o valor 0.0.0.0 é usado;

udpLocalPort(udpEntry 2): O número da porta local para este ouvinte UDP.

Page 57: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | A MIB 55

6.5.7.8. Grupo EGP – Protocolo EGP

6.5.7.8.1. Descrição textual

iso.org.dod.internet.mgmt.mib-2.egp

6.5.7.8.2. OID

1.3.6.1.2.1.8

6.5.7.8.3. Componentes (Apenas Alguns)

egpInMsgs(1): O número de mensagens EGP recebidas sem erro;

egpInErrors(2): O número de mensagens EGP recebidas com erro;

egpOutMsgs(3): O número total de mensagens EGP gerados localmente;

egpOutErros(4): O número de mensagens EGP gerados localmente não enviadas devido a limitações de recursos dentro de uma entidade EGP;

egpNeighTable(5): A tabela de vizinhos EGP.

6.5.7.9. Grupo cmot – Protocolo CMOT

6.5.7.9.1. Descrição textual

iso.org.dod.internet.mgmt.mib-2.cmot

6.5.7.9.2. OID

1.3.6.1.2.1.9 Histórico.

6.5.7.10. Grupo Transmission – Meios de Transmissões

6.5.7.10.1. Descrição textual

iso.org.dod.internet.mgmt.mib-2.transmission

6.5.7.10.2. OID

1.3.6.1.2.1.10 Histórico.

6.5.7.11. Grupo SNMP – Protocolo SNMP

6.5.7.11.1. Descrição textual

iso.org.dod.internet.mgmt.mib-2.snmp

6.5.7.11.2. OID

1.3.6.1.2.1.11

6.5.7.11.3. Componentes

snmpInPkts(1): O número total de mensagens entregues à entidade SNMP pelo serviço de transporte;

snmpOutPkts(2): O número total de mensagens SNMP que foram passa-dos da entidade protocolo SNMP para o serviço de transporte;

snmpInBadVersions(3): O número total de mensagens SNMP que foram entregues à entidade protocolo SNMP, mas eram de uma versão SNMP não suportada;

Page 58: Apostila Gerência de Redes com SNMP

56 A MIB | Gerenciamento de Redes com SNMP

snmpInBadCommunityNames(4): O número total de mensagens SNMP entregues à entidade protocolo SNMP, mas que usaram um nome da co-munidade SNMP desconhecida pela entidade;

snmpInBadCommunityUses(5): O número total de mensagens SNMP en-tregues à entidade protocolo SNMP que representaram uma operação SNMP que não era permitida pela comunidade SNMP nomeada na men-sagem;

snmpInASNParseErrs(6): O número total de erros ASN.1 ou BER encon-trados pela entidade protocolo SNMP quando decodificou as Mensagens SNMP recebidas;

-- (7): Não é usado;

snmpInTooBigs(8): O número total de PDUs SNMP que foram entregues à entidade protocolo SNMP e para os quais o valor do campo status de erro é `tooBig ';

SnmpInNoSuchNames(9): O número total de PDUs SNMP que foram en-tregues à entidade protocolo SNMP e para os quais o valor do campo sta-tus de erro é `noSuchName ';

SnmpInBadValues(10): O número total de PDUs SNMP que foram entre-gues à entidade protocolo SNMP e para os quais o valor do campo status de erro é `badValue ';

snmpInReadOnlys(11): O número total válido de PDUs SNMP que foram entregues à entidade protocolo SNMP e para os quais o valor do campo status de erro é 'readOnly'. Note que é um erro de protocolo para gerar um PDU SNMP que contém o valor `readOnly ' no campo erro de status, e como tal, este objeto é fornecido como um meio de detectar implemen-tações incorretas do SNMP;

snmpInGenErrs(12): O número total de PDUs SNMP que foram entregues à entidade protocolo SNMP e para os quais o valor do campo status de er-ro é `genErr';

snmpInTotalReqVars(13): O número total de objetos MIB que foram re-cuperados com sucesso pela entidade protocolo SNMP como o resultado de receber PDUs SNMP Get-Request e Get-Next válidos;

snmpInTotalSetVars(14): O número total de objetos MIB que foram alte-rados com sucesso pela entidade protocolo SNMP, como o resultado de receber PDUs SNMP Set-Request válidos;

snmpInGetRequests(15): O número total de PDUs SNMP Get-Request que foram aceitas e processadas pela entidade protocolo SNMP;

snmpInGetNexts(16): O número total de PDUs SNMP Get-Next que foram aceitas e processadas pela entidade protocolo SNMP;

snmpInSetRequests(17): O número total de PDUs SNMP Set-Request que foram aceitas e processadas pela entidade protocolo SNMP;

snmpInGetResponses(18): O número total de PDUs SNMP Get-Response que foram aceitas e processadas pela entidade protocolo SNMP;

snmpInTraps(19): O número total de PDUs SNMP Trap que foram aceitas e processadas pela entidade protocolo SNMP;

Page 59: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | A MIB 57

snmpOutTooBigs(20): O número total de PDUs SNMP que foram gerados pela entidade protocolo SNMP e para os quais o valor do campo status de erro é `tooBig ';

snmpOutNoSuchNames(21): O número total de PDUs SNMP que foram gerados pela entidade protocolo SNMP e para os quais o valor do campo status de erro é ` noSuchName ';

snmpOutBadValues(22): O número total de PDUs SNMP que foram gera-dos pela entidade protocolo SNMP e para os quais o valor do campo sta-tus de erro é ` badValue ';

-- (23): Não é usado;

snmpOutGenErrs(24): O número total de PDUs SNMP que foram gerados pela entidade protocolo SNMP e para os quais o valor do campo status de erro é ` genErr ';

snmpOutGetRequests(25): O número total de PDUs SNMP Get-Request que foram gerados pela entidade protocolo SNMP;

snmpOutGetNexts(26): O número total de PDUs SNMP Get-Next que fo-ram gerados pela entidade protocolo SNMP;

snmpOutSetRequests(27): O número total de PDUs SNMP Set-Request que foram gerados pela entidade protocolo SNMP;

snmpOutGetResponses(28): O número total de PDUs SNMP Get-Response que foram gerados pela entidade protocolo SNMP;

snmpOutTraps(29): O número total de PDUs SNMP Trap que foram gera-dos pela entidade protocolo SNMP;

snmpEnableAuthenTraps(30): Indica se o processo do agente SNMP esta configurado para gerar traps de falha de autenticação. O valor deste obje-to substitui qualquer informação de configuração, como tal, fornece um meio pelo qual todos os traps de falha de autenticação possam ser desa-bilitados. Note que é altamente recomendável que esse objeto seja armazenados em memória não-volátil para que ele permaneça constante entre as reini-cializações do sistema de gerencia de rede.

o enabled(1); o disabled(2).

Page 60: Apostila Gerência de Redes com SNMP

58 A MIB | Gerenciamento de Redes com SNMP

Page 61: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 59

7. Protocolo de Gerenciamento RMON

O padrão RMON para monitoramento remoto oferece uma arquitetura de geren-ciamento distribuída para análise de tráfego, resolução de problemas, demonstração de tendências e gerenciamento proativo de redes de modo geral.

Criado pelos mesmos grupos que desenvolveram o TCP/IP e o SNMP, o RMON é um padrão IETF (Internet Engineering Task Force) de gerenciamento de redes cuja sigla significa Remote Network Monitoring MIB. Primeiramente, desenvolveu-se o padrão SNMP, somente depois se pensou no RMON.

O Simple Network Management Protocol, ou SNMP, é um protocolo de gerenci-amento realmente simples: a única informação que se tem através de um alerta SNMP é que existe um problema em um ponto da rede. Os alertas do SNMP padrão notificam um problema somente quando ele já atingiu uma condição extrema suficiente a ponto de comprometer a comunicação na rede como um todo.

Ao contrário do que se pode imaginar, o SNMP não é capaz de definir o proble-ma, nem sua gravidade, nem fornece, tampouco, recursos para uma investigação das causas desse problema. O diagnóstico do problema é uma tarefa do administrador da rede.

O comitê do IETF decidiu que, para promover uma expansão qualificada das tec-nologias de rede, era necessário um padrão de gerenciamento de redes mais sofisticado. As principais características do novo padrão, o RMON, seriam:

Interoperabilidade independentemente de fabricante;

Capacidade de fornecer informações precisas a respeito das causas de fa-lha no funcionamento normal da rede, assim como da severidade dessa falha;

Oferecer ferramentas adequadas para diagnóstico da rede. Além destas características, o padrão deveria oferecer um mecanismo proativo

para alertar o administrador dos eventuais problemas da rede, além de métodos auto-máticos capazes de coletar dados a respeito desses problemas.

Assim, o RMON tornou-se um padrão por volta de 1990. O RMON II foi publicado para estender as capacidades do RMON.

7.1. Algumas RFCs tratam do protocolo RMON:

RMON1: RFC 1757 - Remote Network Monitoring Management Infor-mation Base (Draft) – Fev. 1995;

RMON1: RFC 2819 - Remote Network Monitoring Management Infor-mation Base – Mai 2000;

RFC 1513 - Token Ring Extensions to the Remote Network Monitoring MIB – Set 1993;

RMON2: RFC 2021 - Remote Network Monitoring Management Information Base Version 2 using SMIv2 (Obsolete) – Jan 1997*;

RFC 3273 - Remote Network Monitoring Management Information Base for High Capacity Networks – Jul 2002 **;

RMON2: RFC 4502 - Remote Network Monitoring Management Information Base Version 2 using SMIv2 – Mai 2006;

o * Substituiu; o ** Atualizou.

Page 62: Apostila Gerência de Redes com SNMP

60 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP

SMON: RFC 2613 - Remote Network Monitoring MIB Extensions for Switched Networks (Proposto) – Jun 1999;

Overview: RFC 3577 - Introduction to the RMON Family of MIB Modules – Ago 2003.

7.2. Características do Protocolo

O protocolo RMON é uma MIB SNMP e, portanto o dispositivo deve possuir um agente SNMP.

É específico para tecnologias Ethernet e Token Ring, apesar de existir uma im-plementação para ATM.

O dispositivo que implementa o suporte para RMON se chama probe RMON. Um probe pode ser implementado em um dispositivo dedicado ou em um elemento de rede, como um hub, switch ou roteador.

O probe visa monitorar tráfego de um segmento da rede. Deve ficar em um pon-to da rede por onde passa todo o tráfego do segmento. Dessa forma deve haver um probe RMON por segmento de rede a ser monitorado.

Em redes comutadas, o RMON é implementado normalmente nos equipamentos ativos ou através de espelhamento do tráfego de suas portas para uma porta de monito-ração (port mirroring).

7.3. Objetivos do RMON

Realizar análise e levantar informações estatísticas sobre os dados coletados em uma sub-rede, liberando a estação gerente desta tarefa.

Reduzir tráfego entre rede local gerenciada e a estação gerente remota. Detectar, registrar e informar à estação gerente sobre situações de erro e even-

tos significativos da rede. Permitir o gerenciamento pró-ativo da rede, diagnosticando e registrando even-

tos que possibilitem detectar o mal funcionamento e prever falhas que interrompam a sua operação.

Enviar informações de gerenciamento para múltiplas estações gerentes.

Page 63: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 61

7.4. Abrangência das versões

Tabela 02 - Camadas de atuação de cada versão do Protocolo RMON

7.5. Exemplo de funcionamento

Figura 33 - Exemplo de consulta RMON

Page 64: Apostila Gerência de Redes com SNMP

62 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP

7.6. MIB RMON1

Figura 264 - MIB RMON I

7.6.1. Aquisição de Estatísticas de Tráfego:

Estatístico (Statistics);

Histórico (History);

Hosts;

Classificação de n Hosts (Host Top N);

Matriz (Matrix);

Token Ring.

7.6.2. Detecção e Resolução de Situações Críticas e de Erro:

Alarme (Alarm);

Filtro (Filter);

Captura de pacote (Packet Capture);

Evento (Event).

7.6.3. Exemplos de Grupos

7.6.3.1. RMON1 – Statistics

Estatísticas básicas do tráfego em cada segmento de rede Ethernet.

7.6.3.1.1. Exemplos de estatísticas Ethernet

Bytes trafegados;

Pacotes trafegados (<uni/broad/multi>cast);

Pacotes < 64 bytes;

Pacotes > 1518 bytes;

Pacotes com erro de CRC;

Número de colisões.

Page 65: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 63

7.6.3.2. RMON1 – History

Armazena n últimas estatísticas da rede.

7.6.3.2.1. Configuração

Intervalos de amostragem;

Quantidade de amostras armazenadas.

Análise da tendência de comportamento de uma rede:

Cria subsídios para um gerenciamento pró-ativo.

Figura 275 - Exemplo coleta Grupo History RMON I

7.6.3.3. RMON1 – Hosts

Estatísticas para cada host do segmento de rede.

7.6.3.3.1. Exemplos:

Número de bytes transmitidos e recebidos;

Número de pacotes transmitidos e recebidos;

Número de pacotes com erro transmitidos;

Número de pacotes broadcast transmitidos;

Número de pacotes multicast transmitidos.

7.6.3.4. RMON1 – Hosts Top N

Classifica os hosts de acordo com valores de variáveis do grupo hosts. Permite definir:

Variável para ordenação;

Duração da amostragem;

Quantidade de hosts na lista.

Page 66: Apostila Gerência de Redes com SNMP

64 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP

Exemplo:

As 10 máquinas que mais transmitiram pacotes na rede hoje;

As 5 máquinas que mais transmitiram pacotes com erros nas últimas 2 horas;

As 20 máquinas que mais geraram tráfego de broadcast na semana.

7.6.3.5. RMON1 – Matrix

Associa estatísticas de tráfego entre pares de máquinas.

Exemplos:

Pacotes transmitidos;

Octetos transmitidos;

Pacotes com erros transmitidos.

Facilita a obtenção de informações em relação à comunicação entre um par qualquer de estações.

Figura 286 - Grupo Matrix RMON I

7.6.3.6. RMON1 – Token Ring

O suporte a Token Ring pode ser feito de 2 formas:

Extensão dos grupos Statistics e History para redes Token Ring: Grupos Statistics e History originais eram dependentes de Ethernet.

Novo grupo Token Ring.

7.6.3.7. RMON1 – Alarm

Estabelece limites de operação para variáveis de MIB. Se os limites forem ultrapassados, alarmes são gerados.

Page 67: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 65

Exemplos:

Mais de 20 pacotes com erro nos últimos 5 minutos;

Se a taxa de bytes enviados for menor que 100.000.000/5s.

Figura 297 - Grupo Alarm RMON I

7.6.3.8. RMON1 – Filter

Define condições associadas a pacotes trafegados pela rede. Se o pacote atende às condições estabelecidas: Captura o pacote ou Registra estatísticas baseadas no mesmo.

Exemplos:

Captura todos os pacotes vindos do servidor S1;

Conta quantos pacotes estão indo para o roteador e não são originários dos servidores: tráfego entre segmentos de redes das estações.

Page 68: Apostila Gerência de Redes com SNMP

66 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP

7.6.3.9. RMON1 – Packet Capture

Troubleshooting em segmentos de redes remotos. Como capturar o tráfego em um segmento de rede?

Colocar no segmento um sniffer;

Utilizar o probe RMON.

Figura 38 - Grupo Packet Capture RMON I

7.6.3.9.1. Captura pacotes para análise na rede.

Parâmetros da captura:

Quantos bytes de cada pacote serão armazenados? Default são os 100 primeiros bytes;

Qual filtro determina os pacotes a serem capturados?

Qual o tamanho do buffer a ser utilizado?

7.6.3.10. RMON1 – Event

Algumas ações do probe provocam eventos, por exemplo:

Alarme disparado;

Pacote que atende condições de um filtro. Grupo event determina o que fazer nestes casos:

Log interno;

snmp-trap;

Log-and-trap.

Page 69: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 67

7.7. RMON2

O RMON1 trabalha na camada de enlace de dados. Mas e as demandadas de Es-tatísticas de IP, IPX? Estatísticas de HTTP, FTP, etc?

O RMON2 visa atender a essas necessidades.

7.7.1. MIB RMON2

A MIB do RMON2 é um subconjunto da árvore MIB: São 9 novos grupos básicos de variáveis.

Figura 39 - MIB RMON II

7.7.1.1. RMON2 – Protocol Directory

Diretório de Protocolo.

Lista dos protocolos que o probe RMON2 consegue monitorar.

Visa a interoperabilidade.

Page 70: Apostila Gerência de Redes com SNMP

68 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP

7.7.1.2. RMON2 – Protocol Distribution

Estatísticas sobre todos os protocolos suportados pelo probe.

Número de bytes e de pacotes referentes a cada protocolo trafegando naquele segmento de rede.

Figura 40 - Grupo Protocol Distribution RMON II

7.7.1.3. RMON2 – Network Layer Host/Matrix e Application Layer

Host/Matrix

Tabela 03 - Network Layer Hot/Matrix e Application Layer Host/Matrix RMON II

7.7.1.4. RMON2 – User History

Histórico de Coleta do Usuário. Equivalente ao grupo history do RMON1, porém, permite configurar quais variá-

veis serão mantidas no histórico, além do intervalo e quantidade da amostragem.

7.7.1.5. RMON2 – Probe Configuration

Configuração do Probe. Padroniza a configuração do probe RMON, visando interoperabilidade entre pro-

bes e softwares gerentes de diferentes fabricantes.

7.7.1.5.1. Exemplos:

Reboot do probe;

Atualização de Software.

Page 71: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 69

7.7.1.6. RMON2 – Address Map

Mapeamento de Endereços. Relaciona endereços MAC e endereços de Rede (IP, IPX).

7.8. RMON – Considerações Finais

O RMON pode exigir bastante processamento: nem sempre um determinado equipamento ou dispositivo tem recursos de processamento e armazenamento para suportar todos os grupos de variáveis da RMON-MIB.

É suficiente que seja implementado um único desses grupos, para o elemento ser considerado em conformidade com o RMON. Na especificação dos dispositivos são de-finidos quais grupos de RMON eles suportam.

No caso de existirem múltiplos gerentes, o elemento RMON deve determinar quais informações de gerenciamento devem ser encaminhadas para cada gerente.

Page 72: Apostila Gerência de Redes com SNMP

70 Protocolo de Gerenciamento RMON | Gerenciamento de Redes com SNMP

Page 73: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c

71

8. Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c

A implementação do protocolo SNMP em Servidores Linux se dá geralmente através do net-snmp (http://www.net-snmp.org). Na distribuição CentOS (http://www.centos.org), utilizada durante todos os exemplo práticos, temos 4 pacotes que fazem essa implementação:

net-snmp: Binários, arquivos de configuração, arquivos de inicialização e documentação;

net-snmp-devel: Arquivos fontes;

net-snmp-utils: Binários adicionais, como snmpget, snmpgetnext, snmpset, snmpwalk, etc; e arquivos man;

net-snmp-libs: Bibliotecas, documentações e MIBS default localizadas no /usr/share/snmp/mibs.

8.1. Instalação dos binários

# yum -y install net-snmp net-snmp-devel net-snmp-utils net-snmp-libs

8.2. Estrutura do net-snmp após a instalação dos binários

/etc/rc.d/init.d/: Arquivos de inicialização;

/etc/snmp: Arquivos de configuração;

/etc/sysconfig/snmpd: Arquivos de configuração de sistema; geram o /var/run/snmpd.pid;

/usr/bin/ e /usr/sbin/: Binários do sistema;

/usr/include/net-snmp: Arquivos fonte;

/usr/lib64/: Bibliotecas 64 bits;

/usr/share/doc/ e /usr/share/man/: Documentação;

/usr/share/snmp: Arquivos e dados de configuração usados pelo sistema e MIBs default;

/var/lib/net-snmp: No momento em que o serviço é iniciado, carrega a configuração do net-snmpd.conf e as mibs disponíveis no sistema;

/var/run/net-snmp: Previsto para armazenar dados temporários de exe-cução que descrevem o estado do sistema, como PIDs, por exemplo, que no caso do CentOS é armazenado direto em /var/run/snmpd.pid.

8.3. Backup do arquivo de configuração original (snmpd.conf)

As boas práticas em administração de servidores nos sinalizam que é importante realizar um backup dos arquivos de configuração originais de todo e qualquer serviço, antes de realizarmos alterações nas condigurações padrão. A fora isso, no caso do snmpd.conf, o mesmo é uma exelente fonte de estudos. Em nosso caso, vamos mover o arquivo, pois em todos os exemplos criaremos o nosso próprio arquivo de configuração.

# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

Page 74: Apostila Gerência de Redes com SNMP

72 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento de Redes com SNMP

8.4. Configuração Básica de um Agente SNMP v1/v2c

Para que um servidor responda às solicitações do protocolo SNMP v1 e v2c, ele só precisa de uma linha no seguinte formato:

rocommunity nome_da_comunidade

Representa uma comunidade com direito de leitura.

rwcommunity nome_da_comunidade

Representa uma comunidade com direito de leitura e escrita.

Podem ser informadas apenas comunidades com direito de leitura, comunidades com direito de escrita ou ambas; basta colocar uma informação por linha.

# cat snmpd.conf

# /etc/snmp/snmpd.conf v1/v2c basico # rocommunity public rwcommunity private

Após alterar o arquivo, é necessário reiniciar o serviço:

# service snmpd restart

O status do serviço pode ser verificado através do comando:

# service snmpd status

8.5. Acessando um Agente SNMP v1/v2c

8.5.1. Comando snmpget

A leitura de informações de um host é feita através do comando snmpget:

# snmpget -v 1 -c public localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: root@localhost

# snmpget -v 2c -c public localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: root@localhost

8.5.1.1. Explicando o comando:

snmpget: Comando para ler informações do host;

-v: Versão do protocolo – pode ser 1 ou 2c;

-c: Comunidade, no nosso exemplo, public;

localhost: Endereço do host ao qual será solicitada a informação, sendo nome DNS ou IP.

sysContact.0: Informação que será solicitada ao host.

Como pode ser observado acima, o servidor responde às solicitações da versão 1 e 2c do protocolo SNMP. Nesse caso solicitamos a informação sysContact.0, que corres-

Page 75: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c

73

ponde ao responsável pelo host. Como isso não foi informado no arquivo de configura-ção, a resposta é a default do sistema.

Por que sysContact.0 e não apenas sysContact? Como já mencionamos anterior-mente, cada objeto possui uma identificação única, que é sua posição na árvore da MIB. No caso do contato, teremos apenas um responsável cadastrado, mas se pensarmos, em interfaces de rede, por exemplo, geralmente teremos mais de uma, e nesse caso poderí-amos ler informações como:

A descrição da primeira interface de rede:

# snmpget -v 2c -c public localhost ifDescr.1

IF-MIB::ifDescr.1 = STRING: lo

A descrição da segunda interface de rede:

# snmpget -v 2c -c public localhost ifDescr.2

IF-MIB::ifDescr.2 = STRING: eth0

8.5.2. Comando snmpset

A alteração de informações de um host é feita através do comando snmpset, que vai confirmar se a comunidade utilizada possui ou não privilégio suficiente para executar essa ação:

# snmpset -v 1 -c public localhost sysContact.0 s aulas Error in packet.

Reason: (noSuchName) There is no such variable name in this MIB. Failed object: SNMPv2-MIB::sysContact.0

# snmpset -v 2c -c public localhost sysContact.0 s aulas

Error in packet. Reason: noAccess Failed object: SNMPv2-MIB::sysContact.0

Observe que na versão 2c as mensagens se tornaram mais claras, por isso sem-pre que o host possuir suporte, é aconselhável utilizar a versão 2c. Nesses exemplos o problema foi a utilização da comunidade public, que tem direito apenas de leitura no host.

# snmpset -v 2c -c private localhost sysContact.0 s aulas

SNMPv2-MIB::sysContact.0 = STRING: aulas

8.5.2.1. Explicando o comando:

snmpset: Comando para alterar informações do host;

-v: Versão do protocolo – pode ser 1 ou 2c;

-c: Comunidade – no nosso exemplo private;

Page 76: Apostila Gerência de Redes com SNMP

74 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento de Redes com SNMP

localhost: Endereço do host ao qual será solicitada a informação, sendo nome DNS ou IP.

sysContact.0: Informação que será alterada no host;

s: Tipo de dado da informação, neste caso String;

aulas: Dado que será gravado no campo sysContact.0.

Observe que sempre que realizarmos uma alteração no host, receberemos uma mensagem de retorno, que pode ser uma mensagem de falha ou a confirmação de que a informação foi alterada, como no exemplo acima: “SNMPv2-MIB::sysContact.0 = STRING: aulas”

8.5.3. Comando snmpgetnetxt

Sabendo da existência de uma determinada informação, podemos solicitar ao host qual é a próxima informação, e assim percorrer todas as informações daquele host, para isso utilizamos o comando snmpgetnext:

# snmpgetnext -v 2c -c public localhost sysContact.0

SNMPv2-MIB::sysName.0 = STRING: aulas

O comando retorna que a próxima informação depois de sysContact.0 é sysNa-me.0, dado do tipo string, e que o valor atual é aulas: “SNMPv2-MIB::sysName.0 = STRING: aulas”. sysName.0 é o campo que contem o nome que identifica este host.

Mais um exemplo:

# snmpgetnext -v 2c -c public localhost sysName.0

SNMPv2-MIB::sysLocation.0 = STRING: Unknown

O comando retorna que a próxima informação, depois de sysName.0, é sysLoca-tion.0, dado do tipo string e que o valor atual é desconhecido: “SNMPv2-MIB::sysLocation.0 = STRING: Unknown”. sysLocation.0 é o campo com a identificação da localização do host.

8.5.4. Comando snmpwalk

O comando snmpgetnext é útil quando desejamos conhecer uma ou duas infor-mações a partir de determinado ponto da árvore da MIB, mas para percorrermos um galho inteiro ou mesmo toda a árvore, o mesmo se torna inviável. Para isso temos o co-mando snmpwalk:

# snmpwalk -v 2c -c public localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686

SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (88242) 0:14:42.42

SNMPv2-MIB::sysContact.0 = STRING: aulas

Page 77: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c

75

SNMPv2-MIB::sysName.0 = STRING: aulas SNMPv2-MIB::sysLocation.0 = STRING: Unknown …

Neste exemplo percorremos todo o galho system; se o objetivo é ler todas as in-formações do host, basta executar:

# snmpwalk -v 2c -c public localhost

8.5.5. Comando snmpbulkget

Conforme visto nos capítulos anteriores, na versão 2c do protocolo SNMP foram acrescentadas as funções de Bulk* (bulkget, bulkwalk), que ao invés de trazer uma úni-ca informação, trazem um bloco de informações da tabela na qual a informação está contida, o que torna a execução dos comandos mais eficiente e consequentemente mais rápida.

# snmpbulkget -v 2c -c public localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686

SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (146987) 0:24:29.87

SNMPv2-MIB::sysContact.0 = STRING: aulas SNMPv2-MIB::sysName.0 = STRING: aulas SNMPv2-MIB::sysLocation.0 = STRING: Unknown SNMPv2-MIB::sysORLastChange.0 = Timeticks: (14) 0:00:00.14 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-

MIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-

MIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-

MIB::snmpFrameworkMIBCompliance

Nesse exemplo, o comando retornou toda a tabela system, mas veja o que acon-tece ao solicitar uma única informação, sysLocation, por exemplo:

# snmpbulkget -v 2c -c public localhost sysLocation

SNMPv2-MIB::sysLocation.0 = STRING: Unknown SNMPv2-MIB::sysORLastChange.0 = Timeticks: (14) 0:00:00.14 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-

MIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-

MIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-

MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-

MIB::vacmBasicGroup

Page 78: Apostila Gerência de Redes com SNMP

76 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento de Redes com SNMP

O bloco de informações começou na linha que continha a informação solicitada “sysLocation.0”, e foi até sysORID.8, ao contrário da execução anterior, que foi até sysORID.3.

8.5.6. Comando snmpbulkwalk

Ao executarmos o comando snmpbulkwalk, o resultado será o mesmo da execu-ção do snmpwalk:

# snmpbulkwalk -v 2c -c public localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686

SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (199795) 0:33:17.95

SNMPv2-MIB::sysContact.0 = STRING: aulas SNMPv2-MIB::sysName.0 = STRING: aulas SNMPv2-MIB::sysLocation.0 = STRING: Unknown

Entretanto, o tempo de resposta e o consumo de recursos da máquina são muito menores:

# time snmpwalk -v 2c -c public localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686

SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

… real 0m0.623s user 0m0.111s sys 0m0.192s

# time snmpbulkwalk -v 2c -c public localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686

SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

… real 0m0.348s user 0m0.112s sys 0m0.114s

Page 79: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c

77

8.5.7. Informações Adicionais

Vale a pena lembrar que esses comandos não são compatíveis com a versão 1 do protocolo SNMP:

# snmpbulkget -v 1 -c public localhost system

snmpbulkget: Cannot send V2 PDU on V1 session (Sub-id not found: (top) -> system)

# snmpbulkwalk -v 1 -c public localhost system

snmpbulkwalk: Cannot send V2 PDU on V1 session (Sub-id not found: (top) -> system)

Mas e o que vem antes da informação: “SNMPv2-MIB::, IF-MIB::, DISMAN-EVENT-MIB::”?. Esta informação nos diz quem foi a MIB que respondeu aquela solicita-ção. Lembre-se: se eu não possuir a MIB do equipamento do qual estou solicitando as informações, poderei ler o dado se souber a OID do objeto, mas não vou ter condições de interpreta-lo. Por exemplo:

# snmpget -v 2c -c public localhost .1.3.6.1.2.1.2.2.1.2.1

IF-MIB::ifDescr.1 = STRING: lo

O OID .1.3.6.1.2.1.2.2.1.2.1 representa o objeto ifDescr.1. Podemos observar acima que a resposta foi a mesma da execução anterior; agora veja o que acontece se eu não possuir a MIB:

# snmpget -v 2c -c public localhost .1.3.6.1.2.1.2.2.1.2.1

SNMPv2-SMI::mib-2.2.2.1.2.1 = STRING: "lo"

Obtivemos a resposta “STRING: "lo"”, mas que dado é esse? Fica muito difícil identificar, já se eu possuir a MIB, receberei a resposta “ifDescr.1 = STRING: lo”, muito mais fácil de identificar o que é esse objeto. Além disso, aprenderemos um comando que consulta o objeto na MIB e nos traz a descrição desse objeto, que nesse caso seria:

“A textual string containing information about the interface. This string should include the name of the manufacturer, the product name and the version of the interface hardware/software."

Por isso é tão importante possuir uma cópia da MIB de todos os equipamentos que você deseja monitorar através do seu servidor de gerenciamento (Estação de geren-ciamento).

Page 80: Apostila Gerência de Redes com SNMP

78 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento de Redes com SNMP

Page 81: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

79

9. Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

A versão 3 do protocolo SNMP é focada em melhorias de segurança. Conforme visto anteriormente, na versão 3 foram adotados:

USM - User-based Security Model: Modelo de Segurança Baseada em Usuários;

VACM - View-based Access Control Model: Modelo de controle de acesso baseado em visões;

Configuração dinâmica de agentes SNMP utilizando comandos SNMP.

9.1. USM

Até a versão 2 do protocolo SNMP, o controle de acesso era baseado em comu-nidades(communities) como public, private. Este é um sistema de segurança muito frágil e limitado, pois se alguém descobre o nome da comunidade, tem acesso total ao host, ainda que ele esteja configurado apenas para leitura. Disponibilizar essas informações a uma pessoa mal intencionada é o mesmo que deixá-la visitar sua rede e realizar anota-ções, e posteriormente montar o plano de ataque sem pressa alguma.

A partir do SNMPv3, os usuários e suas respectivas senhas devem ser cadastra-dos na base de dados SNMP, sendo que esses dados são salvos criptografados.

9.2. VACM

Os usuários são colocados em grupos. São criadas views que representam partes da árvore SNMP, semelhantes às views dos bancos de dados, ou compartilhamentos de diretórios em servidores de arquivos. A view é o recurso que desejamos disponibilizar, e por fim permissões são dadas para os grupos acessarem as views.

Page 82: Apostila Gerência de Redes com SNMP

80 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

9.3. Modelo de Permissões VACM

Este esquema demonstra como esse processo é estruturado no arquivo de confi-guração (snmpd.conf):

Figura 41 - snmpd.conf de acordo com o Modelo VACM

O primeiro passo é compartilhar os recursos, ou seja, definir as views:

view nome tipo sub-árvore máscara view demoWrite included .1.3.6.1.4.1.2021.14.1.1 view demoRead included .1.3.6.1.4.1.2021.14.1.1

Neste caso, estamos definindo duas views, a view demoWrite e a view demoRe-ad, e estamos incluindo a informação: .1.3.6.1.4.1.2021.14.1.1 (.iso.org.dod.internet.private.enterprises.ucdavis.ucdDemoMIB.ucdDemoMIBObjects.ucdDemoPublic); este é o recurso que estamos disponibilizando. Fazendo uma analogia com o servidor de arquivos, é como se existissem dois nomes de compartilhamento dife-rentes para o mesmo diretório.

Esse segundo passo é opcional, pois podemos ter um host exclusivamente SNMP v3 ou um host compatível com SNMP v1, v2c e v3. Nesse caso queremos um host com-patível com todas as versões, e por isso vamos informar ao servidor que quando ele re-ceber uma solicitação em nome de uma comunidade, ele vai transformar esse nome de comunidade em um nome de usuário, essa linha faz este mapeamento:

com2sec nome origem comunidade com2sec v2cUser default demopublic

Essa linha informa que toda vez que uma solicitação v1 ou v2c for realizada de qualquer endereço IP, por isso a palavra “default”, com a comunidade demopublic, o servidor deve interpretar isso como uma solicitação do usuário v2cuser.

Page 83: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

81

O próximo passo é colocar os usuários existentes em grupos:

group nome modelo segurança group demogroup v2c v2cUser

Essa linha indica que o usuário v2cUser será membro do grupo demogroup, e que esse grupo só responde a solicitações da versão 2c do protocolo SNMP.

Por último, vamos definir qual é a permissão do grupo no recurso compartilhado, exatamente como fazemos no compartilhamento de diretórios:

access nome contexto modelo nível prefixo leitura escrita notificação

access demogroup “ ” any noauth prefix demoRead demoWrite none

Essa linha indica que o grupo demogroup em qualquer contexto (“ ”), recebendo solicitações de qualquer versão do protocolo, pois na linha anterior já foram definidas as versões que ele vai responder, com nível de autenticação noauth e com prefixo do tipo prefix, possui direito de leitura na view demoRead e escrita na view demoWrite, e que não enviará notificações (Traps) para nenhum servidor.

9.4. Configuração Básica de um Agente SNMP v3 compatível com

SNMP v1/v2c

Como já dito, podemos ter um host configurado para trabalhar com o SNMP v3, mas mantendo a compatibilidade com as versões 1 e 2c. Exemplo:

# cat snmpd.conf

# /etc/snmp/snmpd.conf compativel com v1 e v2c (snmpd.conf.2) # # view name inc/excl tree mask view all included .1 80 #com2sec user source(IP,host...) community com2sec readonly default public com2sec readwrite default private #group name v1/v2c/usm user group compat v1 readonly group compat v2c readonly group compat1 v1 readwrite group compat1 v2c readwrite #access user context any/v1/v2c/usm level prefx

read write notify access compat "" any

noauth exact all none none access compat1 "" any

noauth exact all all none

Page 84: Apostila Gerência de Redes com SNMP

82 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

9.4.1. Disponibilizando os recursos

9.4.1.1. Seção View

A primeira seção a ser configurada é a das "views", ou seja, partes da árvore de OIDs que poderão ser visualizadas, e possui o seguinte formato:

view nome included/excluded parte_da_árvore_MIB máscara

Por exemplo:

view all included .1 80

9.4.1.2. Seção com2sec

A segunda seção trata do processo de associação entre as comunidades e os ní-veis de acesso são realizados através das linhas com2sec, e possui o seguinte formato:

com2sec "security name" origem_da_requisição community

Por exemplo:

com2sec readonly default public com2sec readwrite default private

9.4.1.3. Seção Group

O próximo passo é realizar a associação dos grupos de acessos à versão do pro-tocolo snmp e a um "security name", definindo acessos a informações diferentes de-pendendo da versão do protocolo utilizado. Estas linhas possuem o seguinte formato:

group grupo versão_do_protocolo “security_name”

Por exemplo:

group compat v1 readonly group compat v2c readonly group compat1 v1 readwrite group compat1 v2c readwrite

9.4.1.4. Seção Access

Finalmente devem-se aplicar as permissões (visualizar/alterar) nas views pelos grupos. A configuração padrão irá permitir que compat possa visualizar qualquer confi-guração, enquanto compat1 poderá visualizar e alterar qualquer configuração. Possui o seguinte formato:

access usuário contexto versão_do_protocolo level prefixo read write notify

Page 85: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

83

Por Exemplo:

access compat "" any noauth exact all none none

access compat1 "" any noauth exact all all none

9.4.1.5. Compreendendo os Parâmetros

9.4.1.5.1. Seção View

View: Comando para definir uma nova view;

Name: Nome da view;

Included/Excluded: Partes da árvore MIB que serão incluídas ou excluídas na view;

Tree: As informações referentes à opção anterior, o que eu estou incluin-do ou excluindo da view; posso, por exemplo, excluir a árvore toda (.1) e depois disponibilizar apenas galhos da árvore, como por exemplo, as in-formações referentes ao protocolo IP (.iso.org.dod.internet.mgmt.mib-2.ip). Nesse caso essa view só apresentará essas informações;

Mask: Máscara no formato hexadecimal; permite criar filtros avançados dentro do galho disponibilizado.

9.4.1.5.2. Seção Com2sec:

Com2sec: Comando para definir uma nova associação entre nome de co-munidade (v1/v2c) e nível de acesso (v3);

Name: Nome do usuário;

Source: Origem da requisição, indica a máquina que pode realizar requisi-ções nesse host. Pode ser informado no formato ip/prefixo ou pode-se utilizar a palavra "default", que indica qualquer origem.

Community: Nome da comunidade no modelo v1/v2c; esse nome será passado no momento da requisição.

9.4.1.5.3. Seção Group:

Group: Comando para definir um novo grupo;

Name: Nome do grupo;

Model: Versão do protocolo que o host aceita ao receber requisições: o Qualquer versão: any; o Requisições v1: v1; o Requisições v2c: v2c; o Requisições v3: usm.

User: Nome do usuário que pertence ao grupo.

9.4.1.5.4. Seção Access:

Access: Comando para definir um novo acesso;

Group: Nome do grupo ao qual será liberado acesso;

Page 86: Apostila Gerência de Redes com SNMP

84 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

Context: Contexto ou escopo; é uma maneira de se criar filtros de acesso para determinadas situações. Pode ser contexto em um dispositivo, con-texto em um conjunto de dispositivos, etc. Por exemplo:

o Ler as informações de espaço em disco de todos os meus disposi-tivos;

o Ler as informações de tráfego de portas do switch1; o Ler as informações de tráfego de rede de entrada da porta 24 (...

ifTable.ifEntry.ifInOctets.24 ) do switch 2.

Security Model: Versão do protocolo que o host aceita ao receber requi-sições:

o Qualquer versão: any; o Requisições v1: v1; o Requisições v2c: v2c; o Requisições v3: usm.

Level: Nível de segurança da autenticação: o NoAuth: Sem autenticação; o Auth: Com autenticação; o Priv: Autenticação com Criptografia.

Prefix: Define o que será analisado no momento da requisição: o Exact: A correspondência exata de prefixo e contexto; o Prefix: Apenas o prefixo, que é o OID numérico ou identificação do

objeto como, por exemplo, “sysName”.

Read: Qual view o grupo tem direito de leitura;

Write: Qual view o grupo tem direito de escrita;

Notify: Qual host receberá as notificações em caso de situações anormais (Traps).

9.5. Acessando um Agente SNMP v3 compatível com SNMP v1/v2c:

# snmpget -v 1 -c public localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: aulas

# snmpset -v 2c -c private localhost sysContact.0 s Curso

SNMPv2-MIB::sysContact.0 = STRING: Curso

# snmpgetnext -v 1 -c public localhost sysContact.0

SNMPv2-MIB::sysName.0 = STRING: aulas

# snmpwalk -v 2c -c public localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686

SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

Page 87: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

85

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (12017) 0:02:00.17

SNMPv2-MIB::sysContact.0 = STRING: Curso SNMPv2-MIB::sysName.0 = STRING: aulas SNMPv2-MIB::sysLocation.0 = STRING: Unknown …

# snmpbulkget -v 2c -c public localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686

SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (12831) 0:02:08.31

SNMPv2-MIB::sysContact.0 = STRING: Curso SNMPv2-MIB::sysName.0 = STRING: aulas SNMPv2-MIB::sysLocation.0 = STRING: Unknown SNMPv2-MIB::sysORLastChange.0 = Timeticks: (24) 0:00:00.24 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-

MIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-

MIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-

MIB::snmpFrameworkMIBCompliance

Como pode ser observado realizamos várias requisições v1 e v2c, utilizando tanto a comunidade “public” quanto a “private” e o host respondeu perfeitamente às requisi-ções, ou seja, podemos ter um host configurado para SNMP v3, mas mantendo a compa-tibilidade com as versões anteriores se isso for uma necessidade do ambiente.

9.6. Configuração inicial de um Agente exclusivamente v3

Como abordado no inicio do artigo, o SNMP v3 é focado em segurança, por isso é importante trabalhar exclusivamente com a versão 3, sempre que isso for possível no seu ambiente.

9.6.1. Criar o usuário inicial com permissão de escrita:

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 inicial (snmpd.conf.3) # # Declarando um usuário Inicial com permissão de escrita rwuser initial # Criando o usuário na base do snmp #IMPORTANTE: Esta linha deve ser apagada após a adição dos novos

usuários createUser initial MD5 setup_passphrase DES

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

Page 88: Apostila Gerência de Redes com SNMP

86 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

Os usuários criptografados são armazenados no arquivo /var/lib/net-snmp/snmpd.conf. Abaixo, seguem as diferenças entre o arquivo antes e depois da cria-ção do usuário initial. NUNCA EDITE ESSE ARQUIVO!

/var/lib/net-snmp/snmpd.conf – Antes da adição do usuário Initial:

psyscontact aulas setserialno 2003046206 engineBoots 13

/var/lib/net-snmp/snmpd.conf – Após adição do usuário Initial:

usmUser 1 3 0x80001f888056bd9740f0601d4f 0x696e697469616c00 0x696e697469616c00 NULL .1.3.6.1.6.3.10.1.1.2 0xa7b4e95eaa45873c69a0815fc1736d31 .1.3.6.1.6.3.10.1.2.2 0xa7b4e95eaa45873c69a0815fc1736d31 ""

psyscontact Curso setserialno 2003046207 engineBoots 14

Podemos observar a linha que contem as informações referentes ao usuário ini-tial, devidamente criptografada:

“usmUser 1 3 0x80001f888056bd9740f0601d4f 0x696e697469616c00 0x696e697469616c00 NULL .1.3.6.1.6.3.10.1.1.2 0xa7b4e95eaa45873c69a0815fc1736d31 .1.3.6.1.6.3.10.1.2.2 0xa7b4e95eaa45873c69a0815fc1736d31 ""”

O serial alterado:

setserialno 2003046207

E o número de vezes que o serviço foi reinicializado:

“engineBoots 14”

9.6.2. Criar os usuários adicionais:

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A setup_passphrase localhost create user1 initial

User successfully created.

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A setup_passphrase localhost create user2 initial

User successfully created.

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A setup_passphrase localhost create user3 initial

User successfully created.

Page 89: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

87

9.6.2.1. Parâmetros:

snmpusm: Comando para criar e manipular usuários;

-v 3: Versão do protocolo SNMP;

-u initial: -u (User) initial, nome do usuário com permissão de escrita;

-n "": Contexto;

-x DES: Tipo de criptografia usada na senha (DES ou AES) – protocolo usa-do na privacidade;

-l authNoPriv: Nível de segurança na autenticação, são três níveis: o noAuthNoPriv: Sem autenticação e sem privacidade; o authNoPriv: Com autenticação, sem privacidade; o authPriv: Com autenticação e privacidade.

“For privacy, the Security Model defines what portion of the mes-sage is encrypted.” – IEEE - rfc3411

-a MD5: Tipo de Hash utilizado na senha (MD5 ou SHA);

-A: A senha será “hasheada”; será criado um hash da senha;

setup_passphrase: Senha do usuário initial;

localhost: Nome DNS ou IP do Servidor;

create user1 initial: Criar o usuário “user1”, clonando de “initial”; clona inclusive a senha.

9.6.3. Alterar a senha dos usuários:

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A setup_passphrase localhost passwd setup_passphrase senhateste user1

SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A setup_passphrase localhost passwd setup_passphrase senhateste2 user2

SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -l authNoPriv -a MD5 -A setup_passphrase localhost passwd setup_passphrase senhateste3 user3

SNMPv3 Key(s) successfully changed.

9.6.3.1. Parâmetros:

passwd: Comando para alterar a senha;

setup_passphrase: Senha atual do usuário “user1”;

senhateste user1: Nova senha para o usuário “user1”, com mínimo de 8 caracteres.

Page 90: Apostila Gerência de Redes com SNMP

88 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

/var/lib/net-snmp/snmpd.conf – Após adição dos usuários “user2”, “user3” e “user4”:

usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723100 0x757365723100 NULL .1.3.6.1.6.3.10.1.1.2 0x90d09d5d787216facf896a3540b462c9 .1.3.6.1.6.3.10.1.2.2 0x90d09d5d787216facf896a3540b462c9 0x

usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723200 0x757365723200 NULL .1.3.6.1.6.3.10.1.1.2 0xf972172c26d4928dd2035e6c8d713d6f .1.3.6.1.6.3.10.1.2.2 0xf972172c26d4928dd2035e6c8d713d6f 0x

usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723300 0x757365723300 NULL .1.3.6.1.6.3.10.1.1.2 0x4fb0c593d94929128c47e7809d88c4d6 .1.3.6.1.6.3.10.1.2.2 0x4fb0c593d94929128c47e7809d88c4d6 0x

usmUser 1 3 0x80001f888056bd9740f0601d4f 0x696e697469616c00 0x696e697469616c00 NULL .1.3.6.1.6.3.10.1.1.2 0xa7b4e95eaa45873c69a0815fc1736d31 .1.3.6.1.6.3.10.1.2.2 0xa7b4e95eaa45873c69a0815fc1736d31 0x

psyscontact Curso setserialno 2003046208 engineBoots 15

Podemos observar as linhas que contem as informações referentes aos novos usuários devidamente criptografada:

“usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723100 0x757365723100 NULL .1.3.6.1.6.3.10.1.1.2 0x90d09d5d787216facf896a3540b462c9 .1.3.6.1.6.3.10.1.2.2 0x90d09d5d787216facf896a3540b462c9 0x

usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723200 0x757365723200 NULL .1.3.6.1.6.3.10.1.1.2 0xf972172c26d4928dd2035e6c8d713d6f .1.3.6.1.6.3.10.1.2.2 0xf972172c26d4928dd2035e6c8d713d6f 0x

usmUser 1 3 0x80001f888056bd9740f0601d4f 0x757365723300 0x757365723300 NULL .1.3.6.1.6.3.10.1.1.2 0x4fb0c593d94929128c47e7809d88c4d6 .1.3.6.1.6.3.10.1.2.2 0x4fb0c593d94929128c47e7809d88c4d6 0x”

O serial alterado:

setserialno 2003046208

E o número de vezes que o serviço foi reinicializado:

“engineBoots 15”

Page 91: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

89

9.6.4. snmpd.conf v3 básico:

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 básico (snmpd.conf.4) # # mantive o usuário initial com permissão de escrita rwuser initial # Dei permissão de leitura aos 3 usuários # recém-criados. rouser user1 rouser user2 rouser user3

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

9.6.5. Acessando um Agente SNMP v3:

# snmpget -v 3 -u user3 -n "" -l authNoPriv -a MD5 -A senhateste3 -x DES localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: Curso

# snmpset -v 3 -u initial -n "" -l authNoPriv -a MD5 -A se-tup_passphrase -x DES localhost sysContact.0 s "André Déo"

SNMPv2-MIB::sysContact.0 = STRING: André Déo

# snmpgetnext -v 3 -u initial -n "" -l authNoPriv -a MD5 -A set-up_passphrase -x DES localhost sysContact.0

SNMPv2-MIB::sysName.0 = STRING: aulas

# snmpbulkget -v 3 -u initial -n "" -l authNoPriv -a MD5 -A set-up_passphrase -x DES localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686

SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19793) 0:03:17.93

SNMPv2-MIB::sysContact.0 = STRING: André Déo SNMPv2-MIB::sysName.0 = STRING: aulas SNMPv2-MIB::sysLocation.0 = STRING: Unknown SNMPv2-MIB::sysORLastChange.0 = Timeticks: (19) 0:00:00.19 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-

MIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-

MIB::usmMIBCompliance

Page 92: Apostila Gerência de Redes com SNMP

90 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance

9.6.6. snmpd.conf v3 com VACM devidamente configurado:

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 devidamente configurado (snmpd.conf.5) # Definir as Views # view nome incl/excl. sub-árvore máscara View all included .1 80 view ip included iso.org.dod.internet.mgmt.mib-2.ip # Agrupar os usuários #group nome modelo_de_segurança usuário group rogroup1 usm user1 group rogroup1 usm user2 group rogroup2 usm user3 group rwgroup usm initial # Atribuir Permissões aos grupos #access grupo contexto mod_seg nível_seg

coincidir ler alterar notificar access rogroup2 “” any noauth

exact ip none none access rogroup1 “” any noauth

exact all none none access rwgroup “” any noauth

exact all all none

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

9.6.6.1. Acessando um Agent SNMP v3:

# snmpget -v 3 -u user3 -n "" -l authNoPriv -a MD5 -A senhateste3 -x DES localhost sysContact.0

SNMPv2-MIB::sysContact.0 = No Such Object available on this agent at this OID

Esse erro ocorre porque o usuário user3 faz parte do grupo rogroup2, cuja única permissão é ler a view ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip, no qual não existe a informação sysContact.0.

# snmpget -v 3 -u user2 -n "" -l authNoPriv -a MD5 -A senhateste2 -x DES localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: André Déo

O usuário user2 faz parte do grupo rogroup1, cuja permissão é de leitura na view all, que disponibiliza a raiz inteira da MIB (.1). Portanto, ele pode ler a informação sys-Contact.0.

Page 93: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

91

# snmpset -v 3 -u user2 -n "" -l authNoPriv -a MD5 -A se-tup_passphrase -x DES localhost sysLocation.0 s Curso

snmpset: Authentication failure (incorrect password, community or key) (Sub-id not found: (top) -> sysLocation)

Esse erro ocorre porque o user2 não possui privilégios de escrita na view all.

# snmpset -v 3 -u initial -n "" -l authNoPriv -a MD5 -A set-up_passphrase -x DES localhost sysLocation.0 s Curso

SNMPv2-MIB::sysLocation.0 = STRING: Curso

O usuário initial faz parte do grupo rwgroup, cuja permissão é de leitura e escrita na view all, que disponibiliza a raiz inteira da MIB (.1). Portanto ele pode alterar a infor-mação sysLocation.0.

# snmpbulkwalk -v 3 -u user3 -n "" -l authNoPriv -a MD5 -A senha-teste3 -x DES localhost

IP-MIB::ipForwarding.0 = INTEGER: notForwarding(2) IP-MIB::ipDefaultTTL.0 = INTEGER: 64 IP-MIB::ipInReceives.0 = Counter32: 6946 IP-MIB::ipInHdrErrors.0 = Counter32: 0 IP-MIB::ipInAddrErrors.0 = Counter32: 7 IP-MIB::ipForwDatagrams.0 = Counter32: 0 ... IP-MIB::ipDefaultRouterLifetime.ipv4."192.168.1.1".2 = Gauge32:

4294967295 seconds IP-MIB::ipDefaultRouterPreference.ipv4."192.168.1.1".2 = INTEGER:

medium(0) IP-MIB::ipDefaultRouterPreference.ipv4."192.168.1.1".2 = No more

variables left in this MIB View (It is past the end of the MIB tree)

O usuário user3 faz parte do grupo rogroup2, cuja única permissão é ler a view ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip. Por isso todas as in-formações apresentadas são da MIB “IP-MIB”.

Outro detalhe interessante é a mensagem no final da execução do comando “No more variables left in this MIB View (It is past the end of the MIB tree)”. Todas as vezes que essa mensagem for apresentada não significa que você não chegou ao fim da MIB, significa que você chegou ao fim da sua permissão. Se não for essa a sua intenção, é preciso revisar a configuração do host e alterar o que for necessário.

9.7. Configuração inicial de um Agente exclusivamente v3 com Auten-

ticação e Privacidade

Nesse capítulo veremos como criar um usuário SNMP v3 com o nível máximo de segurança. Se o seu ambiente permite a configuração exclusiva da versão 3, não tem porque não aproveitar ao máximo os recursos oferecidos por ela.

9.7.1. Criar o usuário inicial com permissão de escrita:

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 inicial com autenticação e privacidade (snmpd.conf.6)

Page 94: Apostila Gerência de Redes com SNMP

92 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

# # Declarando um usuário Inicial com permissão de escrita rwuser initial # Criando o usuário na base do snmp #IMPORTANTE: Esta linha deve ser apagada após a adição dos novos

usuários createUser initial MD5 setup_passphrase DES setup_passkey

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

9.7.2. Criar os usuários adicionais:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l au-thPriv -a MD5 -A setup_passphrase localhost create user1 initial

User successfully created.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost create user2 initial

User successfully created.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost create user3 initial

User successfully created.

9.7.2.1. Parâmetros:

snmpusm: Comando para criar e manipular usuários;

-v 3: Versão do protocolo SNMP;

-u initial: -u (User) initial, nome do usuário com permissão de escrita;

-n "": Contexto;

-x DES: Tipo de criptografia usada na senha (DES ou AES) – protocolo usa-do na privacidade;

-X setup_passkey: Chave criptográfica;

-l authPriv: Nível de segurança na autenticação; são três níveis: o noAuthNoPriv: Sem autenticação e sem privacidade; o authNoPriv: Com autenticação, sem privacidade; o authPriv: Com autenticação e privacidade.

“For privacy, the Security Model defines what portion of the mes-sage is encrypted.” – IEEE - rfc3411

-a MD5: Tipo de Hash utilizado na senha (MD5 ou SHA);

-A: A senha será “hasheada”; será criado um hash da senha;

setup_passphrase: Senha do usuário initial;

localhost: Nome DNS ou IP do Servidor;

create user1 initial: Criar o usuário “user1”; clonando de “initial”, clona inclusive a senha.

Page 95: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

93

9.7.2.2. Outro exemplo:

# snmpusm -v3 -u initial -n "" -l authPriv -x DES -X 123 -a MD5 -A 234 localhost create user1 initial

9.7.2.2.1. Parâmetros:

“-x DES -X 123 -a MD5 -A 234”: Criptografia do tipo DES (-x), chave criptográfica “123” (-X), hash do tipo MD5 (-a), chave criptográfica “234” (-A). Veja este trecho do man snmpcmd:

-a authProtocol Set the authentication protocol (MD5 or SHA) used for authenti-

cated SNMPv3 messages. Overrides the defAuthType token in the snmp.conf file.

-A authPassword Set the authentication pass phrase used for authenticated SNMPv3

messages. Overrides the defAuthPassphrase token in the snmp.conf file. It is insecure to specify pass phrases on the command line, see snmp.conf(5).

-x privProtocol Set the privacy protocol (DES or AES) used for encrypted SNMPv3

messages. Overrides the defPrivType token in the snmp.conf file. This option is only valid if the Net-SNMP software was build to use OpenSSL.

-X privPassword Set the privacy pass phrase used for encrypted SNMPv3 messages.

Overrides the defPrivPassphrase token in the snmp.conf file. It is in-secure to specify pass phrases on the command line, see snmp.conf(5).

9.7.3. Alterar a senha dos usuários:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l au-thPriv -a MD5 -A setup_passphrase localhost -Ca passwd setup_passphrase senhateste user1

SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost -Ca passwd set-up_passphrase senhateste2 user2

SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost -Ca passwd set-up_passphrase senhateste3 user3

SNMPv3 Key(s) successfully changed.

9.7.3.1. Parâmetros:

-Ca: Alterar a chave de autenticação;

passwd: Comando para alterar a senha;

setup_passphrase: Senha atual do usuário “user1”;

Page 96: Apostila Gerência de Redes com SNMP

94 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

senhateste user1: Nova senha para o usuário “user1”, com mínimo de 8 caracteres.

9.7.4. Alterar a chave dos usuários:

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost -Cx passwd setup_passkey senha_key user1

SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l

authPriv -a MD5 -A setup_passphrase localhost -Cx passwd setup_passkey senha_key2 user2

SNMPv3 Key(s) successfully changed.

# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l

authPriv -a MD5 -A setup_passphrase localhost -Cx passwd setup_passkey senha_key3 user3

SNMPv3 Key(s) successfully changed.

9.7.4.1. Parâmetros:

-Cx: Alterar a chave de privacidade;

passwd: Comando para alterar a senha;

setup_passkey: Chave atual do usuário “user1”;

senha_key user1: Nova chave para o usuário “user1”, com mínimo de 8 caracteres.

9.7.5. snmpd.conf v3 básico:

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 básico com autenticação e privacidade (snmpd.conf.7)

# # mantive o usuário initial com permissão de escrita rwuser initial # Dei permissão de leitura aos 3 usuários # recém-criados. rouser user1 rouser user2 rouser user3

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

Page 97: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

95

9.7.6. Acessando um Agente SNMP v3:

# snmpget -v 3 -u user1 -n "" -x DES -X senha_key -l authPriv -a MD5 -A senhateste localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: Curso

# snmpset -v 3 -u initial -n "" -x DES -X setup_passkey -l au-thPriv -a MD5 -A setup_passphrase localhost sysContact.0 s "André Déo"

SNMPv2-MIB::sysContact.0 = STRING: André Déo

# snmpgetnext -v 3 -u user3 -n "" -x DES -X senha_key3 -l authPriv -a MD5 -A senhateste3 localhost sysContact.0

SNMPv2-MIB::sysName.0 = STRING: aulas

# snmpbulkget -v 3 -u user2 -n "" -x DES -X senha_key2 -l authPriv -a MD5 -A senhateste2 localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.32-71.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686

SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19793) 0:03:17.93

SNMPv2-MIB::sysContact.0 = STRING: André Déo SNMPv2-MIB::sysName.0 = STRING: aulas SNMPv2-MIB::sysLocation.0 = STRING: Unknown SNMPv2-MIB::sysORLastChange.0 = Timeticks: (19) 0:00:00.19 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-

MIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-

MIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-

MIB::snmpFrameworkMIBCompliance

9.7.7. snmpd.conf v3 com VACM devidamente configurado:

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 devidamente configurado com autentica-ção e privacidade (snmpd.conf.8)

# Definir as Views # view nome incl/excl. sub-árvore máscara View all included .1 80 view ip included iso.org.dod.internet.mgmt.mib-2.ip # Agrupar os usuários #group nome modelo_de_segurança usuário group rogroup1 usm user1 group rogroup1 usm user2 group rogroup2 usm user3

Page 98: Apostila Gerência de Redes com SNMP

96 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

group rwgroup usm initial # Atribuir Permissões aos grupos #access grupo contexto mod_seg nível_seg

coincidir ler alterar notificar access rogroup2 “” any noauth

exact ip none none access rogroup1 “” any noauth

exact all none none access rwgroup “” any noauth

exact all all none

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

9.7.7.1. Acessando um Agent SNMP v3:

# snmpget -v 3 -u user3 -n "" -x DES -X senha_key3 -l authPriv -a MD5 -A senhateste3 localhost sysContact.0

SNMPv2-MIB::sysContact.0 = No Such Object available on this agent at this OID

Esse erro ocorre porque o usuário user3 faz parte do grupo rogroup2, cuja única permissão é ler a view ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip, no qual não existe a informação sysContact.0.

# snmpget -v 3 -u user2 -n "" -x DES -X senha_key2 -l authPriv -a MD5 -A senhateste2 localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: André Déo

O usuário user2 faz parte do grupo rogroup1, cuja permissão é de leitura na view all, que disponibiliza a raiz inteira da MIB (.1). Portanto, ele pode ler a informação sys-Contact.0.

# snmpset -v 3 -u user2 -n "" -x DES -X senha_key2 -l authPriv -a MD5 -A senhateste2 localhost sysLocation.0 s Curso

Error in packet. Reason: noAccess Failed object: SNMPv2-MIB::sysLocation.0

Esse erro ocorre porque o user2 não possui privilégios de escrita na view all.

# snmpset -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost sysLocation.0 s Curso

SNMPv2-MIB::sysLocation.0 = STRING: Curso

O usuário initial faz parte do grupo rwgroup, cuja permissão é de leitura e escrita na view all, que disponibiliza a raiz inteira da MIB (.1). Portanto, ele pode alterar a in-formação sysLocation.0.

# snmpbulkwalk -v 3 -u user3 -n "" -x DES -X senha_key3 -l au-thPriv -a MD5 -A senhateste3 localhost

IP-MIB::ipForwarding.0 = INTEGER: notForwarding(2) IP-MIB::ipDefaultTTL.0 = INTEGER: 64

Page 99: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

97

IP-MIB::ipInReceives.0 = Counter32: 6946 IP-MIB::ipInHdrErrors.0 = Counter32: 0 IP-MIB::ipInAddrErrors.0 = Counter32: 7 IP-MIB::ipForwDatagrams.0 = Counter32: 0 ... IP-MIB::ipDefaultRouterLifetime.ipv4."192.168.1.1".2 = Gauge32:

4294967295 seconds IP-MIB::ipDefaultRouterPreference.ipv4."192.168.1.1".2 = INTEGER:

medium(0) IP-MIB::ipDefaultRouterPreference.ipv4."192.168.1.1".2 = No more

variables left in this MIB View (It is past the end of the MIB tree)

O usuário user3 faz parte do grupo rogroup2, cuja única permissão é ler a view ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip, e por isso todas as informações apresentadas são da MIB “IP-MIB”.

9.8. Segurança em SNMP V3:

“Estou usando apenas SNMP v3 na minha rede, por isso estou seguro” – Será mesmo?

O SNMP v3 só garante a segurança quando usamos o nível máximo de autentici-dade e privacidade (authPriv), pois nesse modelo a senha e os dados são transmitidos na rede de forma criptografada.

9.8.1. Requisição SNMP v2

Figura 302 - Requisição SNMP v2

Page 100: Apostila Gerência de Redes com SNMP

98 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

Figura 313 - Tráfego SNMP v2 capturado – Dados em texto plano

9.8.2. Requisição SNMP v3com Autenticação

Figura 44 - Requisição SNMP v3 com Autenticação

Page 101: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3

99

Figura 45 - Tráfego SNMP v3 capturado – Dados em texto plano

9.8.3. Requisição SNMP v3com Autenticação e Privacidade

Figura 46 - Requisição SNMP v3 com Autenticação e Privacidade

Page 102: Apostila Gerência de Redes com SNMP

100 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 | Gerenciamento de Redes com SNMP

Figura 47 - Tráfego SNMP v3 capturado – Dados Criptografados

Page 103: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 101

10. Monitorando Recursos do Sistema

Essas informações são compatíveis com todas as versões do protocolo SNMP, no entanto, vou continuar com a versão 3 do protocolo SNMP, sempre acrescentando a nova informação ao final do arquivo anterior.

10.1. Informações do Sistema

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 devidamente configurado – Informações do Sistema (snmpd.conf.9)

... # local syslocation Curso # Contato syscontact André Déo [email protected] # Descricao sysdescr Computador do curso

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

10.1.1. Acessando o Agent SNMP para leitura de informações do sistema

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost sysLocation.0

SNMPv2-MIB::sysLocation.0 = STRING: Curso

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: André Déo [email protected]

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost sysDescr.0

SNMPv2-MIB::sysDescr.0 = STRING: Computador do Curso

10.2. Monitoramento de Processos

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento de Processos (snmpd.conf.10)

... # proc processo máximo mínimo proc httpd 9 5 proc mysqld 3 proc postfix

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

Page 104: Apostila Gerência de Redes com SNMP

102 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP

As saídas estarão abaixo do OID: .1.3.6.1.4.1.2021.2.1 – enterpri-ses.ucdavis.prTable.prEntry (), sendo elas:

.1.X prIndex = INTEGER: 1

.2.X prNames = STRING: httpd

.3.X prMin = INTEGER: 5

.4.X prMax = INTEGER: 9

.5.X prCount = INTEGER: 10

.100.X prErrorFlag = INTEGER: error(1)

.101.X prErrMessage = STRING: Too many httpd running (# = 10)

.102.X prErrFix = INTEGER: noError(0)

.103.X prErrFixCmd = STRING:

10.2.1. Acessando o Agent SNMP para leitura de informações sobre processos

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.1.1

UCD-SNMP-MIB::prIndex.1 = INTEGER: 1

Número de índice do processo 1: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.2.1

UCD-SNMP-MIB::prNames.1 = STRING: httpd

Nome do processo 1: httpd

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.3.1

UCD-SNMP-MIB::prMin.1 = INTEGER: 5

Número mínimo de processos do processo 1: 5

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.4.1

UCD-SNMP-MIB::prMax.1 = INTEGER: 9

Número máximo de processos do processo 1: 9

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.5.1

UCD-SNMP-MIB::prCount.1 = INTEGER: 10

Contagem de processos do processo 1: 10

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.100.1

UCD-SNMP-MIB::prErrorFlag.1 = INTEGER: error(1)

Processo 1 está com flag de erro: error(1)

Page 105: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 103

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.101.1

UCD-SNMP-MIB::prErrMessage.1 = STRING: Too many httpd running (# = 10)

Mensagem de erro do processo 1: Too many httpd running (# = 10)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.102.1

UCD-SNMP-MIB::prErrFix.1 = INTEGER: noError(0)

Executar correções quando ocorrer erro no processo 1: noError(0)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.103.1

UCD-SNMP-MIB::prErrFixCmd.1 = STRING:

Comando a ser executado quando ocorrer erro no processo 1:

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.2.2

UCD-SNMP-MIB::prNames.2 = STRING: mysqld

Nome do processo 2: mysqld

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.3.2

UCD-SNMP-MIB::prMin.2 = INTEGER: 0

Número mínimo de processos do processo 2: 0

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.4.2

UCD-SNMP-MIB::prMax.2 = INTEGER: 3

Número máximo de processos do processo 2: 3

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.5.2

UCD-SNMP-MIB::prCount.2 = INTEGER: 1

Contagem de processos do processo 2: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.2.3

UCD-SNMP-MIB::prNames.3 = STRING: postfix

Nome do processo 3: postfix

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.3.3

UCD-SNMP-MIB::prMin.3 = INTEGER: 0

Número mínimo de processos do processo 3: 0

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.4.3

UCD-SNMP-MIB::prMax.3 = INTEGER: 0

Número máximo de processos do processo 3: 0

Page 106: Apostila Gerência de Redes com SNMP

104 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.2.1.5.3

UCD-SNMP-MIB::prCount.3 = INTEGER: 0

Contagem de processos do processo 3: 0

10.3. Monitoramento de uso de disco

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento de uso de disco (snmpd.conf.11)

... #disk Ponto de Montagem Espaço/Porcentagem mínima dis-

ponível disk / 90% disk /boot 60000

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

As saídas estarão abaixo do OID: .1.3.6.1.4.1.2021.9.1 – enterpri-ses.ucdavis.dskTable.dskEntry (), sendo elas:

.1.X dskIndex = INTEGER: 1

.2.X dskPath = STRING: /

.3.X dskDevice = STRING: /dev/sda3

.4.X dskMinimum = INTEGER: -1

.5.X dskMinPercent = INTEGER: 90

.6.X dskTotal = INTEGER: 7638904

.7.X dskAvail = INTEGER: 2114148

.8.X dskUsed = INTEGER: 5136712

.9.X dskPercent = INTEGER: 71

.10.X dskPercentNode = INTEGER: 41

.100.X dskErrorFlag = INTEGER: error(1)

.101.X dskErrorMsg = less than 90% free (= 71%)

10.3.1. Acessando o Agent SNMP para leitura de informações sobre o disco

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.1.1

UCD-SNMP-MIB::dskIndex.1 = INTEGER: 1

Número de índice do ponto de montagem 1: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.2.1

UCD-SNMP-MIB::dskPath.1 = STRING: /

Ponto de montagem 1: /

Page 107: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 105

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.3.1

UCD-SNMP-MIB::dskDevice.1 = STRING: /dev/sda3

Partição do ponto de montagem 1: /dev/sda3

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.4.1

UCD-SNMP-MIB::dskMinimum.1 = INTEGER: -1

Espaço mínimo no ponto de montagem 1: Não configurado (-1)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.5.1

UCD-SNMP-MIB::dskMinPercent.1 = INTEGER: 90

Porcentagem mínima no ponto de montagem 1: 90(%)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.6.1

UCD-SNMP-MIB::dskTotal.1 = INTEGER: 7638904

Tamanho do ponto de montagem 1: 7638904

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.7.1

UCD-SNMP-MIB::dskAvail.1 = INTEGER: 2114148

Espaço livre no ponto de montagem 1: 2114148

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.8.1

UCD-SNMP-MIB::dskUsed.1 = INTEGER: 5136712

Espaço utilizado no ponto de montagem 1: 5136712

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.9.1

UCD-SNMP-MIB::dskPercent.1 = INTEGER: 71

Percentual utilizado no ponto de montagem 1: 71(%)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.10.1

UCD-SNMP-MIB::dskPercentNode.1 = INTEGER: 41

Percentual de inodes usados no ponto de montagem 1: 41(%)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.100.1

UCD-SNMP-MIB::dskErrorFlag.1 = INTEGER: error(1)

Ponto de montagem 1 está com flag de erro: error(1)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.101.1

UCD-SNMP-MIB::dskErrorMsg.1 = STRING: /: less than 90% free (= 71%)

Mensagem de erro no ponto de montagem 1: less than 90% free (= 71%)

Page 108: Apostila Gerência de Redes com SNMP

106 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.2.2

UCD-SNMP-MIB::dskPath.2 = STRING: /boot

Ponto de montagem 2: /boot

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.3.2

UCD-SNMP-MIB::dskDevice.2 = STRING: /dev/sda1

Partição do ponto de montagem 2: /dev/sda1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.4.2

UCD-SNMP-MIB::dskMinimum.2 = INTEGER: 50000

Espaço mínimo no ponto de montagem 2: 50000

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.9.1.5.2

UCD-SNMP-MIB::dskMinPercent.2 = INTEGER: -1

Porcentagem mínima no ponto de montagem 2: Não configurado (-1)

10.4. Monitoramento de Carga do sistema

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento de Carga do sistema (snmpd.conf.12)

... #Limite máximo de carga nos últimos 1min 5min 15min load 1 5 5

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

As saídas estarão abaixo do OID: .1.3.6.1.4.1.2021.10.1 – enterpri-ses.ucdavis.dskTable.dskEntry (), sendo elas:

.1.1 laIndex = INTEGER: 1

.1.2 laIndex = INTEGER: 2

.1.3 laIndex = INTEGER: 3

.2.1 laNames = STRING: Load-1

.2.2 laNames = STRING: Load-5

.2.3 laNames = STRING: Load-15

.3.1 laLoad = STRING: 3.77

.3.2 laLoad = STRING: 1.39

.3.3 laLoad = STRING: 0.50

.4.1 laConfig = STRING: 1.00

.4.2 laConfig = STRING: 5.00

.4.3 laConfig = STRING: 5.00

.5.1 laLoadInt = INTEGER: 210

.5.2 laLoadInt = INTEGER: 126

.5.3 laLoadInt = INTEGER: 48

Page 109: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 107

.6.1 laLoadFloat = Opaque: Float: 1.780000

.6.2 laLoadFloat = Opaque: Float: 1.200000

.6.3 laLoadFloat = Opaque: Float: 0.480000

.100.1 laErrorFlag = INTEGER: error(1)

.100.2 laErrorFlag = INTEGER: noError(0)

.100.3 laErrorFlag = INTEGER: noError(0)

.101.1 laErrMessage = STRING: 1 min Load Average too high (= 1.27)

.101.2 laErrMessage = STRING:

.101.3 laErrMessage = STRING:

10.4.1. Acessando o Agent SNMP para leitura de informações sobre Carga de sistema (Load)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.1.1

UCD-SNMP-MIB::laIndex.1 = INTEGER: 1

Número de índice do Load 1: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.1.2

UCD-SNMP-MIB::laIndex.2 = INTEGER: 2

Número de índice do Load 2: 2

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.1.3

UCD-SNMP-MIB::laIndex.3 = INTEGER: 3

Número de índice do Load 3: 3

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.2.1

UCD-SNMP-MIB::laNames.1 = STRING: Load-1

Nome do Load 1: Load-1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.2.2

UCD-SNMP-MIB::laNames.2 = STRING: Load-5

Nome do Load 2: Load-5

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.2.3

UCD-SNMP-MIB::laNames.3 = STRING: Load-15

Nome do Load 3: Load-15

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.3.1

UCD-SNMP-MIB::laLoad.1 = STRING: 3.77

Carga do Load 1: 3.77

Page 110: Apostila Gerência de Redes com SNMP

108 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.3.2

UCD-SNMP-MIB::laLoad.2 = STRING: 1.39

Carga do Load 2: 1.39

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.3.3

UCD-SNMP-MIB::laLoad.3 = STRING: 0.50

Carga do Load 3: 0.50

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.4.1

UCD-SNMP-MIB::laConfig.1 = STRING: 1.00

Configuração de limite do Load 1: 1.00

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.4.2

UCD-SNMP-MIB::laConfig.2 = STRING: 5.00

Configuração de limite do Load 2: 5.00

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.4.3

UCD-SNMP-MIB::laConfig.3 = STRING: 5.00

Configuração de limite do Load 3: 5.00

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.5.1

UCD-SNMP-MIB::laLoadInt.1 = INTEGER: 210

Conversão da leitura do Load 1 para inteiro: 210

“The 1, 5 and 15 minute load averages as an integer. This is com-puted by taking the floating point loadaverage value and multiplying by 100, then converting the value to an integer.”

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.5.2

UCD-SNMP-MIB::laLoadInt.2 = INTEGER: 126

Conversão da leitura do Load 2 para inteiro: 126

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.5.3

UCD-SNMP-MIB::laLoadInt.3 = INTEGER: 48

Conversão da leitura do Load 3 para inteiro: 48

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.6.1

UCD-SNMP-MIB::laLoadFloat.1 = Opaque: Float: 1.780000

Leitura do Load 1 em Float: 1.780000

Page 111: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 109

“The 1,5 and 15 minute load averages as an opaquely wrapped floating point number.”

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.6.2

UCD-SNMP-MIB::laLoadFloat.2 = Opaque: Float: 1.200000

Leitura do Load 2 em Float: 1.200000

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.6.3

UCD-SNMP-MIB::laLoadFloat.3 = Opaque: Float: 0.480000

Leitura do Load 3 em Float: 0.480000

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.100.1

UCD-SNMP-MIB::laErrorFlag.1 = INTEGER: error(1)

Load 1 está com erro: error(1)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.100.2

UCD-SNMP-MIB::laErrorFlag.2 = INTEGER: noError(0)

Load 2 está com erro: noError(0)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.100.3

UCD-SNMP-MIB::laErrorFlag.3 = INTEGER: noError(0)

Load 3 está com erro: noError(0)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.101.1

UCD-SNMP-MIB::laErrMessage.1 = STRING: 1 min Load Average too high (= 1.27)

Mensagem de erro do Load 1: 1 min Load Average too high (= 1.27)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.101.2

UCD-SNMP-MIB::laErrMessage.2 = STRING:

Mensagem de erro do Load 2:

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.10.1.101.3

UCD-SNMP-MIB::laErrMessage.3 = STRING:

Mensagem de erro do Load 3:

Page 112: Apostila Gerência de Redes com SNMP

110 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP

10.5. Monitoramento de Tamanho de arquivo

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento de Tamanho de arquivo (snmpd.conf.13)

... # Tamanho do arquivo #file Caminho_do_arquivo tamanho_maximo (kB) file /etc/services 16 file /boot/grub/menu.lst 4

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

As saídas estarão abaixo do OID: .1.3.6.1.4.1.2021.15.1 – enterpri-ses.ucdavis.fileTable.fileEntry (), sendo elas:

.1.X fileIndex = INTEGER: 1

.2.X fileName = STRING: /etc/services

.3.X fileSize = INTEGER: 626 kB

.4.X fileMax = INTEGER: 16 kB

.100.X fileErrorFlag = INTEGER: error(1)

.101.X fileErrorMsg = STRING: /etc/services: size exceeds 16kb (= 626kb)

10.5.1. Acessando o Agent SNMP para leitura de informações sobre tamanho de arquivo

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.1.1

UCD-SNMP-MIB::fileIndex.1 = INTEGER: 1

Número de índice do Arquivo 1: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.2.1

UCD-SNMP-MIB::fileName.1 = STRING: /etc/services

Nome do Arquivo 1: /etc/services

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.3.1

UCD-SNMP-MIB::fileSize.1 = INTEGER: 626 kB

Tamanho do Arquivo 1: 626 kB

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.4.1

UCD-SNMP-MIB::fileMax.1 = INTEGER: 16 kB

Tamanho Máximo do Arquivo 1: 16 kB

Page 113: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 111

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.100.1

UCD-SNMP-MIB::fileErrorFlag.1 = INTEGER: error(1)

Arquivo 1 está com flag de erro: error(1)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.101.1

UCD-SNMP-MIB::fileErrorMsg.1 = STRING: /etc/services: size ex-ceeds 16kb (= 626kb)

Mensagem de erro do Arquivo 1: /etc/services: size exceeds 16kb (= 626kb)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.1.2

UCD-SNMP-MIB::fileIndex.2 = INTEGER: 2

Número de índice do Arquivo 2: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.2.2

UCD-SNMP-MIB::fileName.2 = STRING: /boot/grub/menu.lst

Nome do Arquivo 2: /boot/grub/menu.lst

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.3.2

UCD-SNMP-MIB::fileSize.2 = INTEGER: 1 kB

Tamanho do Arquivo 2: 1 kB

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.4.2

UCD-SNMP-MIB::fileMax.2 = INTEGER: 4 kB

Tamanho Máximo do Arquivo 2: 4 kB

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.100.2

UCD-SNMP-MIB::fileErrorFlag.2 = INTEGER: noError(0)

Arquivo 2 está com flag de erro: noError(0)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.15.1.101.2

UCD-SNMP-MIB::fileErrorMsg.2 = STRING:

Mensagem de erro do Arquivo 2:

10.6. Monitoramento utilizando um comando customizado

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento utilizando um comando customizado (snmpd.conf.14)

... #exec Nome comando Parâmetros exec Teste1 /bin/cat /etc/passwd

Page 114: Apostila Gerência de Redes com SNMP

112 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

As saídas estarão abaixo do OID: .1.3.6.1.4.1.2021.8.1 – enterpri-ses.ucdavis.extTable.extEntry (), sendo elas:

.1.X extIndex = INTEGER: 1

.2.X extNames = STRING: Teste1

.3.X extCommand = STRING: /bin/cat

.100.X extResult = INTEGER: 0

.101.X extOutput = STRING: ... 1ª linha da saída do comando ...

.102.X extErrFix = INTEGER: noError(0)

.103.X extErrFixCmd = STRING:

10.6.1. Acessando o Agent SNMP para leitura de informações com comandos customizados

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.8.1.1.1

UCD-SNMP-MIB::extIndex.1 = INTEGER: 1

Número de índice do Comando 1: 1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.8.1.2.1

UCD-SNMP-MIB::extNames.1 = STRING: Teste1

Nome do Comando 1: Teste1

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.8.1.3.1

UCD-SNMP-MIB::extCommand.1 = STRING: /bin/cat

Comando 1 sem parâmetros: /bin/cat

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.8.1.100.1

UCD-SNMP-MIB::extResult.1 = INTEGER: 0

Código de execução (exit status) do Comando 1: 0

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.8.1.101.1

UCD-SNMP-MIB::extOutput.1 = STRING: root:x:0:0:root:/root:/bin/bash

Resultado da execução do Comando 1, exibe apenas a primeira linha: ro-ot:x:0:0:root:/root:/bin/bash

Page 115: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 113

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.8.1.102.1

UCD-SNMP-MIB::extErrFix.1 = INTEGER: noError(0)

Executar comando para corrigir erros, se Comando 1 apresentar erro: noError(0)

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost .1.3.6.1.4.1.2021.8.1.103.1

UCD-SNMP-MIB::extErrFixCmd.1 = STRING:

Comando a ser executado, caso a opção anterior esteja configurada como 1:

Mostrar apenas a primeira linha do resultado não é útil na maioria dos casos, po-rém, olhando no /etc/snmp/snmpd.conf, encontramos outras OID que armazenam a informação toda. Por questões óbvias vou usar o /etc/fstab neste exemplo:

# snmpwalk -On -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A sen-hateste -x DES localhost .1.3.6.1.4.1.8072.1.3.2

.1.3.6.1.4.1.8072.1.3.2.1.0 = INTEGER: 1

.1.3.6.1.4.1.8072.1.3.2.2.1.2.6.84.101.115.116.101.49 = STRING: /bin/cat

.1.3.6.1.4.1.8072.1.3.2.2.1.3.6.84.101.115.116.101.49 = STRING: /etc/fstab

.1.3.6.1.4.1.8072.1.3.2.2.1.4.6.84.101.115.116.101.49 = STRING:

.1.3.6.1.4.1.8072.1.3.2.2.1.5.6.84.101.115.116.101.49 = INTEGER: 5

.1.3.6.1.4.1.8072.1.3.2.2.1.6.6.84.101.115.116.101.49 = INTEGER: exec(1)

.1.3.6.1.4.1.8072.1.3.2.2.1.7.6.84.101.115.116.101.49 = INTEGER: run-on-read(1)

.1.3.6.1.4.1.8072.1.3.2.2.1.20.6.84.101.115.116.101.49 = INTEGER: permanent(4)

.1.3.6.1.4.1.8072.1.3.2.2.1.21.6.84.101.115.116.101.49 = INTEGER: active(1)

.1.3.6.1.4.1.8072.1.3.2.3.1.1.6.84.101.115.116.101.49 = STRING:

.1.3.6.1.4.1.8072.1.3.2.3.1.2.6.84.101.115.116.101.49 = STRING: # # /etc/fstab # Created by anaconda on Wed Jul 13 08:18:09 2011 # # Accessible filesystems, by reference, are maintained under

'/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for

more info # UUID=971a8fa5-5800-4737-b2cd-731a986164f4 /

ext4 defaults 1 1 UUID=16eba1c5-2469-4129-b056-64aeb35bb7c4 /boot

ext4 defaults 1 2 UUID=29082312-bca7-41c5-a2b7-fe2acb1d54d2 swap

swap defaults 0 0 tmpfs /dev/shm tmpfs defaults

0 0

Page 116: Apostila Gerência de Redes com SNMP

114 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

.1.3.6.1.4.1.8072.1.3.2.3.1.3.6.84.101.115.116.101.49 = INTEGER: 15

.1.3.6.1.4.1.8072.1.3.2.3.1.4.6.84.101.115.116.101.49 = INTEGER: 0

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.1 = STRING:

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.2 = STRING: #

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.3 = STRING: # /etc/fstab

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.4 = STRING: # Created by anaconda on Wed Jul 13 08:18:09 2011

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.5 = STRING: #

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.6 = STRING: # Accessible filesystems, by reference, are maintained under '/dev/disk'

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.7 = STRING: # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.8 = STRING: #

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.9 = STRING: UUID=971a8fa5-5800-4737-b2cd-731a986164f4 / ext4 defaults 1 1

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.10 = STRING: UUID=16eba1c5-2469-4129-b056-64aeb35bb7c4 /boot ext4 defaults 1 2

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.11 = STRING: UUID=29082312-bca7-41c5-a2b7-fe2acb1d54d2 swap swap defaults 0 0

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.12 = STRING: tmpfs /dev/shm tmpfs de-faults 0 0

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.13 = STRING: devpts /dev/pts devpts gid=5,mode=620 0 0

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.14 = STRING: sysfs /sys sysfs de-faults 0 0

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.15 = STRING: proc /proc proc de-faults 0 0

Page 117: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 115

Alguns detalhes a serem observados:

Usei o comando “snmpwalk -On” para que fossem exibidos os OIDs numéricos.

No OID .1.3.6.1.4.1.8072.1.3.2.3.1.3.6.84.101.115.116.101.49 é exibida a quan-tidade de linhas que a execução do comando retornou (INTEGER: 15), e esse número será a base para as próximas OIDs, retornando uma linha por OID:

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.1 = STRING:

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.2 = STRING: #

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.3 = STRING: # /etc/fstab

...

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.14 = STRING: sysfs /sys sysfs de-faults 0 0

.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.84.101.115.116.101.49.15 = STRING: proc /proc proc de-faults 0 0

10.7. Monitoramento utilizando um comando customizado, com

OID personalizada

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 devidamente configurado – Monitoramento utilizando um comando customizado com OID personalizada (snmpd.conf.15)

... # Caso seja especificado um OID, a saída difere um pouco: #extend OID Nome comando Parâmetros extend .1.1.1.1.1 Teste2 /bin/cat /etc/fstab

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

As saídas estarão abaixo do OID especificado, sendo elas:

.1.0 = INTEGER: 1

.2.1.2.6.84.101.115.116.101.50 = STRING: "/bin/cat"

.2.1.3.6.84.101.115.116.101.50 = STRING: "/etc/fstab"

.2.1.4.6.84.101.115.116.101.50 = ""

.2.1.5.6.84.101.115.116.101.50 = INTEGER: 5

.2.1.6.6.84.101.115.116.101.50 = INTEGER: 1

.2.1.7.6.84.101.115.116.101.50 = INTEGER: 1

.2.1.20.6.84.101.115.116.101.50 = INTEGER: 4

.2.1.21.6.84.101.115.116.101.50 = INTEGER: 1

.3.1.2.6.84.101.115.116.101.50 = STRING: "saída do comando"

Page 118: Apostila Gerência de Redes com SNMP

116 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP

10.7.1. Acessando o Agent SNMP para leitura de informações com comandos customizados usando OID personalizada

# snmpwalk -On -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A sen-hateste -x DES localhost .1.1.1.1.1

.1.1.1.1.1.1.0 = INTEGER: 1

.1.1.1.1.1.2.1.2.6.84.101.115.116.101.50 = STRING: "/bin/cat"

.1.1.1.1.1.2.1.3.6.84.101.115.116.101.50 = STRING: "/etc/fstab"

.1.1.1.1.1.2.1.4.6.84.101.115.116.101.50 = ""

.1.1.1.1.1.2.1.5.6.84.101.115.116.101.50 = INTEGER: 5

.1.1.1.1.1.2.1.6.6.84.101.115.116.101.50 = INTEGER: 1

.1.1.1.1.1.2.1.7.6.84.101.115.116.101.50 = INTEGER: 1

.1.1.1.1.1.2.1.20.6.84.101.115.116.101.50 = INTEGER: 4

.1.1.1.1.1.2.1.21.6.84.101.115.116.101.50 = INTEGER: 1

.1.1.1.1.1.3.1.1.6.84.101.115.116.101.50 = ""

.1.1.1.1.1.3.1.2.6.84.101.115.116.101.50 = STRING: " # # /etc/fstab # Created by anaconda on Wed Jul 13 08:18:09 2011 # # Accessible filesystems, by reference, are maintained under

'/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for

more info # UUID=971a8fa5-5800-4737-b2cd-731a986164f4 /

ext4 defaults 1 1 UUID=16eba1c5-2469-4129-b056-64aeb35bb7c4 /boot

ext4 defaults 1 2 UUID=29082312-bca7-41c5-a2b7-fe2acb1d54d2 swap

swap defaults 0 0 tmpfs /dev/shm tmpfs defaults

0 0 devpts /dev/pts devpts

gid=5,mode=620 0 0 sysfs /sys sysfs defaults

0 0 proc /proc proc defaults

0 0" .1.1.1.1.1.3.1.3.6.84.101.115.116.101.50 = INTEGER: 15 .1.1.1.1.1.3.1.4.6.84.101.115.116.101.50 = INTEGER: 0 .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.1 = "" .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.2 = STRING: "#" .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.3 = STRING: "#

/etc/fstab" .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.4 = STRING: "# Created

by anaconda on Wed Jul 13 08:18:09 2011" .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.5 = STRING: "#" .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.6 = STRING: "# Accessi-

ble filesystems, by reference, are maintained under '/dev/disk'" .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.7 = STRING: "# See man

pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info" .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.8 = STRING: "#"

Page 119: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Monitorando Recursos do Sistema 117

.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.9 = STRING: "UUID=971a8fa5-5800-4737-b2cd-731a986164f4 / ext4 defaults 1 1"

.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.10 = STRING: "UUID=16eba1c5-2469-4129-b056-64aeb35bb7c4 /boot ext4 defaults 1 2"

.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.11 = STRING: "UUID=29082312-bca7-41c5-a2b7-fe2acb1d54d2 swap swap defaults 0 0"

.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.12 = STRING: "tmpfs /dev/shm tmpfs defaults 0 0"

.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.13 = STRING: "devpts /dev/pts devpts gid=5,mode=620 0 0"

.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.14 = STRING: "sysfs /sys sysfs defaults 0 0"

.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.15 = STRING: "proc /proc proc defaults 0 0"

Page 120: Apostila Gerência de Redes com SNMP

118 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP

Page 121: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos

119

11. Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos

Especiais e Exemplos

Aqui estão alguns exemplos de configurações mais complexas, incluindo suporte a diferentes views para um usuário SNMP v3 com base em seu nível de segurança.

11.1. Views VACM, ou Como restringir o acesso a determinados

ramos da árvore

Para restringir o acesso a determinados ramos da árvore usamos a string “exclu-ded”, primeiro negando e depois liberando:

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 Como restringir o acesso a determinados ramos da árvore (snmpd.conf.16)

... view all excluded .1 view all included sysUpTime.0

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

Como podemos observar no arquivo acima, excluímos a árvore inteira e incluí-mos apenas a informação sysUpTime.0, ou seja ,a única informação disponível sobre esse host será essa.

11.1.1. Acessando o Agent SNMP com acesso restrito (sysUpTi-me.0)

# snmpwalk -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (15753) 0:02:37.53

DISMAN-EVENT-MIB::sysUpTimeInstance = No more variables left in this MIB View (It is past the end of the MIB tree)

Mais um exemplo; vamos disponibilizar também a informação do número de ín-dice da primeira interface de rede do host.

11.1.2. Acessando o Agent SNMP com acesso restrito (interfa-ces.ifTable.ifEntry.infIndex.1)

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 Como restringir o acesso a determinados ramos da árvore (snmpd.conf.17)

... view all excluded .1 view all included sysUpTime.0 view all included interfac-

es.ifTable.ifEntry.ifIndex.1

Page 122: Apostila Gerência de Redes com SNMP

120 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos | Gerenciamento de Redes com SNMP

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

# snmpwalk -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2395) 0:00:23.95

IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.1 = No more variables left in this MIB View (It

is past the end of the MIB tree)

Por último, vou liberar apenas o sysUpTime.0 e as informações referentes as in-terfaces de rede do host.

11.1.3. Acessando o Agent SNMP com acesso restrito (interfa-ces.ifTable.ifEntry)

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 Como restringir o acesso a determinados ramos da árvore (snmpd.conf.18)

... view all excluded .1 view all included sysUpTime.0 view all included interfaces.ifTable.ifEntry

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

# snmpwalk -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (16119) 0:02:41.19

IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: eth0 … IF-MIB::ifSpecific.1 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.2 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.2 = No more variables left in this MIB View

(It is past the end of the MIB tree)

Page 123: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos

121

11.2. Máscaras VACM, ou Como restringir o acesso a um determi-

nado índice (linha) em uma Tabela

Usando a diretiva view no snmpd.conf, pode-se limitar os usuários a uma única linha em uma tabela. Para fazer isso, o parâmetro opcional mask é especificado. Aqui está um trecho do man page:

view NAME TYPE SUBTREE [MASK] view NAME define o nome da view. TYPE se ela será incluída (in-

cluded) ou excluída (excluded). MASK é uma lista de octetos hexadeci-mais, separados por '.' ou ':'. A MASK default será "ff" se não for especificada.

A razão da mascara é que ela permite que você controle o acesso a uma linha em uma tabela, de uma maneira relativamente simples. Por e-xemplo, como um provedor de internet (ISP) você pode considerar dar a-cesso para cada cliente a sua própria interface:

view cust1 included interfaces.ifTable.ifEntry.ifIndex.1 ff.a0 view cust2 included interfaces.ifTable.ifEntry.ifIndex.2 ff.a0 (interfaces.ifTable.ifEntry.ifIndex.1 == .1.3.6.1.2.1.2.2.1.1.1,

ff.a0 == 11111111.10100000. Engloba, inclusive, o índice da linha, mas permite ao usuário variar o campo (coluna) da linha)

Nota: O caractere separador da mascara pode ser "." ou ":". Então, um exemplo um pouco mais visual sobre isso: .1.3.6.1.2.1.2.2.1.1.1 == interfaces.ifTable.ifEntry.ifIndex.1 1 1 1 1 1 1 1 1 1 0 1 (00000) == (ff.a0)

^ ^ ^ ^ | | | |-- o índice (the index) | | |---- a coluna (the column) | |------ ifEntry |-------- ifTable

Assim, cada bit na máscara indica se os OID correspondentes devem coincidir (1) ou não (0). No exemplo acima, todas as partes do OID ex-ceto a coluna (the column) devem coincidir. Então, essa visão permite o acesso a qualquer coluna da primeira linha no ifTable. Assim, combinado com uma linha excluída (excluded) para o ifTable, somente a linha 1 es-taria acessível para o usuário.

Agora, para trazê-lo todos juntos com outras diretrizes de con-trole de acesso. Assumindo 2 clientes, e cada um está conectado a uma interface específica (por ex. cliente 1 está conectado à eth0 e cliente 2 está conectado a eth1):

#### # Primeiro, mapear o nome da comunidade (COMMUNITY) para um nome

de # acesso (security name) # (local ou minha_rede, dependendo da origem da requisição): # # sec.name source community com2sec local localhost secret42 com2sec cust1_sec 192.168.1.0/24 public com2sec cust2_sec 192.168.2.0/24 public #### # Segundo, mapear o nome de acesso em um nome de grupo:

Page 124: Apostila Gerência de Redes com SNMP

122 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos | Gerenciamento de Redes com SNMP

# sec.model sec.name Group MyRWGroup v1 local group MyRWGroup v2c local group cust1_grp v1 cust1_sec group cust1_grp v2c cust1_sec group cust2_grp v1 cust2_sec group cust2_grp v2c cust2_sec #### # Terceiro, criar as views para definir quais são os direitos dos # grupos: # incl/excl subtree

mask view all included .1 view cust1_v excluded .1 view cust1_v included sysUpTime.0 view cust1_v included interfaces.ifTable.ifEntry.ifIndex.1

ff.a0 view cust2_v excluded .1 view cust2_v included sysUpTime.0 view cust2_v included interfaces.ifTable.ifEntry.ifIndex.2

ff.a0 #### # Por fim, definir as views para os grupos: # context sec.model sec.level match

read write notif access MyRWGroup "" any noauth exact

all all none access cust1_grp "" any noauth exact

cust1_v none none access cust2_grp "" any noauth exact

cust2_v none none É importante notar que isso funciona porque os clientes estão em

redes diferentes. Se todos os clientes estão na mesma rede, o tráfego de rede pode ser capturado por um analisador de redes (sniffer), o que pode expor a "comunidade" ("community string") de um cliente para outro cliente, permitindo que o segundo cliente possa visualizar as estatís-ticas de interface de rede do primeiro cliente via SNMP. Neste caso, você deve usar os recursos de criptografia oferecidos pelo SNMPv3 (usm), em vez de strings de comunidade SNMPv1 e SNMPv2.

Page 125: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos

123

Vamos liberar acesso à informação sysUpTime.0 e a todas as informações (pode variar a coluna) da interface 2 (não pode mudar de linha) do host. Para ilustrar, é como se essa view montasse a seguinte tabela referente às informações de rede:

ifInd

ex

ifDe

scr

ifType

ifMtu

ifSpee

d

ifPh

ysAd

dress

ifAd

min

Status

ifOp

erStatus

ifLastCh

ange

ifInO

ctets

ifInU

castPkts

ifInN

UcastP

kts

ifInD

iscards

ifInErro

rs

ifInU

nkn

ow

nP

roto

s

ifOu

tOctets

ifOu

tUcastP

kts

ifOu

tNU

castPkts

ifOu

tDiscard

s

ifOu

tErrors

ifOu

tQLen

ifSpecific

1 l

lo

2 e

eth0

3 E

eth1

Tabela 04 – Tabela referente às informações de rede

Podemos variar a coluna, que contém as descrições das informações, mas esta-mos presos na linha 2, ou seja, podemos ver qualquer informação referente a eth0.

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 Como restringir o acesso a um determi-nado índice (linha) em uma Tabela (snmpd.conf.19)

... view all excluded .1 view all included sysUpTime.0 view all included interfaces.ifTable.ifEntry.ifIndex.2 ff.a0

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

Page 126: Apostila Gerência de Redes com SNMP

124 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos | Gerenciamento de Redes com SNMP

11.2.1. Acessando o Agent SNMP com acesso restrito – Uso do parâmetro mask

# snmpwalk -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (115102) 0:19:11.02

IF-MIB::ifIndex.2 = INTEGER: 2 IF-MIB::ifDescr.2 = STRING: eth0 IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6) … IF-MIB::ifOutQLen.2 = Gauge32: 0 IF-MIB::ifSpecific.2 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.2 = No more variables left in this MIB View

(It is past the end of the MIB tree)

Outro exemplo; desejo liberar apenas as informações de descrição, e estados administrativo e operacional das interfaces do sistema:

# cat snmpd.conf

# /etc/snmp/snmpd.conf v3 Como restringir o acesso a um determi-nado índice (linha) em uma Tabela (snmpd.conf.20)

... view all excluded .1 view all included sysUpTime.0 view all included .1.3.6.1.2.1.2.2.1.2 FF.C0 view all included .1.3.6.1.2.1.2.2.1.7 FF.C0 view all included .1.3.6.1.2.1.2.2.1.8 FF.C0

Lembre-se que após alterar o arquivo é necessário reiniciar o serviço:

# service snmpd restart

11.2.2. Acessando o Agent SNMP com acesso restrito – Uso do parâmetro mask

# snmpwalk -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (379) 0:00:03.79 IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: eth0 IF-MIB::ifAdminStatus.1 = INTEGER: up(1) IF-MIB::ifAdminStatus.2 = INTEGER: up(1) IF-MIB::ifOperStatus.1 = INTEGER: up(1) IF-MIB::ifOperStatus.2 = INTEGER: up(1) IF-MIB::ifOperStatus.2 = No more variables left in this MIB View

(It is past the end of the MIB tree)

Page 127: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Comandos SNMP úteis 125

12. Comandos SNMP úteis

Apresento a seguir uma série de comandos SNMP que são úteis nas tarefas diá-rias.

12.1. Simplificando comandos por meio de definições de valores

pré-definidos

Os comandos na versão 3 são complexos e longos, o que dificulta bastante no dia-a-dia para guardar a sintaxe e executá-los sem erro.

Mas existe uma maneira de simplificar isso: o net-snmp, que nos permite definir variáveis de configuração, válidas para a execução de todos os comandos.

# cd ~

# pwd

/root

# mkdir .snmp

# cd .snmp

# cat snmp.conf

defversion 3 defsecurityname initial defsecuritylevel authPriv defauthtype MD5 defauthpassphrase setup_passphrase defprivtype DES defprivpassphrase setup_passkey

12.1.1. Parâmetros:

defversion: Versão do protocolo a ser utilizada;

defsecurityname: Nome de usuário v3;

defsecuritylevel: Nível de autenticação do usuário;

defauthtype: Método de autenticação;

defauthpassphrase: Senha do usuário;

defprivtype: Protocolo de privacidade;

defprivpassphrase: Senha de privacide;

Page 128: Apostila Gerência de Redes com SNMP

126 Comandos SNMP úteis | Gerenciamento de Redes com SNMP

12.1.2. Acessando o Agent SNMP

# snmpget -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: André Déo

Essa era a sintaxe dos comandos utilizados até esse momento.

# snmpget localhost sysContact.0

SNMPv2-MIB::sysContact.0 = STRING: André Déo

Essa é a nova sintaxe de comandos, após a definição dos valores pré-definidos.

12.1.3. Comando snmpconf

O comando snmpconf automatiza o processo, e pode ser usado para gerar vários arquivos de configuração, inclusive o citado acima.

# snmpconf

The following installed configuration files were found: 1: /etc/snmp/snmpd.conf 2: /etc/snmp/snmptrapd.conf Would you like me to read them in? Their content will be merged

with the output files created by this session. Valid answer examples: "all", "none","3","1,2,5" Read in which (default = all): I can create the following types of configuration files for you. Select the file type you wish to create: (you can create more than one as you run this program)

A primeira opção nos informa quais arquivos de configuração foram encontra-dos, que esses arquivos podem ser lidos e que as informações futuras serão mescladas com os arquivos atuais.

Solicita ainda que seja escolhido um deles; o default é a opção “all”. Basta pres-sionar “Enter” para selecionar a opção default.

I can create the following types of configuration files for you. Select the file type you wish to create: (you can create more than one as you run this program) 1: snmpd.conf 2: snmp.conf 3: snmptrapd.conf Other options: quit

Page 129: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Comandos SNMP úteis 127

Select File: 2

A segunda opção nos informa quais arquivos podem ser gerados e solicita que seja escolhida

uma das opções.

Nesse caso escolha a opção “2”, que gera o arquivo snmp.conf.

The configuration information which can be put into snmp.conf is

divided into sections. Select a configuration section for snmp.conf that you wish to create: 1: Default Authentication Options 2: Output style options 3: Textual mib parsing 4: Debugging output options Other options: finished Select section: 1

A terceira seção solicita que seja escolhida qual seção do arquivo de configuração será alterada.

Nesse caso escolha a opção 1, seção de Opções Padrões de Autenticação.

Section: Default Authentication Options Description: This section defines the default authentication information. Setting these up properly in your ~/.snmp/snmp.conf file will greatly reduce the amount of command line arguments you need to type (especially for

snmpv3). Select from: 1: The default port number to use 2: The default snmp version number to use. 3: The default snmpv1 and snmpv2c community name to use when

needed. 4: The default snmpv3 security name to use when using snmpv3 5: The default snmpv3 context name to use 6: The default snmpv3 security level to use 7: The default snmpv3 authentication type name to use 8: The default snmpv3 authentication pass phrase to use 9: The default snmpv3 privacy (encryption) type name to use 10: The default snmpv3 privacy pass phrase to use Other options: finished, list Select section:

Page 130: Apostila Gerência de Redes com SNMP

128 Comandos SNMP úteis | Gerenciamento de Redes com SNMP

Nesse momento são apresentadas 10 opções; escolha as opções uma por vez, e informe os parâmetros desejados.

Select section: finished

Depois utilize a opção “finished”, para encerrar esse menu de opções.

The configuration information which can be put into snmp.conf is

divided into sections. Select a configuration section for snmp.conf that you wish to create: 1: Default Authentication Options 2: Output style options 3: Textual mib parsing 4: Debugging output options Other options: finished Select section: finished

Retorna às opções anteriores. Utilize a opção “finished” para encerrar.

I can create the following types of configuration files for you. Select the file type you wish to create: (you can create more than one as you run this program) 1: snmpd.conf 2: snmp.conf 3: snmptrapd.conf Other options: quit Select File: quit

Retorna às opções iniciais. Utilize a opção “quit” para encerrar.

Page 131: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Comandos SNMP úteis 129

The following files were created: snmp.conf These files should be moved to /usr/share/snmp if you want them used by everyone on the system. In the future, if you

add the -i option to the command line I'll copy them there automati-

cally for you. Or, if you want them for your personal use only, copy them to /root/.snmp . In the future, if you add the -p option to the command line I'll copy them there automatically for you.

Mensagem padrão com instruções adicionais.

12.2. Variações na forma como o resultado da consulta é exibido

12.2.1. Exibição padrão

# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost ifDescr.2

IF-MIB::ifDescr.2 = STRING: eth0

12.2.2. Exibindo o OID Completo

-Of: Exibe o OID completo.

# snmpget -Of -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A sen-hateste -x DES localhost ifDescr.2

.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr.2 = STRING: eth0

12.2.3. Exibindo o OID completo na forma numérica

-On: Exibe o OID completo na forma numérica.

# snmpget -On -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A sen-hateste -x DES localhost ifDescr.2

.1.3.6.1.2.1.2.2.1.2.2 = STRING: eth0

12.2.4. Exibindo o OID abreviado

-Oq: Exibe o OID abreviado; apenas o final do OID.

# snmpget -Oq -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senha-teste -x DES localhost ifDescr.2

IF-MIB::ifDescr.2 eth0

Page 132: Apostila Gerência de Redes com SNMP

130 Comandos SNMP úteis | Gerenciamento de Redes com SNMP

12.2.5. Exibindo o OID abreviado na forma numérica

-Oqn: Exibe o OID abreviado; apenas o final do OID na forma numérica.

# snmpget -Oqn -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senha-teste -x DES localhost ifDescr.2

.1.3.6.1.2.1.2.2.1.2.2 eth0

12.2.6. Exibindo apenas o valor, sem OID

-Ov: Exibe apenas o valor, sem o OID.

# snmpget -Ov -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senha-teste -x DES localhost ifDescr.2

STRING: eth6

12.3. Traduzindo Informações

12.3.1. Exibindo o OID numérico de um objeto

-On -lb / -On -IR: Exibe o OID numérico de um objeto.

# snmptranslate -On -Ib sysUptime

.1.3.6.1.2.1.1.3

# snmptranslate -On -IR sysUpTime

.1.3.6.1.2.1.1.3

12.3.2. Exibindo o OID nominal de um objeto:

-Of -Ib / -Of -IR: Exibe o OID nominal de um objeto.

# snmptranslate -Of -Ib sysUptime

.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime

# snmptranslate -Of -IR sysUpTime

.iso.org.dod.internet.mgmt.mib-2.system.sysUpTime

12.3.3. Exibindo o OID numérico de um objeto e sua descrição:

-On -Ib -Td: Exibe o OID numérico de um objeto e sua descrição.

# snmptranslate -On -Ib -Td sysUptime

.1.3.6.1.2.1.1.3 sysUpTime OBJECT-TYPE -- FROM SNMPv2-MIB, RFC1213-MIB SYNTAX TimeTicks MAX-ACCESS read-only STATUS current

Page 133: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Comandos SNMP úteis 131

DESCRIPTION "The time (in hundredths of a second) since the network management portion of the system was last re-initialized." ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1)

3 } Exibindo o OID nominal de um objeto e sua descrição: # snmptranslate -Of -Ib -Td sysUptime .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime sysUpTime OBJECT-TYPE -- FROM SNMPv2-MIB, RFC1213-MIB SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time (in hundredths of a second) since the network management portion of the system was last re-initialized." ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1)

3 }

12.3.4. Exibindo o OID nominal de um OID numérico:

# snmptranslate .1.3.6.1.2.1.1.3

SNMPv2-MIB::sysUpTime

12.3.5. Exibindo a descrição de um OID numérico:

# snmptranslate -Td .1.3.6.1.2.1.1.3

SNMPv2-MIB::sysUpTime sysUpTime OBJECT-TYPE -- FROM SNMPv2-MIB, RFC1213-MIB SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time (in hundredths of a second) since the network management portion of the system was last re-initialized." ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1)

3 }

Page 134: Apostila Gerência de Redes com SNMP

132 Comandos SNMP úteis | Gerenciamento de Redes com SNMP

12.3.6. Exibindo a hierarquia da MIB a partir de um galho:

# snmptranslate -Tp -IR system

Figura 48 – Hierarquia do galho System

12.3.7. Exibindo a Tabela de Informações no formato de tabela:

# snmptable -v 3 -u initial -n "" -l authNoPriv -a MD5 -A set-up_passphrase -x DES localhost sysORTable

Figura 49 - Tabela sysORTable

Page 135: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Utilizando o SNMP em ativos de rede 133

13. Utilizando o SNMP em ativos de rede

Os conceitos adquiridos nessa apostila servem de base para que você possa con-figurar SNMP em ativos de redes como Swithes e Roteadores, por exemplo.

13.1. Switch D-Link

13.1.1. Definir as views

Figura 50 - Definindo as view no ativo

13.1.2. Mapear nome de comunidade para nome de acesso

Figura 51 - com2sec no ativo

Page 136: Apostila Gerência de Redes com SNMP

134 Utilizando o SNMP em ativos de rede | Gerenciamento de Redes com SNMP

13.1.3. Definir os grupos

Figura 52 - Definindo os grupos no ativo

13.1.4. Definir acesso do grupo na view

Figura 53 - Definindo acesso dos grupos nas views no ativo

Page 137: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Utilizando o SNMP em ativos de rede 135

13.1.5. Definir o IP do gerente

Figura 54 - Definindo IP do gerente no ativo

13.2. Router Cisco

13.2.1. Habilitar SNMP v1/v2c

Os comandos abaixo são usados para habilitar o SNMP v1/v2c no roteador CISCO.

Router_C2600>enable Router_C2600#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Router_C2600(config)#snmp-server community public RO Router_C2600(config)#snmp-server community private RW Router_C2600(config)#exit Router_C2600# Router_C2600#write memory

Warning: Attempting to overwrite an NVRAM configuration previous-ly written

by a different version of the system image. Overwrite the previous NVRAM configuration?[confirm] Building configuration... [OK]

Router_C2600#

Page 138: Apostila Gerência de Redes com SNMP

136 Utilizando o SNMP em ativos de rede | Gerenciamento de Redes com SNMP

13.2.1.1. Acessando um Agent SNMP do router para leitura de in-

formações

Obtendo o nome do equipamento via SNMP v1.

# snmpget -v1 -c public 192.168.1.107 sysName.0

SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Obtendo o nome do equipamento via SNMP v2c.

# snmpget -v2c -c public 192.168.1.107 sysName.0

SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Alterar o nome do equipamento com a comunidade “public”, que possui apenas direito de leitura.

# snmpset -v2c -c public 192.168.1.107 sysName.0 s Router

Error in packet. Reason: noAccess Failed object: SNMPv2-MIB::sysName.0

Alterar o nome do equipamento com a comunidade “private”, que possui direito de escrita.

# snmpset -v2c -c private 192.168.1.107 sysName.0 s Router

SNMPv2-MIB::sysName.0 = STRING: Router

Obtendo o nome do equipamento via SNMP v2c.

# snmpget -v2c -c public 192.168.1.107 sysName.0

SNMPv2-MIB::sysName.0 = STRING: Router

13.2.2. Habilitar SNMP V3 compatível com SNMP v1/v2c

Os comandos abaixo habilitam o SNMPv3 compatível com o SNMP v1/v2c no ro-teador CISCO.

1. Router_C2600>enable 2. Router_C2600#configure terminal

3. Enter configuration commands, one per line. End with CNTL/Z.

Definir a view:

Router_C2600(config)#snmp-server view all 1 included

Page 139: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Utilizando o SNMP em ativos de rede 137

Definir as permissões dos grupos nas views.

Router_C2600(config)#snmp-server group aulas v1 read all write all

Router_C2600(config)#snmp-server group aulas v2c read all write all

Incluir o usuário no grupos.

Router_C2600(config)#snmp-server user alunos aulas v1 Router_C2600(config)#snmp-server user alunos aulas v2c

13.2.2.1. Acessando um Agente SNMP v3 compatível com SNMP v2c:

Obtendo o nome do equipamento via SNMP v1.

# snmpget -v1 -c alunos 192.168.1.107 sysName.0

SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Obtendo o nome do equipamento via SNMP v2c.

snmpget -v2c -c alunos 192.168.1.107 sysName.0

SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Alterar o nome do equipamento via SNMP v2c.

# snmpset -v2c -c alunos 192.168.1.107 sysName.0 s Router

SNMPv2-MIB::sysName.0 = STRING: Router

Obtendo o nome do equipamento via SNMP v1.

# snmpget -v1 -c alunos 192.168.1.107 sysName.0

SNMPv2-MIB::sysName.0 = STRING: Router

13.2.3. Habilitar SNMP V3

Os comandos abaixo habilitam o SNMPv3 no roteador CISCO.

Router_C2600>enable Router_C2600#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Definir a view:

Router_C2600(config)#snmp-server view all 1 included

Page 140: Apostila Gerência de Redes com SNMP

138 Utilizando o SNMP em ativos de rede | Gerenciamento de Redes com SNMP

Definir as permissões dos grupos nas views:

Router_C2600(config)#snmp-server group rogroup1 v3 auth read all Router_C2600(config)#snmp-server group rwgroup1 v3 auth read all write all

Incluir os usuários nos grupos.

Router_C2600(config)#snmp-server user user1 rogroup1 v3 auth md5 set-up_passphrase Router_C2600(config)#snmp-server user user2 rwgroup1 v3 auth md5 set-up_passphrase

13.2.3.1. Acessando um Agente SNMP v3:

Obtendo o nome do equipamento.

# snmpget -v3 -u user1 -n "" -l auth -a MD5 -A setup_passphrase 192.168.1.107 sysName.0

SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Alterar o nome do equipamento através do usuário “user1”, que possui apenas direito de leitura.

# snmpset -v3 -u user1 -n "" -l auth -a MD5 -A setup_passphrase 192.168.1.107 sysName.0 s Router

Error in packet. Reason: noAccess Failed object: SNMPv2-MIB::sysName.0

Alterar o nome do equipamento através do usuário “user2”, que possui direito de escrita.

# snmpset -v3 -u user2 -n "" -l auth -a MD5 -A setup_passphrase 192.168.1.107 sysName.0 s Router

SNMPv2-MIB::sysName.0 = STRING: Router

Obtendo o nome do equipamento.

# snmpget -v3 -u user1 -n "" -l auth -a MD5 -A setup_passphrase 192.168.1.107 sysName.0

SNMPv2-MIB::sysName.0 = STRING: Router

Page 141: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Utilizando o SNMP em ativos de rede 139

13.2.4. Habilitar SNMP V3 com Autenticação e Privacidade

Os comandos abaixo habilitam o SNMPv3 com autenticação e privacidade no ro-teador CISCO.

Router_C2600>enable Router_C2600#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Definir a view:

Router_C2600(config)#snmp-server view all 1 included

Definir as permissões dos grupos nas views:

Router_C2600(config)#snmp-server group rogroup1 v3 auth read all Router_C2600(config)#snmp-server group rwgroup1 v3 auth read all write all

Incluir os usuários nos grupos.

Router_C2600 (config)#snmp-server user user1 rogroup1 v3 auth md5 set-up_passphrase priv des setup_passkey Router_C2600 (config)#snmp-server user user2 rwgroup1 v3 auth md5 set-up_passphrase priv des setup_passkey

13.2.4.1. Acessando um Agente SNMP v3:

Obtendo o nome do equipamento.

# snmpget -v3 -u user1 -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase 192.168.1.107 sysName.0

SNMPv2-MIB::sysName.0 = STRING: Router_C2600

Alterar o nome do equipamento através do usuário “user1”, que possui apenas direito de leitura.

# snmpset -v3 -u user1 -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase 192.168.1.107 sysName.0 s Router

Error in packet. Reason: noAccess Failed object: SNMPv2-MIB::sysName.0

Page 142: Apostila Gerência de Redes com SNMP

140 Utilizando o SNMP em ativos de rede | Gerenciamento de Redes com SNMP

Alterar o nome do equipamento através do usuário “user2”, que possui direito de escrita.

# snmpset -v3 -u user1 -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase 192.168.1.107 sysName.0 s Router

SNMPv2-MIB::sysName.0 = STRING: Router

Obtendo o nome do equipamento.

# -v3 -u user1 -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A set-up_passphrase 192.168.1.107 sysName.0

SNMPv2-MIB::sysName.0 = STRING: Router

Observação:

O modelo C2600 não possui suporte a authPriv, mas os comandos e resultados de leitura de um

equipamento que suporte a esse nível de autenticação será como os exibidos acima.

Page 143: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Algumas Extensões ao SNMP 141

14. Algumas Extensões ao SNMP

RFC 1155 - Structure and Identification of Management Information for TCP/IP based internets

RFC 1156 - Management Information Base Network

RFC 1441 - Introduction to SNMP v2

RFC 2579 - Textual Conventions for SNMP v2

RFC 2580 - Conformance Statements for SNMP v2

RFC 2578 - Structure of Management Information for SNMP v2

RFC 3416 - Protocol Operations for SNMP v2

RFC 3417 - Transport Mappings for SNMP v2

RFC 3418 - Management Information Base for SNMP v2

RFC 3410 - Introduction and Applicability Statements for Internet Standard Management Framework

RFC 3411 - Architecture for Describing SNMP Frameworks

RFC 3412 - Message Processing and Dispatching for the SNMP

RFC 3413 - SNMP Applications

RFC 3414 - User-based Security Model (USM) for SNMP v3

RFC 3415 - View-based Access Control Model for the SNMP

RFC 3584 - Coexistence between SNMP v1, v2 and v3

Page 144: Apostila Gerência de Redes com SNMP

142 Algumas Extensões ao SNMP | Gerenciamento de Redes com SNMP

Page 145: Apostila Gerência de Redes com SNMP

Gerenciamento de Redes com SNMP | Referências 143

15. Referências

http://lrodrigo.lncc.br/~lrodrigo/wiki9/index.php/Configuracoes_Basicas_-_V1_e_V2c

http://net-snmp.sourceforge.net/wiki/index.php/Vacm

http://www.ietf.org/rfc/rfc3411.txt

http://www.ietf.org/rfc/rfc3415.txt

http://www.ietf.org/rfc/rfc1213.txt

http://www.net-snmp.org/docs/man/snmpusm.html

http://www.net-snmp.org/docs/man/snmpd.conf.html

http://www.net-snmp.org/docs/man/snmpd.conf.html#lbAH

http://www.net-snmp.org/docs/man/snmpd.conf.html#lbAI

http://www.webnms.com/simulator/help/sim_network/netsim_conf_snmpv3.html

http://net-snmp.sourceforge.net/wiki/index.php/Vacm

http://docstore.mik.ua/orelly/networking_2ndEd/snmp/appf_02.htm

http://www.net-snmp.org/wiki/index.php/TUT:SNMPv3_Options

http://www.webnms.com/agenttester/help/snmptester/sat_v3_security_testing.html

http://tcpipguide.com/free/t_SNMPVersion2SNMPv2MessageFormats.htm

http://www.tcpipguide.com/free/t_TCPIPInternetStandardManagementFrameworkandSNMPVer-3.htm

http://www.simpleweb.org

http://www.rnp.br/newsgen/9901/rmon.html

http://www.dsc.ufcg.edu.br/~jacques/cursos/gr/html/aplic/aplic5.htm

Gabos, Denis.; Melo, Tereza C. Apostila de Gerenciamento de Redes, EPUSP, 2003.

Stallings, W. SNMP, SNMPv2, SNMPv3 and RMON1 and 2. 3rd ed. 7th printing, 2003.

Kurose; Ross. Redes de Computadores e a Internet. Uma nova Abordagem. Pearson Education, 2003.

Rebessi, Conrado Pinto. Palestra: Gerenciamento de Servidores Linux Utilizando SNMP, 2007 - http://www.box.net/shared/fu0ynqfckz

Maura, Douglas R. ; Schmidt, Kevin J . SNMP Essencial. Editora Campus, 2001.

Page 146: Apostila Gerência de Redes com SNMP
Page 147: Apostila Gerência de Redes com SNMP
Page 148: Apostila Gerência de Redes com SNMP