Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Gerencia de Redes Com SNMP
Apostila Gerencia de Redes Com SNMP
O trabalho Gerenciamento de Redes com SNMP de Andr Luis Boni Do foi licenciado com uma Licena Creative Commons - Atribuio - NoComercial - CompartilhaIgual 3.0 No Adaptada.
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 informtica, 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 Antnio de Almeida Cor que sempre me incentivaram a registrar esse conhecimento. Aos incansveis: 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 didtico, esse material no seria metade do que , sem vocs amigos. E por ltimo, mas no menos importante ao grande Conrado Pinto Rebessi, reponsvel pela palestra que despertou meu interesse no assunto e por inmeras horas de consultoria sobre o assunto, meu amigo esse material no existiria se no fosse por voc.
Conrado em 2007 no FLISOL Campinas com sua palestra: Monitoramento de servidores com SNMP
1.
CONCEITOS DE GERNCIA DE REDES - VISO GERAL ....................................................................... 13 1.1. O QUE GERNCIA DE REDES? ............................................................................................................ 13 1.2. QUAIS OS OBJETIVOS DA GERNCIA 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 COMPETNCIAS .............................................................................................................. 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 GERNCIA DE REDES - INTRODUO ...................................................................... 19 2.1. GERENCIAMENTO DE REDES ................................................................................................................ 19 2.2. CICLO DE GERENCIAMENTO................................................................................................................. 19 2.2.1. Coleta de dados: ...................................................................................................................... 19 2.2.2. Diagnstico: ............................................................................................................................ 19 2.2.3. Ao: ........................................................................................................................................ 19 2.3. PERFIL DO GERENTE DE REDES ............................................................................................................. 20 2.4. DEFINIO DO AMBIENTE ................................................................................................................... 20 2.5. INVENTRIO DA REDE ........................................................................................................................ 20 2.6. MAPEAMENTO DA REDE..................................................................................................................... 20 2.7. RESULTADOS ESPERADOS.................................................................................................................... 20 2.8. RELATRIOS ..................................................................................................................................... 20
3.
CONCEITOS E DEFINIES DE GERNCIA 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. APLICAO GERENTE ......................................................................................................................... 21 3.6. COMPONENTES PRINCIPAIS: ................................................................................................................ 21 3.6.1. Operaes de Gerenciamento ................................................................................................. 22 3.6.2. Management Information Base MIB ................................................................................... 22 3.6.3. Banco de Dados BD .............................................................................................................. 23 3.6.4. Aplicaes de Gerenciamento ................................................................................................. 23 3.6.5. Interface do usurio ................................................................................................................ 23 3.6.6. Agente ..................................................................................................................................... 23 3.6.7. Aplicao 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
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. 4.1.2.2. 4.1.2.3. 4.1.2.4. 4.1.2.5. Gerenciamento de Falhas .............................................................................................................. 26 Gerenciamento de Configurao ................................................................................................... 26 Gerenciamento de Contabilizao ................................................................................................. 27 Gerenciamento de Desempenho ................................................................................................... 27 Gerenciamento de Segurana ........................................................................................................ 27
4.2. MODELO DE GERENCIAMENTO SNMP .................................................................................................. 27 4.2.1. Estao de Gerenciamento contendo entidades SNMP (Gerente) ......................................... 28 4.2.2. Ns gerenciados contendo a entidade SNMP (Agente) .......................................................... 28 4.2.3. Entidade com Dupla Funo ................................................................................................... 29 4.2.4. Informaes 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 Funo ...................................... 30 5. GERENCIAMENTO DE REDES - O PROTOCOLO SNMP ...................................................................... 31 5.1. SMI ............................................................................................................................................... 32 5.2. ASN.1 ............................................................................................................................................ 32 5.2.1. Sintaxe bsica em ASN.1 ......................................................................................................... 32
5.2.1.1. Tipos de dados ............................................................................................................................... 32 5.2.1.2. Notaes em ASN.1........................................................................................................................ 32 5.2.1.3. Exemplos de Definio 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. Prembulo e Cabealho ................................................................................................................. 35 5.4.1.1.1. Verso: ..................................................................................................................................... 35 5.4.1.1.2. Tipo de PDU: ............................................................................................................................ 35 5.4.1.1.3. Request ID: ............................................................................................................................... 35 5.4.1.1.4. Cdigos de erro: ....................................................................................................................... 35 5.4.1.1.5. Error index: .............................................................................................................................. 35
5.5. A ARQUITETURA SNMP ..................................................................................................................... 36 5.6. OPERAES/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 Operao ............................................................................................................. 39 5.7. LIMITAES DE SNMP....................................................................................................................... 39 5.7.1. Falta de segurana .................................................................................................................. 39 5.7.2. Ineficincia .............................................................................................................................. 39 5.7.3. Falta de funes especficas .................................................................................................... 39 5.7.4. No confivel: .......................................................................................................................... 39
5.8. VULNERABILIDADE SNMP - PROTEO: ................................................................................................ 40 5.9. VERSES SNMP:.............................................................................................................................. 40 5.9.1. SNMP V1 .................................................................................................................................. 40
5.9.1.1. 5.9.1.2. 5.9.1.3. Get ................................................................................................................................................. 40 GetNext .......................................................................................................................................... 40 Set .................................................................................................................................................. 40 SNMPv2 Original ............................................................................................................................ 40 SNMPv2 baseado na comunidade .................................................................................................. 40 SNMPv2 baseada no usurio .......................................................................................................... 40 SNMPv2 Estrela .............................................................................................................................. 40
5.9.2.
SNMP V2 .................................................................................................................................. 40
5.9.3.
5.9.3.1. Caractersticas e Operaes 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 Segurana ................................................................................................................. 41 5.9.4.1.1. USM .......................................................................................................................................... 41 5.9.4.1.2. VACM ....................................................................................................................................... 41 5.9.4.1.3. Configurao dinmica de agentes SNMP utilizando comandos SNMP ................................. 41
5.10. MODELO DE SEGURANA 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. Servio de autenticao ..................................................................................................... 42 5.11. TRAPS EM SNMP ............................................................................................................................. 42 5.11.1. Classificao ....................................................................................................................... 42
5.11.1.1. Traps genricos .............................................................................................................................. 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. CARACTERSTICAS DO MODELO OSI...................................................................................................... 45 6.3.1. Classe, Subclasse e Superclasse............................................................................................... 45 6.3.2. Hierarquias dos Objetos Gerenciados ..................................................................................... 46
6.3.2.1. 6.3.2.2. 6.3.2.3. Hierarquia de Herana ................................................................................................................... 46 Hierarquia de Nomeao ............................................................................................................... 46 Hierarquia de Registro ................................................................................................................... 46
6.4. MIB DA INTERNET............................................................................................................................. 46 6.5. A RVORE DA MIB II ......................................................................................................................... 46 6.5.1. N Raiz .................................................................................................................................... 47
N iso ....................................................................................................................................... 47 N internet .............................................................................................................................. 48 N mgmt .................................................................................................................................. 48 rvore MIB II ........................................................................................................................... 49 Exemplo de Objeto da MIB ...................................................................................................... 49 Exemplos de Grupos ................................................................................................................ 49
6.5.7.1. Grupo System ................................................................................................................................. 49 6.5.7.1.1. Descrio 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 fsico ................................................................. 50 6.5.7.2.1. Descrio 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. Descrio 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. Descrio 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. Descrio 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. Descrio 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. Descrio 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. Descrio 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. Descrio textual ..................................................................................................................... 55 6.5.7.9.2. OID ........................................................................................................................................... 55 6.5.7.10. Grupo Transmission Meios de Transmisses .............................................................................. 55 6.5.7.10.1. Descrio textual ................................................................................................................... 55 6.5.7.10.2. OID ......................................................................................................................................... 55 6.5.7.11. Grupo SNMP Protocolo SNMP .................................................................................................... 55 6.5.7.11.1. Descrio textual ................................................................................................................... 55 6.5.7.11.2. OID ......................................................................................................................................... 55 6.5.7.11.3. Componentes ......................................................................................................................... 55
7.
PROTOCOLO DE GERENCIAMENTO RMON ...................................................................................... 59 7.1. 7.2. 7.3. 7.4. ALGUMAS RFCS TRATAM DO PROTOCOLO RMON: ................................................................................. 59 CARACTERSTICAS DO PROTOCOLO........................................................................................................ 60 OBJETIVOS DO RMON....................................................................................................................... 60 ABRANGNCIA DAS VERSES................................................................................................................ 61
7.5. EXEMPLO DE FUNCIONAMENTO ........................................................................................................... 61 7.6. MIB RMON1 ................................................................................................................................. 62 7.6.1. Aquisio de Estatsticas de Trfego: ..................................................................................... 62 7.6.2. Deteco e Resoluo de Situaes Crticas 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 estatsticas Ethernet........................................................................................... 62 7.6.3.2. RMON1 History ........................................................................................................................... 63 7.6.3.2.1. Configurao ............................................................................................................................ 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 anlise na rede. .................................................................................... 66 7.6.3.10. RMON1 Event .............................................................................................................................. 66
7.8. 8.
GERENCIAMENTO DE SERVIDORES GNU/LINUX UTILIZANDO SNMP V1 E V2C ................................ 71 8.1. INSTALAO DOS BINRIOS ................................................................................................................. 71 8.2. ESTRUTURA DO NET-SNMP APS A INSTALAO DOS BINRIOS ................................................................... 71 8.3. BACKUP DO ARQUIVO DE CONFIGURAO ORIGINAL (SNMPD.CONF) ........................................................... 71 8.4. CONFIGURAO BSICA 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 Explicando o comando: .................................................................................................................. 73
Comando snmpset ................................................................................................................... 73 Comando snmpgetnetxt .......................................................................................................... 74 Comando snmpwalk ................................................................................................................ 74 Comando snmpbulkget ........................................................................................................... 75 Comando snmpbulkwalk ........................................................................................................ 76 Informaes Adicionais........................................................................................................... 77
8.5.2.1.
9.2. VACM ........................................................................................................................................... 79 9.3. MODELO DE PERMISSES VACM ........................................................................................................ 80 9.4. CONFIGURAO BSICA DE UM AGENTE SNMP V3 COMPATVEL COM SNMP V1/V2C .................................. 81 9.4.1. Disponibilizando os recursos .................................................................................................. 82
9.4.1.1. Seo View ..................................................................................................................................... 82 9.4.1.2. Seo com2sec ............................................................................................................................... 82 9.4.1.3. Seo Group ................................................................................................................................... 82 9.4.1.4. Seo Access .................................................................................................................................. 82 9.4.1.5. Compreendendo os Parmetros .................................................................................................... 83 9.4.1.5.1. Seo View ............................................................................................................................... 83 9.4.1.5.2. Seo Com2sec: ....................................................................................................................... 83 9.4.1.5.3. Seo Group: ............................................................................................................................ 83 9.4.1.5.4. Seo Access: ........................................................................................................................... 83
9.5. ACESSANDO UM AGENTE SNMP V3 COMPATVEL COM SNMP V1/V2C: ..................................................... 84 9.6. CONFIGURAO INICIAL DE UM AGENTE EXCLUSIVAMENTE V3 ................................................................... 85 9.6.1. Criar o usurio inicial com permisso de escrita: .................................................................. 85 9.6.2. Criar os usurios adicionais:................................................................................................... 86
9.6.2.1. Parmetros: ................................................................................................................................... 87 Parmetros: ................................................................................................................................... 87
Alterar a senha dos usurios: ................................................................................................. 87 snmpd.conf v3 bsico: ............................................................................................................. 89 Acessando um Agente SNMP v3: ............................................................................................. 89 snmpd.conf v3 com VACM devidamente configurado: ........................................................... 90
Acessando um Agent SNMP v3: ..................................................................................................... 90
9.6.3.1.
9.6.6.1.
9.7. CONFIGURAO INICIAL DE UM AGENTE EXCLUSIVAMENTE V3 COM AUTENTICAO E PRIVACIDADE.................. 91 9.7.1. Criar o usurio inicial com permisso de escrita: .................................................................. 91 9.7.2. Criar os usurios adicionais:................................................................................................... 92
9.7.2.1. Parmetros: ................................................................................................................................... 92 9.7.2.2. Outro exemplo: .............................................................................................................................. 93 9.7.2.2.1. Parmetros: ............................................................................................................................. 93
9.7.3.1. 9.7.4.1.
Alterar a chave dos usurios: ................................................................................................. 94 snmpd.conf v3 bsico: ............................................................................................................. 94 Acessando um Agente SNMP v3: ............................................................................................. 95 snmpd.conf v3 com VACM devidamente configurado: ........................................................... 95
Acessando um Agent SNMP v3: ..................................................................................................... 96
9.7.7.1.
9.8. SEGURANA EM SNMP V3: ............................................................................................................... 97 9.8.1. Requisio SNMP v2 ................................................................................................................ 97 9.8.2. Requisio SNMP v3com Autenticao .................................................................................. 98 9.8.3. Requisio SNMP v3com Autenticao e Privacidade ........................................................... 99 10. MONITORANDO RECURSOS DO SISTEMA ................................................................................. 101
10.1. INFORMAES DO SISTEMA............................................................................................................... 101 10.1.1. Acessando o Agent SNMP para leitura de informaes do sistema ................................ 101 10.2. MONITORAMENTO DE PROCESSOS ..................................................................................................... 101 10.2.1. Acessando o Agent SNMP para leitura de informaes sobre processos ........................ 102 10.3. MONITORAMENTO DE USO DE DISCO .................................................................................................. 104 10.3.1. Acessando o Agent SNMP para leitura de informaes sobre o disco ............................. 104 10.4. MONITORAMENTO DE CARGA DO SISTEMA ........................................................................................... 106
10
10.4.1. Acessando o Agent SNMP para leitura de informaes sobre Carga de sistema (Load) 107 10.5. MONITORAMENTO DE TAMANHO DE ARQUIVO ..................................................................................... 110 10.5.1. Acessando o Agent SNMP para leitura de informaes sobre tamanho de arquivo ...... 110 10.6. MONITORAMENTO UTILIZANDO UM COMANDO CUSTOMIZADO ................................................................ 111 10.6.1. Acessando o Agent SNMP para leitura de informaes 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 informaes 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. MSCARAS 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 parmetro mask ..................... 124 11.2.2. Acessando o Agent SNMP com acesso restrito Uso do parmetro mask ..................... 124 12. COMANDOS SNMP TEIS ......................................................................................................... 125
12.1. SIMPLIFICANDO COMANDOS POR MEIO DE DEFINIES DE VALORES PR-DEFINIDOS...................................... 125 12.1.1. Parmetros: ...................................................................................................................... 125 12.1.2. Acessando o Agent SNMP ................................................................................................. 126 12.1.3. Comando snmpconf .......................................................................................................... 126 12.2. VARIAES NA FORMA COMO O RESULTADO DA CONSULTA EXIBIDO........................................................ 129 12.2.1. Exibio padro ................................................................................................................ 129 12.2.2. Exibindo o OID Completo.................................................................................................. 129 12.2.3. Exibindo o OID completo na forma numrica ................................................................. 129 12.2.4. Exibindo o OID abreviado ................................................................................................. 129 12.2.5. Exibindo o OID abreviado na forma numrica ................................................................ 130 12.2.6. Exibindo apenas o valor, sem OID .................................................................................... 130 12.3. TRADUZINDO INFORMAES ............................................................................................................. 130 12.3.1. Exibindo o OID numrico de um objeto ........................................................................... 130 12.3.2. Exibindo o OID nominal de um objeto: ............................................................................ 130 12.3.3. Exibindo o OID numrico de um objeto e sua descrio:................................................. 130 12.3.4. Exibindo o OID nominal de um OID numrico: ................................................................ 131 12.3.5. Exibindo a descrio de um OID numrico: ..................................................................... 131 12.3.6. Exibindo a hierarquia da MIB a partir de um galho: ...................................................... 132 12.3.7. Exibindo a Tabela de Informaes 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 informaes ............................................ 136
11
13.2.2.
13.2.2.1.
13.2.3.
13.2.3.1.
13.2.4.
13.2.4.1.
14. 15.
12
1.4.2. Servidores:
Todo equipamento de rede que prove um servio na rede: DNS; SMTP; POP; HTTP; Banco de Dados; Arquivos; Autenticao de usurios.
1.4.3. Clientes:
Todo recurso utilizado pelo usurio para desempenhar suas atribuies e que precisa de liberao e controle: Softwares instalados; Inventario de Hardware; Controle de usurios; Controle de acesso.
1.6.Como Gerenciar?
No existe uma receita pronta de como gerenciar uma rede, mas se utilizando de padres, ferramentas e algumas aes especficas podemos alcanar este objetivo. O qual consiste em: Monitorar a operao dos equipamentos e servios; Utilizar ferramentas (softwares) para a automatizao dos processos; Utilizar padres de gerncia; Construir um modelo hierrquico.
14
1.7.Conceitos e Competncias
Para que o profissional responsvel pela gerncia da rede desempenhe seu trabalho de maneira eficiente, alguns conceitos devem ser inocorporados e algumas competncias desenvolvidas: Analisar, compreender e configurar os servios e funes dos sistemas operacionais, ferramentas de administrao, recursos disponveis, manipulao de arquivos, segurana e etc. Compreender as arquiteturas de rede, servios e funes de servidores de rede. Conhecer as principais reas de gerenciamento de uma rede de computadores: o Falhas Fault Management; o Configurao Configuration Management; o Contabilizao Accounting Management; o Desempenho Performance Management; o Segurana Security Management. Controlar o trfego de dados na rede. Descrever componentes de redes de computadores. Desenvolver os servios de administrao do sistema operacional de rede e protocolos de comunicao. Gerenciar a segurana e contabilizao dos servios da rede. Descrever caractersticas tcnicas de equipamentos e componentes de acordo com parmetros de custos e benefcios, atendendo s necessidades da organizao e do usurio. Identificar e informar as necessidades dos usurios em relao segurana da rede conforme as polticas corporativas de acesso aos recursos computacionais. Avaliar e especificar as necessidades de treinamento e de suporte tcnico aos usurios. Selecionar programas de aplicao a partir da avaliao das necessidades do usurio. Conhecer tcnicas de trabalho em grupo.
1.8.Habilidades
So muitas as habilidades que um profissional responsvel pela Gerncia de redes deve desenvolver, aes que vo desde o suporte tcnico a especificao de equipamentos. Para citar alguns itens: Efetuar o gerenciamento da rede; Descrever configuraes para softwares de rede; Efetuar configuraes nos softwares aplicativos; Elaborar pesquisas (e no buscas) na Internet; Fazer levantamento de informaes de trfego; Instalar e configurar protocolos e software de rede; Realizar pesquisa de novas tecnologias no mercado; Redigir relatrios;
15
Utilizar adequadamente os principais softwares aplicativos na resoluo de problemas; Executar aes de suporte tcnico; Descrever as necessidades do usurio entre os recursos da rede; Orientar os usurios quanto ao uso dos recursos da rede; Utilizar os recursos oferecidos pela rede atendendo s especificaes e necessidades dos usurios; Aplicar as tcnicas de trabalho realizadas em grupo; Manter tica profissional.
16
1.9.4. Gerente de TI
O gerente de TI deve se preocupar em estabelecer para a sua equipe uma viso geral do processo de gerncia, planejar, conhecer as prioridades do negcio, ter bom relacionamento com todos, ser organizado, responsvel e, principalmente, que saiba atender, com agilidade, os requisitos de custos, prazos, qualidade e especificaes estabelecidas pelas organizaes. Para um profissional bem sucedido obter essas caractersticas necessrio que, alm do seu esforo, busque treinamentos adequados, que o qualifiquem conforme as exigncias atuais. Deve estar adequado s tecnologias do momento e sempre aberto s novas tecnologias e tendncias. Deve ter domnio completo de tudo o que trafega na organizao e sempre estar pronto para reconstruir processos quando necessrio. Estar bem representado por uma equipe capacitada e com bom nimo. Geralmente sabe mais da organizao que o prprio proprietrio ou diretor.
17
18
2.2.2. Diagnstico:
Tratamento e anlise dos dados colhidos na etapa anterior. Dentre toda a informao coletada separar os dados que sero manipulados posteriormente, daqueles sem valor para o gerenciamento, essa com certeza uma etapa que demanda conhecimento e disponibilidade de tempo.
2.2.3. Ao:
Controle sobre os recursos gerenciados. Ao neste contexto pode em muitos casos
no ser necessariamente a resoluo de um problema imediato. Mas uma interverso justamente para evitar o surgimento do mesmo. Desta forma temos uma ao proativa e antecipada, tendo como base os dados colhidos e analisados nas etapas anteriores. Efetuada as alteraes
e configuraes necessrias, reinicia-se todo o processo de comparar os dados anteriores com os atuais.
19
2.4.Definio do Ambiente
A delimitao do ambiente a ser gerenciado pode ser definida utilizando-se de algumas diretivas: Inventrio total dos dispositivos de rede (Hardware e Software); Mapeamento lgico dos dispositivos de rede (Layout Lgico e Fsico da Topologia).
2.5.Inventrio da Rede
Algumas informaes so extremamente necessrias para o gerenciamento: Identificao do fabricante e fornecedor; Anlise dos dispositivos que apresentam o suporte de gerenciamento e qual a funo suportada (Verso do protocolo SNMP, Caractersticas do Protocolo RMON); Identificao da arquitetura da rede e do modelo de gerenciamento suportado; Documentao das informaes apuradas de forma textual-grfica e em mdia impressa e digital.
2.6.Mapeamento da Rede
O mapeamento da rede deve ser feito destacando-se os dispositivos que desempenham funes de interconexo ou prestam servios (Servidores), cujo tempo de inatividade, inviabilizar os processos de comunicao, produo e obteno de informaes via rede, acarretando em prejuzos financeiros ou operacionais para a organizao.
2.7.Resultados Esperados
Antes de comear um projeto de gerncia de redes, preciso realizar um levantamento do que se pretende monitorar em cada host, e os objetivos que pretendem ser alcanados com esse gerenciamento, alguns itens bsicos: Visualizao Grfica da Rede (Topologia); Emisso de Alarmes (Erros e Falhas); Dados sobre utilizao de Banda, CPU, Memria, Processos; Envio de alertas (E-mail, SMS, Alertas sonoros) relatando falhas.
2.8.Relatrios
Ao final de um projeto de gerncia de redes espera-se ser capaz de gerar dados sobre a rede, entre estes dados esto os relatrios, alguns exemplos: Estatsticas de carga da rede; Inventrio; Grficos (% de utilizao da banda por exemplo); Consumo de disco e memria; Uptime e Downtime (SLI).
20 Conceitos de Gerncia de Redes - Introduo | Gerenciamento de Redes com SNMP
3.1.Ambiente Gerenciado
So mecanismos com suporte a funcionalidades de gerenciamento, juntamente com os aspectos de comunicao que permitem suas interconexes. O ambiente gerenciado pode ser constitudo de um ou mais mecanismos como: Roteador(es), Switch(es); Conexes TCP de um determinado nmero de servidores; Todos os dispositivos gerenciveis de uma mesma sub-rede; Todos os dispositivos gerenciveis de um conjunto de LANs interligadas.
3.2.Mecanismo Gerenciado
Hardware ou Software que apresenta necessidade e condies de serem gerenciados, como interfaces de rede, discos, impressoras, aspectos relacionados implementao da pilha TCP/IP, estatsticas sobre o processamento de datagramas IP.
3.4.Gerente
Permite a obteno e o envio de informaes de gerenciamento junto aos mecanismos gerenciados mediante comunicao com um ou mais agentes. Informaes de gerenciamento podem ser obtidas com o uso de requisies efetuadas pelo gerente ao agente ou mediante envio automtico do agente para um determinado gerente.
3.5.Aplicao Gerente
O modelo SNMP apresenta a Aplicao Gerente como uma entidade de rede que usa determinados protocolos das camadas de transporte, de rede, de acesso rede e de aplicao, para a comunicao com a entidade de rede gerenciada.
3.6.Componentes Principais:
Operaes de Gerenciamento; Management Information Base MIB; Banco de dados; Aplicaes de Gerenciamento; Interface do usurio.
21
22
3.6.6. Agente
Software especfico presente nos dispositivos gerenciados, cuja funo principal o atendimento das requisies enviadas pelo gerente e o envio automtico de informaes ao gerente, indicando a ocorrncia de um evento previamente programado.
23
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. Porm, o UDP foi o protocolo da Pilha TCP/IP escolhido por possibilitar a interoperao entre qualquer Gerente e Agente. 3.6.7.1.2. A MIB do Agente A MIB uma coleo de variveis de interesse. Seus valores dependem das funcionalidades do dispositivo e de quais recursos ou servios o agente dever gerenciar.
24
4.1.1. Funcionamento
O Gerente transmite operaes de gerenciamento aos agentes a fim de obter informaes atualizadas sobre os objetos gerenciados. O Agente recebe as operaes de gerenciamento emitidas pelo gerente e executa as aes necessrias sobre os objetos gerenciados. Ele ainda pode transmitir ao gerente notificaes geradas pelos objetos gerenciados ou notificaes sobre a ocorrncia de eventos.
Figura 5 - MIB
Gerenciamento de Redes com SNMP | Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP
25
Para efetuar a troca de informaes de Gerenciamento o Modelo OSI utiliza o servio CMIS (Common Management Information Service) e o protocolo CMIP (Common Management Information Protocol).
26
Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP | Gerenciamento de Redes com SNMP
Pode ser divida em trs aspectos: Inventrio: Conjunto de dispositivos na rede, hardware e software; Configurao: Mapeamento das conexes entre os dispositivos; Proviso: Parmetros operacionais modificveis que apresentam o comportamento de cada dispositivo. 4.1.2.3. Gerenciamento de Contabilizao Distribuio justa dos custos da rede, fazendo apropriao e tarifao de acordo com a utilizao. Planejar o crescimento da rede e evitar abusos na utilizao de recursos da organizao. 4.1.2.4. Gerenciamento de Desempenho Conjunto de funes para medir, monitorar, avaliar e relatar os nveis de desempenho alcanados pela rede garantindo um nvel de servio aceitvel ao usurio. Quando a performance se torna inaceitvel, envia mensagens de alerta ao Operador. 4.1.2.5. Gerenciamento de Segurana A meta controlar o acesso aos recursos da rede de acordo com as definies de cada organizao para evitar sabotagens e proteger os dados para que no sejam acessados por pessoas no autorizadas. Visa: Proteo das informaes; Controle de acesso ao sistema; Monitorar uso dos recursos; Criar, manter e examinar log-files. essencial em hosts conectados a Internet.
Gerenciamento de Redes com SNMP | Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP
27
28
Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP | Gerenciamento de Redes com SNMP
Gerenciamento de Redes com SNMP | Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP
29
30
Modelo de Gerenciamento OSI e Modelo de Gerenciamento SNMP | Gerenciamento de Redes com SNMP
Suas interaes so sem conexo, trabalha com mensagens no protocolo UDP/IP, utiliza as portas 161 e 162 e seus pacotes tem tamanho varivel. Esse protocolo se tornou padro para gerncia na Internet, por ser simples de implementar e amplamente difundido. composto de um protocolo para troca de mensagens e padres para estruturar a informao.
As Informaes de Gerenciamento so armazenadas em MIBs que so definidas atravs da SMI (Structure of Management Information) e transportadas atravs do protocolo SNMP.
31
5.1. SMI
Podemos entender a SMI como uma descrio lgica das informaes. composta dos seguintes elementos: Nomes dos objetos gerenciados: Referenciados atravs dos OIDs (Object IDentifiers); Sintaxe dos dados: Seguindo os padres da ASN.1 (Abstract Syntax Notation 1); Sintaxe de transferncia: Seguindo as regras da BER (Basic Encoding Rules).
5.2. ASN.1
uma linguagem de descrio de dados da ISO, definida em formato texto no ambguo, que permite definir o modelo de dados com formato independente de mquina. A implementao de dados no considerada.
32
5.2.1.3.1. Campo SYNTAX: Define o contedo 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: Localizao de outro objeto na MIB. Aceita alguns tipos especficos de aplicao: 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: No acessvel, campo para operaes internas, por exemplo. 5.2.1.3.3. Campo STATUS Representa a situao do objeto na MIB: Mandatory: Devem ser implementados por todos os agentes, os valores contidos devem ser vlidos; Optional: Pode ou no ser implementado; Deprecated: Foi substituido por novo objeto, mas ainda vlido, tornando-se obsoleto mais tarde; Obsolete: No deve ser considerado.
33
Toda operao SNMP gera uma resposta, com exceo da Operao de Trap. Os dados das operaes so transportados na porta 161 UDP/IP, e os traps so transportados na porta 162 UDP/IP.
34
5.4.1.1.
Prembulo e Cabealho
5.4.1.1.1. Verso: 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 numrico usado para fazer referncia a pedidos e respostas.
5.4.1.1.4. Cdigos de erro: 0: noError: Sucesso na operao. 1: tooBig: Resposta muito grande. 2: noSuchName: OID no suportado pelo agente. 3: badvalue: Valor incorreto para operao set. 4: readOnly: Tentativa de escrita invlida. 5: genErr: Erro no relacionado ao protocolo.
5.4.1.1.5. Error index: Indica qual varivel listada na PDU causou o erro.
35
Figura 19 - Get-Request
36
5.6.2. Get-Next-Request
Recupera o valor de informaes de gerenciamento existentes aps um determinado identificador; pega o valor da prxima varivel.
5.6.3. Get-Bulk-Request
Estende a funcionalidade da funo Get-Next. Traz um bloco de informaes de cada vez.
5.6.4. Set-Request
Modifica o valor de informaes de gerenciamento.
Figura 23 - Set-Request
37
5.6.5. TRAP
Informa um evento ocorrido no sistema gerenciado.
5.6.6. Inform-Request
Fornece uma informao de gerenciamento no solicitada. usado entre gerentes, porm, diferentemente do Trap, no caso do Inform-Request existe a confirmao do recebimento da mensagem.
38
5.7.2. Ineficincia
Esquema de eventos limitado e fixo; Operao baseada em pooling; Comandos transportam poucos dados.
5.7.4. No confivel:
Baseado em UDP/IP; Traps sem reconhecimento.
39
5.9.Verses SNMP:
SNMP v1 SNMP v2 SNMP v3
5.9.1. SNMP V1
Caractersticas e Operaes Bsicas. 5.9.1.1. Get Usado pelo NMS (Network Management System Sistema de Gerenciamento de Redes) para adquirir o valor de uma ou mais instncias de um objeto de um agente. 5.9.1.2. GetNext Usado pelo NMS para adquirir o valor do prximo 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 divergncia SNMP v2 foram definidos quatro variaes: 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: Padro utilizado at hoje. 5.9.2.3. SNMPv2 baseada no usurio SNMPv2u: Esquema de segurana baseado em usurios e senha. 5.9.2.4. SNMPv2 Estrela SNMPv2*: Combina elementos de SNMPv2p e SNMPv2u. Nunca foi formalmente padronizado. As trs primeiras variaes foram documentadas em conjuntos de padres SNMP RFC Standard, a quarta no foi.
40
A estrutura do formato de mensagem global para cada variante discutida num padro administrativo ou de segurana para a variao em questo, que faz referncia norma SNMPv2 compartilhada para o formato de PDU (RFC 1905).
5.9.3.1.1. Trap Mensagem no 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 Segurana
5.9.4.1.1. USM User-based Security Model: Modelo de Segurana Baseada em Usurios. 5.9.4.1.2. VACM View-based Access Control Model: Modelo de controle de acesso baseado em vi-
ses.
5.9.4.1.3. Configurao dinmica 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 configurao do agente. Permite configurao dinmica de adio, excluso e modificao de entradas de configurao local ou remotamente. Podemos via comando alterar as configuraes do snmpd.conf do host local ou remoto.
5.10.2.
Comunidade default:
41
5.10.3.
Mtodo para autenticar o acesso (senha); Visibilidade da MIB; Privilgios de acesso MIB.
5.10.4.
Servio de autenticao
Todas as mensagens SNMP so autenticadas; o nome da comunidade serve como senha, porm, esse um sistema de segurana frgil e limitado, alm de no permitir a operao SET em alguns casos. Alguns dispositivos controlam o acesso usando o nome da comunidade e o nmero IP do(s) gerente(s), o que eleva um pouco a segurana, mas no resolve o problema.
5.11.
Traps em SNMP
So mensagens enviadas pelo agente ao gerente; no so respostas a pedidos, ou seja, so mensagens no solicitadas e representam eventos anormais.
5.11.1.
Classificao
5.11.1.1.1. ColdStart: Dispositivo foi ligado; Configurao local pode ter sido alterada; Informa ao gerente sobre sua existncia. 5.11.1.1.2. WarmStart: Dispositivo foi reinicializado; Configurao local no foi alterada. 5.11.1.1.3. LinkDown: Link ou porta de comunicao 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 no autorizada; Comunidade no reconhecida; Nmero IP de gerente invlido. 5.11.1.1.6. EgpNeighborLoss: Exterior Gateway Protocol falhou no n; Normalmente usado em roteadores.
5.11.1.1.7. EnterpriseSpecific: Indica que a trap especfica de uma empresa; Fornencedores definem suas prprias traps na ramificao da empresa privada na rvore MIB.
43
44
6. A MIB
A MIB (Management Information Base - Base de Informaes de Gerenciamento) um conjunto dos objetos gerenciados, com o objetivo de abranger informaes necessrias para a gerncia da rede. importante salientar que a MIB no contm objetos reais, somente os organiza.
6.1.Objetos Gerenciados
So estruturas de dados resultantes da modelagem dos recursos da rede a s erem gerenciados, podem ter permisses para serem lidos ou alterados sendo que cada leitura representar o estado real do recurso e cada alterao ser refletida no prprio recurso, isso permite automatizao de grande parte das tarefas de gerncia.
6.2.Modelos de Gerenciamento
O padro OSI define trs modelos para gerenciamento de redes: Modelo Organizacional; Modelo Funcional; Modelo Informacional.
45
6.4.MIB da Internet
O RFC (Request for Comments) 1066 apresentou a primeira verso da MIB, a MIB-1, o IAB (Internet Activities Board) aceita MIB como padro no RFC 1156. O RFC 1158 props uma segunda MIB, a MIB-II, aceita e formalizada como padro no RFC 1213.
46
6.5.1. N Raiz
O n raiz da rvore (MIB) possui trs sub-rvores: ccitt(0): Administrao CCITT (Comite Consultatif Internationale de Telegraphie et Telephonie); iso(1): Administrao ISO; joint-iso-ccitt(2): Administrao ISO e CCITT.
6.5.2. N iso
Sob o n iso(1) temos as subrvores: org(3); dod(6); Internet(1).
47
6.5.3. N internet
O n Internet(1) possui quatro subrvores: directory(1): Contm informaes sobre o servio de diretrios OSI; mgmt(2): Informaes de gerenciamento; experimental(3): Objetos em pesquisa pela IAB; private(4): Objetos definidos por outras organizaes.
Figura 29 - N internet(1)
6.5.4. N mgmt
Abaixo do n mgmt(2) esto os objetos usados para se obter informaes especficas de rede.
Figura 30 - N mgmt
48
6.5.7.1.2. 1.3.6.1.2.1.1
OID
6.5.7.1.3. Componentes: sysDesc(1): Descrio do sistema, nome completo e verso 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 responsvel pelo n; sysName(5): Nome do n na rede; sysLocation(6): Localizao fsica do n; sysServices(7): Flags indicando servios suportados.
6.5.7.2.
6.5.7.2.3. Componentes ifNumber(1): Nmero de interfaces de rede (independentemente do seu estado atual) presentes no sistema; ifTable(2): A tabela de informaes sobre cada interface de rede, o nmero 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): Identificao da interface, deve incluir o nome do fabricante, o nome do produto e a verso da interface; ifType(ifEntry 3): Tipo de interface; ifMtu(ifEntry 4): Tamanho mximo do datagrama suportado pela interface, especificado em octetos; ifSpeed(ifEntry 5): Uma estimativa da largura de banda atual da interface em bits por segundo. Para interfaces que no variam em largura de banda ou ainda para aquelas onde essa estimativa no considerada necessria, esse objeto deve conter a largura de banda nominal; ifPhysAddress(ifEntry 6): Endereo fsico da interface, Para interfaces que no tm tal endereo (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 interface; 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.
50
ifLastChange(ifEntry 9): O tempo de funcionamento desde que a interface entrou em estado operacional; ifInOctets(ifEntry 10): O nmero total de octetos recebidos na interface, incluindo caracteres de enquadramento (framing characters); ifInUcastPkts(ifEntry 11): O nmero de pacotes unicast entregues a um protocolo de camada superior; ifInNUcastPkts(ifEntry 12): O nmero de pacotes no unicast (ou seja, broadcast ou multicast) entregues a um protocolo de camada superior; ifInDiscards(ifEntry 13): O nmero de pacotes de entrada que foram escolhidos para serem descartados, mesmo que nenhum erro tenha sido detectado, impede a entrega dos pacotes a um protocolo de camada superior. Uma razo possvel para descartar tais pacotes poderia ser para liberar espao de buffer; ifInErrors(ifEntry 14): O nmero de pacotes de entrada que continham erros que impedem seu fornecimento a um protocolo de camada superior; ifInUnknownProtos(ifEntry 15): O nmero de pacotes recebidos atravs da interface que foram descartados por causa de um protocolo desconhecido ou no suportado; ifOutOctets(ifEntry 16): O nmero total de octetos transmitidos na interface, incluindo caracteres de enquadramento (framing characters); ifOutUcastPkts(ifEntry 17): O nmero total de pacotes que o protocolo de camada superior solicitou que fossem transmitidos, incluindo aqueles que foram descartados ou no enviados; ifOutNUcastPkts(ifEntry 18): O nmero total de pacotes no unicast (ou seja, broadcast ou multicast) que o protocolo de camada superior solicitou que fossem transmitidos, incluindo aqueles que foram descartados ou no enviados; ifOutDiscards(ifEntry 19): O nmero de pacotes de sada que foram escolhidos para serem descartados, mesmo que nenhum erro tenha sido detectado, impede a transmisso dos pacotes. Uma razo possvel para descartar tais pacotes poderia ser para liberar espao de buffer; ifOutErrors(ifEntry 20): O nmero de pacotes de sada que no puderam ser transmitidos devido a erros; ifOutQLen(ifEntry 21): O comprimento da fila de sada de pacotes (em pacotes); ifSpecific(ifEntry 22): Uma referncia a definies MIB especficas para uma mdia em particular, sendo usado para realizar a interface com o objeto. Por exemplo, se a interface realizado por uma ethernet, ento o valor deste objeto refere-se a um documento que define objetos especficos para ethernet. Se esta informao no presente, seu valor deve ser definido como OBJECT IDENTIFIER { 0 0 }, que uma sintaxe vlida para identificador de objeto, e estar em conformidade com qualquer implementao de ASN.1 e BER que dever ser capaz de gerar e reconhecer esse valor.
51
6.5.7.3.3. Componentes atTable(1): As tabelas de traduo de endereos, devem conter o endereo de rede para seu endereo fsico equivalente. Algumas interfaces no usam tabelas de converso para determinar equivalncias endereo (por exemplo, DDN-X.25 tem um mtodo algortmico). Se todas as interfaces so deste tipo, ento a tabela Address Translation est vazia, ou seja, tem zero entradas; atEntry(atTable 1): Cada entrada contm um endereo de rede para seu endereo fsico equivalente; atIfIndex(atEntry 1): A interface identificada por um determinado valor deste ndice a mesma interface identificada pelo mesmo valor de ifIndex; atPhysAddress(atEntry 2): Endereo fsico da interface; atNetAddress(atEntry 3): O endereo da rede (por exemplo, o endereo IP).
6.5.7.4.
Grupo ip - Protocolo IP
6.5.7.4.3. Componentes (Apenas Alguns) ipForwarding(1): Se o IP Forward est ou no habilitado no dispositivo; o forwarding(1) o not-forwarding(2) ipInReceives(3): O nmero total de datagramas de entrada recebidos pela interface,incluindo aqueles recebidos com erro; ipInAddrErrors(5): O nmero de datagramas de entrada descartados porque o endereo IP de destino em seu campo de cabealho IP no era um endereo vlido. Essa contagem inclui endereos invlidos (por exemplo, 0.0.0.0) e os endereos de Classes no suportsadas (por exemplo, Classe E); ipInUnknownProtos(7): O nmero de datagramas recebido com sucesso, mas descartados por causa de um protocolo desconhecido ou no suportado;
52
ipOutDiscards(11): O nmero de datagramas IP de sada para os quais no foram encontrados problemas para impedir a sua transmisso ao seu destino, mas que foram descartados (por exemplo, por falta de espao de buffer); ipOutNoRoutes(12): O nmero de datagramas IP descartados, porque nenhuma rota podia ser encontrada para transmiti-los aos seus destinos; ipAddrTable(20): Tabela de endereamento IP; ipAdEntReasmMaxSize(ipAddrEntry 5): O tamanho do maior datagrama IP que esta entidade pode re-montar a partir dos datagramas IP fragmentados recebidos por esta interface; ipRouteTable(21): Tabela de roteamento IP; ipRouteDest(ipRouteEntry 1): Endereo IP do destino da rota. Uma entrada com valor 0.0.0.0 considerada uma rota padro; ipRouteMetric1(ipRouteEntry 3): A mtrica de roteamento primrio para esta rota. A semntica desta mtrica determinada pelo protocolo de roteamento especificado na rota do valor ipRouteProto. Se essa mtrica no utilizada, seu valor deve ser definido como -1; ipRouteNextHop(ipRouteEntry 7): O endereo IP do prximo salto da rota. (No caso de uma rota ligada a uma interface que se realiza atravs de uma mdia de broadcast, o valor deste campo o endereo IP do agente daquela interface). Grupo icmp Protocolo ICMP
6.5.7.5.
6.5.7.5.3. Componentes (Apenas Alguns) icmpInMsgs(icmp 1): O nmero total de mensagens ICMP que a entidade recebeu. Note que a contagem inclui todos os contadores de icmpInErrors; icmpInErrors(icmp 2): O nmero de mensagens ICMP que a entidade recebeu, mas determinada por erros ICMP especficos (ICMP checksums com erro, erro no tamanho, etc); icmpInDestUnreachs(icmp 3): O nmero de mensagens ICMP recebidas com destino inacessvel; icmpInTimeExcds(icmp 4): O nmero de mensagens ICMP recebidas com tempo excedido.
53
6.5.7.6.
6.5.7.6.3. Componentes (Apenas Alguns) tcpConnTable(13): Uma tabela contendo informaes de conexo TCP especficas; tcpConnState(tcpConnEntry 1): O estado da conexo TCP; tcpConnLocalAddress(tcpConnEntry 2): O endereo IP local para esta conexo TCP. No caso de uma conexo no estado ouvindo, disposta a aceitar conexes para qualquer interface IP associada ao n, o valor 0.0.0.0 usado; tcpConnRemAddress(tcpConnEntry 4): O endereo IP remoto para essa conexo TCP; tcpConnRemPort(tcpConnEntry 5): O nmero da porta remota para esta conexo TCP.
6.5.7.7.
6.5.7.7.3. Componentes udpInDatagrams(1): O nmero total de datagramas UDP entregues aos usurios UDP; udpNoPorts(2): O nmero total de datagramas UDP recebidos para os quais no houve aplicao na porta de destino; udpInErrors(3): O nmero de datagramas UDP recebidos que no puderam ser entregues por outras razes que no a falta de uma aplicao na porta de destino; udpOutDatagrams(4): O nmero total de datagramas UDP enviados a partir desta entidade; udpTable(5): Uma tabela contendo informaes sobre os ouvintes UDP; udpEntry(udpTable 1): Informaes sobre um determinado ouvinte UDP; udpLocalAddress(udpEntry 1): O endereo 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 nmero da porta local para este ouvinte UDP.
54
6.5.7.8.
6.5.7.8.3. Componentes (Apenas Alguns) egpInMsgs(1): O nmero de mensagens EGP recebidas sem erro; egpInErrors(2): O nmero de mensagens EGP recebidas com erro; egpOutMsgs(3): O nmero total de mensagens EGP gerados localmente; egpOutErros(4): O nmero de mensagens EGP gerados localmente no enviadas devido a limitaes de recursos dentro de uma entidade EGP; egpNeighTable(5): A tabela de vizinhos EGP.
6.5.7.9.
6.5.7.11.3. Componentes snmpInPkts(1): O nmero total de mensagens entregues entidade SNMP pelo servio de transporte; snmpOutPkts(2): O nmero total de mensagens SNMP que foram passados da entidade protocolo SNMP para o servio de transporte; snmpInBadVersions(3): O nmero total de mensagens SNMP que foram entregues entidade protocolo SNMP, mas eram de uma verso SNMP no suportada;
Gerenciamento de Redes com SNMP | A MIB 55
snmpInBadCommunityNames(4): O nmero total de mensagens SNMP entregues entidade protocolo SNMP, mas que usaram um nome da comunidade SNMP desconhecida pela entidade; snmpInBadCommunityUses(5): O nmero total de mensagens SNMP entregues entidade protocolo SNMP que representaram uma operao SNMP que no era permitida pela comunidade SNMP nomeada na mensagem; snmpInASNParseErrs(6): O nmero total de erros ASN.1 ou BER encontrados pela entidade protocolo SNMP quando decodificou as Mensagens SNMP recebidas; -- (7): No usado; snmpInTooBigs(8): O nmero 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 nmero total de PDUs SNMP que foram entregues entidade protocolo SNMP e para os quais o valor do campo status de erro `noSuchName '; SnmpInBadValues(10): O nmero total de PDUs SNMP que foram entregues entidade protocolo SNMP e para os quais o valor do campo status de erro `badValue '; snmpInReadOnlys(11): O nmero total vlido 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 contm o valor `readOnly ' no campo erro de status, e como tal, este objeto fornecido como um meio de detectar implementaes incorretas do SNMP; snmpInGenErrs(12): O nmero total de PDUs SNMP que foram entregues entidade protocolo SNMP e para os quais o valor do campo status de erro `genErr'; snmpInTotalReqVars(13): O nmero total de objetos MIB que foram recuperados com sucesso pela entidade protocolo SNMP como o resultado de receber PDUs SNMP Get-Request e Get-Next vlidos; snmpInTotalSetVars(14): O nmero total de objetos MIB que foram alterados com sucesso pela entidade protocolo SNMP, como o resultado de receber PDUs SNMP Set-Request vlidos; snmpInGetRequests(15): O nmero total de PDUs SNMP Get-Request que foram aceitas e processadas pela entidade protocolo SNMP; snmpInGetNexts(16): O nmero total de PDUs SNMP Get-Next que foram aceitas e processadas pela entidade protocolo SNMP; snmpInSetRequests(17): O nmero total de PDUs SNMP Set-Request que foram aceitas e processadas pela entidade protocolo SNMP; snmpInGetResponses(18): O nmero total de PDUs SNMP Get-Response que foram aceitas e processadas pela entidade protocolo SNMP; snmpInTraps(19): O nmero total de PDUs SNMP Trap que foram aceitas e processadas pela entidade protocolo SNMP;
56
snmpOutTooBigs(20): O nmero 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 nmero 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 nmero total de PDUs SNMP que foram gerados pela entidade protocolo SNMP e para os quais o valor do campo status de erro ` badValue '; -- (23): No usado; snmpOutGenErrs(24): O nmero 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 nmero total de PDUs SNMP Get-Request que foram gerados pela entidade protocolo SNMP; snmpOutGetNexts(26): O nmero total de PDUs SNMP Get-Next que foram gerados pela entidade protocolo SNMP; snmpOutSetRequests(27): O nmero total de PDUs SNMP Set-Request que foram gerados pela entidade protocolo SNMP; snmpOutGetResponses(28): O nmero total de PDUs SNMP GetResponse que foram gerados pela entidade protocolo SNMP; snmpOutTraps(29): O nmero total de PDUs SNMP Trap que foram gerados pela entidade protocolo SNMP; snmpEnableAuthenTraps(30): Indica se o processo do agente SNMP esta configurado para gerar traps de falha de autenticao. O valor deste objeto substitui qualquer informao de configurao, como tal, fornece um meio pelo qual todos os traps de falha de autenticao possam ser desabilitados. Note que altamente recomendvel que esse objeto seja armazenados em memria no-voltil para que ele permanea constante entre as reinicializaes do sistema de gerencia de rede. o enabled(1); o disabled(2).
57
58
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.Caractersticas do Protocolo
O protocolo RMON uma MIB SNMP e, portanto o dispositivo deve possuir um agente SNMP. especfico para tecnologias Ethernet e Token Ring, apesar de existir uma implementao 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 trfego de um segmento da rede. Deve ficar em um ponto da rede por onde passa todo o trfego 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 atravs de espelhamento do trfego de suas portas para uma porta de monitorao (port mirroring).
7.3.Objetivos do RMON
Realizar anlise e levantar informaes estatsticas sobre os dados coletados em uma sub-rede, liberando a estao gerente desta tarefa. Reduzir trfego entre rede local gerenciada e a estao gerente remota. Detectar, registrar e informar estao gerente sobre situaes de erro e eventos significativos da rede. Permitir o gerenciamento pr-ativo da rede, diagnosticando e registrando eventos que possibilitem detectar o mal funcionamento e prever falhas que interrompam a sua operao. Enviar informaes de gerenciamento para mltiplas estaes gerentes.
60
7.5.Exemplo de funcionamento
61
7.6.MIB RMON1
7.6.3.1.1. Exemplos de estatsticas Ethernet Bytes trafegados; Pacotes trafegados (<uni/broad/multi>cast); Pacotes < 64 bytes; Pacotes > 1518 bytes; Pacotes com erro de CRC; Nmero de colises.
Anlise da tendncia de comportamento de uma rede: Cria subsdios para um gerenciamento pr-ativo.
7.6.3.4. RMON1 Hosts Top N Classifica os hosts de acordo com valores de variveis do grupo hosts. Permite definir: Varivel para ordenao; Durao da amostragem; Quantidade de hosts na lista.
Gerenciamento de Redes com SNMP | Protocolo de Gerenciamento RMON 63
Exemplo: As 10 mquinas que mais transmitiram pacotes na rede hoje; As 5 mquinas que mais transmitiram pacotes com erros nas ltimas 2 horas; As 20 mquinas que mais geraram trfego de broadcast na semana.
7.6.3.6. RMON1 Token Ring O suporte a Token Ring pode ser feito de 2 formas: Extenso 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 operao para variveis de MIB. Se os limites forem ultrapassados, alarmes so gerados.
64
Exemplos: Mais de 20 pacotes com erro nos ltimos 5 minutos; Se a taxa de bytes enviados for menor que 100.000.000/5s.
7.6.3.8. RMON1 Filter Define condies associadas a pacotes trafegados pela rede. Se o pacote atende s condies estabelecidas: Captura o pacote ou Registra estatsticas baseadas no mesmo.
Exemplos: Captura todos os pacotes vindos do servidor S1; Conta quantos pacotes esto indo para o roteador e no so originrios dos servidores: trfego entre segmentos de redes das estaes.
65
7.6.3.9. RMON1 Packet Capture Troubleshooting em segmentos de redes remotos. Como capturar o trfego em um segmento de rede? Colocar no segmento um sniffer; Utilizar o probe RMON.
7.6.3.9.1. Captura pacotes para anlise na rede. Parmetros da captura: Quantos bytes de cada pacote sero armazenados? Default so 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 aes do probe provocam eventos, por exemplo: Alarme disparado; Pacote que atende condies de um filtro. Grupo event determina o que fazer nestes casos: Log interno; snmp-trap; Log-and-trap.
66
7.7.RMON2
O RMON1 trabalha na camada de enlace de dados. Mas e as demandadas de Estatsticas de IP, IPX? Estatsticas de HTTP, FTP, etc? O RMON2 visa atender a essas necessidades.
7.7.1.1. RMON2 Protocol Directory Diretrio de Protocolo. Lista dos protocolos que o probe RMON2 consegue monitorar. Visa a interoperabilidade.
67
7.7.1.2. RMON2 Protocol Distribution Estatsticas sobre todos os protocolos suportados pelo probe. Nmero de bytes e de pacotes referentes a cada protocolo trafegando naquele segmento de rede.
7.7.1.4. RMON2 User History Histrico de Coleta do Usurio. Equivalente ao grupo history do RMON1, porm, permite configurar quais variveis sero mantidas no histrico, alm do intervalo e quantidade da amostragem. 7.7.1.5. RMON2 Probe Configuration Configurao do Probe. Padroniza a configurao do probe RMON, visando interoperabilidade entre probes e softwares gerentes de diferentes fabricantes.
68
7.7.1.6. RMON2 Address Map Mapeamento de Endereos. Relaciona endereos MAC e endereos de Rede (IP, IPX).
69
70
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c
71
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 informao por linha.
# cat snmpd.conf # /etc/snmp/snmpd.conf v1/v2c basico # rocommunity public rwcommunity private
8.5.1.1. Explicando o comando: snmpget: Comando para ler informaes do host; -v: Verso do protocolo pode ser 1 ou 2c; -c: Comunidade, no nosso exemplo, public; localhost: Endereo do host ao qual ser solicitada a informao, sendo nome DNS ou IP. sysContact.0: Informao que ser solicitada ao host. Como pode ser observado acima, o servidor responde s solicitaes da verso 1 e 2c do protocolo SNMP. Nesse caso solicitamos a informao sysContact.0, que corres72 Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento de Redes com SNMP
ponde ao responsvel pelo host. Como isso no foi informado no arquivo de configurao, a resposta a default do sistema. Por que sysContact.0 e no apenas sysContact? Como j mencionamos anteriormente, cada objeto possui uma identificao nica, que sua posio na rvore da MIB. No caso do contato, teremos apenas um responsvel cadastrado, mas se pensarmos, em interfaces de rede, por exemplo, geralmente teremos mais de uma, e nesse caso poderamos ler informaes como: A descrio da primeira interface de rede:
# snmpget -v 2c -c public localhost ifDescr.1 IF-MIB::ifDescr.1 = STRING: lo
# snmpset -v 2c -c public localhost sysContact.0 s aulas Error in packet. Reason: noAccess Failed object: SNMPv2-MIB::sysContact.0
Observe que na verso 2c as mensagens se tornaram mais claras, por isso sempre que o host possuir suporte, aconselhvel utilizar a verso 2c. Nesses exemplos o problema foi a utilizao 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 informaes do host; -v: Verso do protocolo pode ser 1 ou 2c; -c: Comunidade no nosso exemplo private;
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c 73
localhost: Endereo do host ao qual ser solicitada a informao, sendo nome DNS ou IP. sysContact.0: Informao que ser alterada no host; s: Tipo de dado da informao, neste caso String; aulas: Dado que ser gravado no campo sysContact.0.
Observe que sempre que realizarmos uma alterao no host, receberemos uma mensagem de retorno, que pode ser uma mensagem de falha ou a confirmao de que a informao foi alterada, como no exemplo acima: SNMPv2-MIB::sysContact.0 = STRING: aulas
O comando retorna que a prxima informao depois de sysContact.0 sysName.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 prxima informao, depois de sysName.0, sysLocation.0, dado do tipo string e que o valor atual desconhecido: SNMPv2MIB::sysLocation.0 = STRING: Unknown. sysLocation.0 o campo com a identificao da localizao do host.
Neste exemplo percorremos todo o galho system; se o objetivo ler todas as informaes do host, basta executar:
# snmpwalk -v 2c -c public localhost
Nesse exemplo, o comando retornou toda a tabela system, mas veja o que acontece ao solicitar uma nica informao, 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-MPDMIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SMMIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORKMIB::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-ACMMIB::vacmBasicGroup Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c 75
O bloco de informaes comeou na linha que continha a informao solicitada sysLocation.0, e foi at sysORID.8, ao contrrio da execuo anterior, que foi at sysORID.3.
# time snmpbulkwalk -v 2c -c public localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.3271.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMPMIB::netSnmpAgentOIDs.10 real 0m0.348s user 0m0.112s sys 0m0.114s
76
Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento de Redes com SNMP
# 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 informao: SNMPv2-MIB::, IF-MIB::, DISMANEVENT-MIB::?. Esta informao nos diz quem foi a MIB que respondeu aquela solicitao. Lembre-se: se eu no possuir a MIB do equipamento do qual estou solicitando as informaes, poderei ler o dado se souber a OID do objeto, mas no vou ter condies 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 execuo anterior; agora veja o que acontece se eu no 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 difcil identificar, j se eu possuir a MIB, receberei a resposta ifDescr.1 = STRING: lo, muito mais fcil de identificar o que esse objeto. Alm disso, aprenderemos um comando que consulta o objeto na MIB e nos traz a descrio 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 to importante possuir uma cpia da MIB de todos os equipamentos que voc deseja monitorar atravs do seu servidor de gerenciamento (Estao de gerenciamento).
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c
77
78
Gerenciamento de Servidores GNU/Linux Utilizando SNMP v1 e v2c | Gerenciamento de Redes com SNMP
9.1.USM
At a verso 2 do protocolo SNMP, o controle de acesso era baseado em comunidades(communities) como public, private. Este um sistema de segurana muito frgil e limitado, pois se algum descobre o nome da comunidade, tem acesso total ao host, ainda que ele esteja configurado apenas para leitura. Disponibilizar essas informaes a uma pessoa mal intencionada o mesmo que deix-la visitar sua rede e realizar anotaes, e posteriormente montar o plano de ataque sem pressa alguma. A partir do SNMPv3, os usurios e suas respectivas senhas devem ser cadastrados na base de dados SNMP, sendo que esses dados so salvos criptografados. 9.2. VACM Os usurios so colocados em grupos. So criadas views que representam partes da rvore SNMP, semelhantes s views dos bancos de dados, ou compartilhamentos de diretrios em servidores de arquivos. A view o recurso que desejamos disponibilizar, e por fim permisses so dadas para os grupos acessarem as views.
79
Neste caso, estamos definindo duas views, a view demoWrite e a view demoRead, e estamos incluindo a informao: .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 diferentes para o mesmo diretrio. Esse segundo passo opcional, pois podemos ter um host exclusivamente SNMP v3 ou um host compatvel com SNMP v1, v2c e v3. Nesse caso queremos um host compatvel com todas as verses, e por isso vamos informar ao servidor que quando ele receber uma solicitao em nome de uma comunidade, ele vai transformar esse nome de comunidade em um nome de usurio, essa linha faz este mapeamento:
com2sec com2sec nome v2cUser origem default comunidade demopublic
Essa linha informa que toda vez que uma solicitao v1 ou v2c for realizada de qualquer endereo IP, por isso a palavra default, com a comunidade demopublic, o servidor deve interpretar isso como uma solicitao do usurio v2cuser.
80
Essa linha indica que o usurio v2cUser ser membro do grupo demogroup, e que esse grupo s responde a solicitaes da verso 2c do protocolo SNMP. Por ltimo, vamos definir qual a permisso do grupo no recurso compartilhado, exatamente como fazemos no compartilhamento de diretrios:
access nome contexto leitura escrita notificao access demogroup demoRead demoWrite none modelo any nvel noauth prefixo prefix
Essa linha indica que o grupo demogroup em qualquer contexto ( ), recebendo solicitaes de qualquer verso do protocolo, pois na linha anterior j foram definidas as verses que ele vai responder, com nvel de autenticao noauth e com prefixo do tipo prefix, possui direito de leitura na view demoRead e escrita na view demoWrite, e que no enviar notificaes (Traps) para nenhum servidor.
#access user write notify access compat noauth exact all access compat1 noauth exact all read
context any/v1/v2c/usm "" none "" all any none any none
81
Por exemplo:
view all included .1 80
9.4.1.2. Seo com2sec A segunda seo trata do processo de associao entre as comunidades e os nveis de acesso so realizados atravs das linhas com2sec, e possui o seguinte formato:
com2sec "security name" origem_da_requisio community
Por exemplo:
com2sec com2sec readonly readwrite default default public private
9.4.1.3. Seo Group O prximo passo realizar a associao dos grupos de acessos verso do protocolo snmp e a um "security name", definindo acessos a informaes diferentes dependendo da verso do protocolo utilizado. Estas linhas possuem o seguinte formato:
group grupo verso_do_protocolo security_name
Por exemplo:
group group group group compat compat compat1 compat1 v1 v2c v1 v2c readonly readonly readwrite readwrite
9.4.1.4. Seo Access Finalmente devem-se aplicar as permisses (visualizar/alterar) nas views pelos grupos. A configurao padro ir permitir que compat possa visualizar qualquer configurao, enquanto compat1 poder visualizar e alterar qualquer configurao. Possui o seguinte formato:
access prefixo read usurio write contexto notify verso_do_protocolo level
82
Por Exemplo:
access all access exact all exact compat none compat1 all "" none "" none any any noauth noauth
9.4.1.5.
Compreendendo os Parmetros
9.4.1.5.1. Seo View View: Comando para definir uma nova view; Name: Nome da view; Included/Excluded: Partes da rvore MIB que sero includas ou excludas na view; Tree: As informaes referentes opo anterior, o que eu estou incluindo ou excluindo da view; posso, por exemplo, excluir a rvore toda (.1) e depois disponibilizar apenas galhos da rvore, como por exemplo, as informaes referentes ao protocolo IP (.iso.org.dod.internet.mgmt.mib2.ip). Nesse caso essa view s apresentar essas informaes; Mask: Mscara no formato hexadecimal; permite criar filtros avanados dentro do galho disponibilizado. 9.4.1.5.2. Seo Com2sec: Com2sec: Comando para definir uma nova associao entre nome de comunidade (v1/v2c) e nvel de acesso (v3); Name: Nome do usurio; Source: Origem da requisio, indica a mquina que pode realizar requisies 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 requisio. 9.4.1.5.3. Seo Group: Group: Comando para definir um novo grupo; Name: Nome do grupo; Model: Verso do protocolo que o host aceita ao receber requisies: o Qualquer verso: any; o Requisies v1: v1; o Requisies v2c: v2c; o Requisies v3: usm. User: Nome do usurio que pertence ao grupo. 9.4.1.5.4. Seo Access: Access: Comando para definir um novo acesso; Group: Nome do grupo ao qual ser liberado acesso;
83
Context: Contexto ou escopo; uma maneira de se criar filtros de acesso para determinadas situaes. Pode ser contexto em um dispositivo, contexto em um conjunto de dispositivos, etc. Por exemplo: o Ler as informaes de espao em disco de todos os meus dispositivos; o Ler as informaes de trfego de portas do switch1; o Ler as informaes de trfego de rede de entrada da porta 24 ( ... ifTable.ifEntry.ifInOctets.24 ) do switch 2. Security Model: Verso do protocolo que o host aceita ao receber requisies: o Qualquer verso: any; o Requisies v1: v1; o Requisies v2c: v2c; o Requisies v3: usm. Level: Nvel de segurana da autenticao: o NoAuth: Sem autenticao; o Auth: Com autenticao; o Priv: Autenticao com Criptografia. Prefix: Define o que ser analisado no momento da requisio: o Exact: A correspondncia exata de prefixo e contexto; o Prefix: Apenas o prefixo, que o OID numrico ou identificao 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 notificaes em caso de situaes anormais (Traps).
# snmpwalk -v 2c -c public localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.3271.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMPMIB::netSnmpAgentOIDs.10
84
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.3271.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMPMIB::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-MPDMIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SMMIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORKMIB::snmpFrameworkMIBCompliance
Como pode ser observado realizamos vrias requisies v1 e v2c, utilizando tanto a comunidade public quanto a private e o host respondeu perfeitamente s requisies, ou seja, podemos ter um host configurado para SNMP v3, mas mantendo a compatibilidade com as verses anteriores se isso for uma necessidade do ambiente.
Os usurios criptografados so armazenados no arquivo /var/lib/netsnmp/snmpd.conf. Abaixo, seguem as diferenas entre o arquivo antes e depois da criao do usurio initial. NUNCA EDITE ESSE ARQUIVO! /var/lib/net-snmp/snmpd.conf Antes da adio do usurio Initial:
psyscontact aulas setserialno 2003046206 engineBoots 13
Podemos observar a linha que contem as informaes referentes ao usurio initial, 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
# 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.
86
9.6.2.1. Parmetros: snmpusm: Comando para criar e manipular usurios; -v 3: Verso do protocolo SNMP; -u initial: -u (User) initial, nome do usurio com permisso de escrita; -n "": Contexto; -x DES: Tipo de criptografia usada na senha (DES ou AES) protocolo usado na privacidade; -l authNoPriv: Nvel de segurana na autenticao, so trs nveis: o noAuthNoPriv: Sem autenticao e sem privacidade; o authNoPriv: Com autenticao, sem privacidade; o authPriv: Com autenticao e privacidade.
For privacy, the Security Model defines what portion of the message 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 usurio initial; localhost: Nome DNS ou IP do Servidor; create user1 initial: Criar o usurio user1, clonando de initial; clona inclusive a senha.
# 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. Parmetros: passwd: Comando para alterar a senha; setup_passphrase: Senha atual do usurio user1; senhateste user1: Nova senha para o usurio user1, com mnimo de 8 caracteres.
87
Podemos observar as linhas que contem as informaes referentes aos novos usurios 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
88
# snmpset -v 3 -u initial -n "" -l authNoPriv -a MD5 -A setup_passphrase -x DES localhost sysContact.0 s "Andr Do" SNMPv2-MIB::sysContact.0 = STRING: Andr Do
# snmpgetnext -v 3 -u initial -n "" -l authNoPriv -a MD5 -A setup_passphrase -x DES localhost sysContact.0 SNMPv2-MIB::sysName.0 = STRING: aulas
# snmpbulkget -v 3 -u initial -n "" -l authNoPriv -a MD5 -A setup_passphrase -x DES localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux aulas 2.6.3271.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMPMIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19793) 0:03:17.93 SNMPv2-MIB::sysContact.0 = STRING: Andr Do 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-MPDMIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SMMIB::usmMIBCompliance Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 89
Permisses aos grupos grupo contexto alterar notificar rogroup2 none none rogroup1 none none rwgroup all none
9.6.6.1.
# 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 usurio user3 faz parte do grupo rogroup2, cuja nica permisso ler a view ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip, no qual no existe a informao 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 Do
O usurio user2 faz parte do grupo rogroup1, cuja permisso de leitura na view all, que disponibiliza a raiz inteira da MIB (.1). Portanto, ele pode ler a informao sysContact.0.
90
# snmpset -v 3 -u user2 -n "" -l authNoPriv -a MD5 -A setup_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 no possui privilgios de escrita na view all.
# snmpset -v 3 -u initial -n "" -l authNoPriv -a MD5 -A setup_passphrase -x DES localhost sysLocation.0 s Curso SNMPv2-MIB::sysLocation.0 = STRING: Curso
O usurio initial faz parte do grupo rwgroup, cuja permisso de leitura e escrita na view all, que disponibiliza a raiz inteira da MIB (.1). Portanto ele pode alterar a informao sysLocation.0.
# snmpbulkwalk -v 3 -u user3 -n "" -l authNoPriv -a MD5 -A senhateste3 -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 usurio user3 faz parte do grupo rogroup2, cuja nica permisso ler a view ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip. Por isso todas as informaes apresentadas so da MIB IP-MIB. Outro detalhe interessante a mensagem no final da execuo 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 no significa que voc no chegou ao fim da MIB, significa que voc chegou ao fim da sua permisso. Se no for essa a sua inteno, preciso revisar a configurao do host e alterar o que for necessrio.
# # Declarando um usurio Inicial com permisso de escrita rwuser initial # Criando o usurio na base do snmp #IMPORTANTE: Esta linha deve ser apagada aps a adio dos novos usurios createUser initial MD5 setup_passphrase DES setup_passkey
# 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. Parmetros: snmpusm: Comando para criar e manipular usurios; -v 3: Verso do protocolo SNMP; -u initial: -u (User) initial, nome do usurio com permisso de escrita; -n "": Contexto; -x DES: Tipo de criptografia usada na senha (DES ou AES) protocolo usado na privacidade; -X setup_passkey: Chave criptogrfica; -l authPriv: Nvel de segurana na autenticao; so trs nveis: o noAuthNoPriv: Sem autenticao e sem privacidade; o authNoPriv: Com autenticao, sem privacidade; o authPriv: Com autenticao e privacidade.
For privacy, the Security Model defines what portion of the me ssage is encrypted. IEEE - rfc3411
92
-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 usurio initial; localhost: Nome DNS ou IP do Servidor; create user1 initial: Criar o usurio user1; clonando de initial, clona inclusive a senha.
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. Parmetros: -x DES -X 123 -a MD5 -A 234: Criptografia do tipo DES (-x), chave criptogrfica 123 (-X), hash do tipo MD5 (-a), chave criptogrfica 234 (-A). Veja este trecho do man snmpcmd:
-a authProtocol Set the authentication protocol (MD5 or SHA) used for authenticated 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 insecure to specify pass phrases on the command line, see snmp.conf(5).
# snmpusm -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost -Ca passwd setup_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 setup_passphrase senhateste3 user3 SNMPv3 Key(s) successfully changed.
9.7.3.1. Parmetros: -Ca: Alterar a chave de autenticao; passwd: Comando para alterar a senha; setup_passphrase: Senha atual do usurio user1;
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 93
senhateste user1: Nova senha para o usurio user1, com mnimo de 8 caracteres.
9.7.4.1. Parmetros: -Cx: Alterar a chave de privacidade; passwd: Comando para alterar a senha; setup_passkey: Chave atual do usurio user1; senha_key user1: Nova chave para o usurio user1, com mnimo de 8 caracteres.
94
# snmpset -v 3 -u initial -n "" -x DES -X setup_passkey -l authPriv -a MD5 -A setup_passphrase localhost sysContact.0 s "Andr Do" SNMPv2-MIB::sysContact.0 = STRING: Andr Do
# 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.3271.29.1.el6.i686 #1 SMP Mon Jun 27 18:07:00 BST 2011 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMPMIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19793) 0:03:17.93 SNMPv2-MIB::sysContact.0 = STRING: Andr Do 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-MPDMIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SMMIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORKMIB::snmpFrameworkMIBCompliance
group # Atribuir #access coincidir ler access exact ip access exact all access exact all
rwgroup
Permisses aos grupos grupo contexto alterar notificar rogroup2 none none rogroup1 none none rwgroup all none
9.7.7.1.
# 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 usurio user3 faz parte do grupo rogroup2, cuja nica permisso ler a view ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip, no qual no existe a informao 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 Do
O usurio user2 faz parte do grupo rogroup1, cuja permisso de leitura na view all, que disponibiliza a raiz inteira da MIB (.1). Portanto, ele pode ler a informao sysContact.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 no possui privilgios 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 usurio initial faz parte do grupo rwgroup, cuja permisso de leitura e escrita na view all, que disponibiliza a raiz inteira da MIB (.1). Portanto, ele pode alterar a informao sysLocation.0.
# snmpbulkwalk -v 3 -u thPriv -a MD5 -A senhateste3 IP-MIB::ipForwarding.0 IP-MIB::ipDefaultTTL.0 96 user3 -n "" -x DES -X senha_key3 -l aulocalhost = INTEGER: notForwarding(2) = 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 usurio user3 faz parte do grupo rogroup2, cuja nica permisso ler a view ip, que disponibiliza o galho .iso.org.dod.internet.mgmt.mib-2.ip, e por isso todas as informaes apresentadas so da MIB IP-MIB.
97
98
99
100
10.1.
Informaes do Sistema
# cat snmpd.conf # /etc/snmp/snmpd.conf v3 devidamente configurado Informaes do Sistema (snmpd.conf.9) ... # local syslocation Curso # Contato syscontact Andr Do andredeo@gmail.com # Descricao sysdescr Computador do curso
# snmpget -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -x DES localhost sysContact.0 SNMPv2-MIB::sysContact.0 = STRING: Andr Do andredeo@gmail.com
# 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
v3 devidamente configurado Monitoramento
# cat snmpd.conf # /etc/snmp/snmpd.conf de Processos (snmpd.conf.10) ... # proc processo proc httpd proc mysqld proc postfix
mximo 9 3
mnimo 5
As sadas estaro abaixo do OID: .1.3.6.1.4.1.2021.2.1 enterprises.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:
102
# 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)
# 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
10.3.
# cat snmpd.conf # /etc/snmp/snmpd.conf v3 devidamente configurado Monitoramento de uso de disco (snmpd.conf.11) ... #disk Ponto de Montagem Espao/Porcentagem mnima disponvel disk / 90% disk /boot 60000
As sadas estaro abaixo do OID: .1.3.6.1.4.1.2021.9.1 enterprises.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%)
Ponto de montagem 1: /
104
# 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
# 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
10.4.
# cat snmpd.conf # /etc/snmp/snmpd.conf v3 devidamente configurado Monitoramento de Carga do sistema (snmpd.conf.12) ... #Limite mximo de carga nos ltimos 1min 5min 15min load 1 5 5
.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
1.27)
.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 (= .101.2 laErrMessage = STRING: .101.3 laErrMessage = STRING:
10.4.1. Acessando o Agent SNMP para leitura de informaes 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
# 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
# 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
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
109
10.5.
# 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
As sadas estaro abaixo do OID: .1.3.6.1.4.1.2021.15.1 enterprises.ucdavis.fileTable.fileEntry (), sendo elas: 626kb) .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 (=
10.5.1. Acessando o Agent SNMP para leitura de informaes 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
110
# 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)
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
10.6.
# cat snmpd.conf # /etc/snmp/snmpd.conf v3 devidamente configurado Monitoramento utilizando um comando customizado (snmpd.conf.14) ... #exec Nome comando Parmetros exec Teste1 /bin/cat /etc/passwd
111
As sadas estaro abaixo do OID: .1.3.6.1.4.1.2021.8.1 enterprises.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 sada do comando ... .102.X extErrFix = INTEGER: noError(0) .103.X extErrFixCmd = STRING:
10.6.1. Acessando o Agent SNMP para leitura de informaes 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
112
# 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)
Comando a ser executado, caso a opo anterior esteja configurada como 1: Mostrar apenas a primeira linha do resultado no til na maioria dos casos, porm, olhando no /etc/snmp/snmpd.conf, encontramos outras OID que armazenam a informao toda. Por questes bvias vou usar o /etc/fstab neste exemplo:
# snmpwalk -On -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -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
113
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 defaults 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 defaults 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 defaults 0 0
114
Alguns detalhes a serem observados: Usei o comando snmpwalk -On para que fossem exibidos os OIDs numricos. No OID .1.3.6.1.4.1.8072.1.3.2.3.1.3.6.84.101.115.116.101.49 exibida a quantidade de linhas que a execuo do comando retornou (INTEGER: 15), e esse nmero ser a base para as prximas 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 defaults 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 defaults 0 0
As sadas estaro 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: "sada do comando"
115
10.7.1. Acessando o Agent SNMP para leitura de informaes com comandos customizados usando OID personalizada
# snmpwalk -On -v 3 -u user1 -n "" -l authNoPriv -a MD5 -A senhateste -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: "# Accessible 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: "#" 116 Monitorando Recursos do Sistema | Gerenciamento de Redes com SNMP
.1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.9 = STRING: "UUID=971a8fa5-5800-4737-b2cd-731a986164f4 / 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 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 defaults 0 0" .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.12 = STRING: /dev/shm tmpfs defaults 0 0" .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.13 = STRING: /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: /sys sysfs defaults 0 0" .1.1.1.1.1.4.1.2.6.84.101.115.116.101.50.15 = STRING: /proc proc defaults 0 0"
ext4 ext4
117
118
Como podemos observar no arquivo acima, exclumos a rvore inteira e inclumos apenas a informao sysUpTime.0, ou seja ,a nica informao disponvel sobre esse host ser essa.
Mais um exemplo; vamos disponibilizar tambm a informao do nmero de ndice da primeira interface de rede do host.
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos
119
# 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 informaes referentes as interfaces de rede do host.
# 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)
120
Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos | Gerenciamento de Redes com SNMP
11.2. Mscaras VACM, ou Como restringir o acesso a um determinado ndice (linha) em uma Tabela
Usando a diretiva view no snmpd.conf, pode-se limitar os usurios a uma nica linha em uma tabela. Para fazer isso, o parmetro 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 includa (included) ou excluda (excluded). MASK uma lista de octetos hexadecimais, separados por '.' ou ':'. A MASK default ser "ff" se no for especificada. A razo da mascara que ela permite que voc controle o acesso a uma linha em uma tabela, de uma maneira relativamente simples. Por exemplo, como um provedor de internet (ISP) voc pode considerar dar acesso para cada cliente a sua prpria 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 usurio variar o campo (coluna) da linha) Nota: O caractere separador da mascara pode ser "." ou ":". Ento, 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 mscara indica se os OID correspondentes devem coincidir (1) ou no (0). No exemplo acima, todas as partes do OID exceto a coluna (the column) devem coincidir. Ento, essa viso permite o acesso a qualquer coluna da primeira linha no ifTable. Assim, combinado com uma linha excluda (excluded) para o ifTable, somente a linha 1 estaria acessvel para o usurio. Agora, para traz-lo todos juntos com outras diretrizes de controle de acesso. Assumindo 2 clientes, e cada um est conectado a uma interface especfica (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 requisio): # # 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: Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos 121
#### # Terceiro, criar as views para definir quais so os direitos dos # grupos: # mask view view view view ff.a0 view view view ff.a0 #### # Por fim, definir as views para os grupos: # read context sec.model any any any sec.level noauth noauth noauth match exact exact exact write notif access MyRWGroup "" all all none access cust1_grp "" cust1_v none none access cust2_grp "" cust2_v none none cust2_v cust2_v cust2_v excluded included included .1 sysUpTime.0 interfaces.ifTable.ifEntry.ifIndex.2 all cust1_v cust1_v cust1_v included excluded included included .1 .1 sysUpTime.0 interfaces.ifTable.ifEntry.ifIndex.1 incl/excl subtree
importante notar que isso funciona porque os clientes esto em redes diferentes. Se todos os clientes esto na mesma rede, o trfego 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 estatsticas 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.
122
Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos | Gerenciamento de Redes com SNMP
Vamos liberar acesso informao sysUpTime.0 e a todas as informaes (pode variar a coluna) da interface 2 (no pode mudar de linha) do host. Para ilustrar, como se essa view montasse a seguinte tabela referente s informaes de rede:
Podemos variar a coluna, que contm as descries das informaes, mas estamos presos na linha 2, ou seja, podemos ver qualquer informao referente a eth0.
# cat snmpd.conf # /etc/snmp/snmpd.conf v3 Como restringir o acesso a um determinado 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
ifIndex
lo
2 eth0 3 eth1
ifDescr 1
Gerenciamento de Redes com SNMP | Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos
ifType l e E
ifMtu
ifSpeed
ifPhysAddress
ifAdminStatus
ifOperStatus
ifLastChange
ifInOctets
ifInUcastPkts
ifInNUcastPkts
ifInDiscards
ifInErrors
ifInUnknownProtos
ifOutOctets
ifOutUcastPkts
ifOutNUcastPkts
ifOutDiscards
123
ifOutErrors
ifOutQLen
ifSpecific
11.2.1. Acessando o Agent SNMP com acesso restrito Uso do parmetro 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 informaes de descrio, e estados administrativo e operacional das interfaces do sistema:
# cat snmpd.conf # /etc/snmp/snmpd.conf v3 Como restringir o acesso a um determinado 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
11.2.2. Acessando o Agent SNMP com acesso restrito Uso do parmetro 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)
124
Gerenciamento de Servidores GNU/Linux Utilizando SNMP v3 - Casos Especiais e Exemplos | Gerenciamento de Redes com SNMP
# 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.
Parmetros:
defversion: Verso do protocolo a ser utilizada; defsecurityname: Nome de usurio v3; defsecuritylevel: Nvel de autenticao do usurio; defauthtype: Mtodo de autenticao; defauthpassphrase: Senha do usurio; defprivtype: Protocolo de privacidade; defprivpassphrase: Senha de privacide;
125
12.1.2.
# 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 Do
12.1.3.
Comando snmpconf
O comando snmpconf automatiza o processo, e pode ser usado para gerar vrios arquivos de configurao, inclusive o citado acima.
# snmpconf The following installed configuration files were found: 1: 2: /etc/snmp/snmpd.conf /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 opo nos informa quais arquivos de configurao foram encontrados, que esses arquivos podem ser lidos e que as informaes futuras sero mescladas com os arquivos atuais. Solicita ainda que seja escolhido um deles; o default a opo all. Basta pressionar Enter para selecionar a opo 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: 2: 3: snmpd.conf snmp.conf snmptrapd.conf
Other options: quit 126 Comandos SNMP teis | Gerenciamento de Redes com SNMP
Select File: 2 A segunda opo nos informa quais arquivos podem ser gerados e solicita que seja escolhida uma das opes. Nesse caso escolha a opo 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: 2: 3: 4: Default Authentication Options Output style options Textual mib parsing Debugging output options
Other options: finished Select section: 1 A terceira seo solicita que seja escolhida qual seo do arquivo de configurao ser alterada. Nesse caso escolha a opo 1, seo de Opes Padres de Autenticao.
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: 2: 3: needed. 4: 5: 6: 7: 8: 9: 10: The The The The The The The default default default default default default default snmpv3 snmpv3 snmpv3 snmpv3 snmpv3 snmpv3 snmpv3 security name to use when using snmpv3 context name to use security level to use authentication type name to use authentication pass phrase to use privacy (encryption) type name to use privacy pass phrase to use The default port number to use The default snmp version number to use. The default snmpv1 and snmpv2c community name to use when
Other options: finished, list Select section: Gerenciamento de Redes com SNMP | Comandos SNMP teis 127
Nesse momento so apresentadas 10 opes; escolha as opes uma por vez, e informe os parmetros desejados.
Select section: finished
Other options: quit Select File: quit Retorna s opes iniciais. Utilize a opo quit para encerrar.
128
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 automatically 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 padro com instrues adicionais.
12.2. Variaes na forma como o resultado da consulta exibido 12.2.1. Exibio padro
# 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.
12.2.3.
12.2.4.
129
12.2.5.
12.2.6.
12.3.2.
12.3.3.
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 descrio: # 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.
12.3.5.
# 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 }
131
12.3.6.
12.3.7.
132
13.1.2.
133
13.1.3.
Definir os grupos
13.1.4.
134
13.1.5.
Definir o IP do gerente
135
13.2.1.1. Acessando um Agent SNMP do router para leitura de informaes 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
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
13.2.2.
Os comandos abaixo habilitam o SNMPv3 compatvel com o SNMP v1/v2c no roteador CISCO.
1. Router_C2600>enable 2. Router_C2600#configure terminal 3. Enter configuration commands, one per line.
Definir a view:
Router_C2600(config)#snmp-server view all 1 included
136
13.2.2.1. Acessando um Agente SNMP v3 compatvel 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
13.2.3.
Habilitar SNMP V3
Definir a view:
Router_C2600(config)#snmp-server view all 1 included Gerenciamento de Redes com SNMP | Utilizando o SNMP em ativos de rede 137
Alterar o nome do equipamento atravs do usurio 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 atravs do usurio 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
138
13.2.4.
Definir a view:
Router_C2600(config)#snmp-server view all 1 included
Alterar o nome do equipamento atravs do usurio 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
139
Alterar o nome do equipamento atravs do usurio 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
Observao: O modelo C2600 no possui suporte a authPriv, mas os comandos e resultados de leitura de um equipamento que suporte a esse nvel de autenticao ser como os exibidos acima.
140
141
142
15.Referncias
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_TCPIPInternetStandardManagementFrameworkan dSNMPVer-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.
143