O Protocolo SNMP
O SNMP (Simple Network Management Protocol) foi criado no final dos anos 80 como alternativa ao modelo de gerenciamento OSI (CMIP / CMOT)
O nome já fazia uma alusão a uma alternativa simples que pudesse resolver as questões de gerenciamento sem a grande complexidade envolvida em outros padrões, até estes serem consolidados e viabilizados de maneira clara.
Com o sucesso da Internet (TCP/IP) acabou tornando-se um padrão de fato.
Principal ferramenta de gerenciamento de rede utilizada largamente até hoje.
Gerenciamento de Redes 2
O Protocolo SNMP
O SNMP (Simple Network Management
Protocol) é um protocolo da camada de aplicação
que tem como objetivo principal coletar
informações de dispositivos gerenciáveis.
É o responsável por veicular informações de
gerência (valores das MIBs).
Gerenciamento de Redes 3
O Protocolo SNMP
Suas interações são sem conexão, trabalha com
mensagens no protocolo UDP/IP, utiliza as portas
161 e 162 e seus pacotes tem tamanho variável.
Esse protocolo se tornou padrão para gerência na
Internet, por ser simples de implementar e
amplamente difundido.
É composto de um protocolo para troca de
mensagens e padrões para estruturar a
informação.Gerenciamento de Redes 5
Gerenciamento de Redes 7
SNMP – Arquitetura de Gerenciamento
Estação de Gerenciamento (Gerente)
Faz a interface de gerenciamento, fazendo requisições de informações
de monitoramento e controle aos elementos de rede, e traduzindo
essas informações de maneira clara aos operadores.
Agente de Gerenciamento (Agente)
É um processo associado ao elemento de rede gerenciável. Possui
duas funções básicas : responder a requisições do gerente e notifica-lo
sobre ocorrências pré-definidas.
Base de Informações de Gerenciamento (MIB)
É uma base de dados com estrutura em arvore composta de objetos
classificados logicamente. Estes objetos representam o estado dos
recursos gerenciáveis dos elementos da rede. O Gerenciamento ocorre
através da leitura e escrita desses objetos.
Protocolos de Gerenciamento (SNMP)
UDP, portas 161 e 162
Prof. Eduardo M. Monks - Redes de Computadores III 9
• Gerente (NMS – Network Management System)
• É um servidor executando algum tipo de sistema de
software que pode lidar com gerenciamento de uma
rede.
• É responsável pela operação de polling (busca
periódica de informações no agente)
• É responsável por receber traps (avisos assíncronos)
de agentes na rede.
• Agente
• É a peça de software executada nos dispositivos de
rede gerenciados.
• Atualmente, é bastante comum que os dispositivos de
rede possum alguma versão de agente SNMP
• Fornece a NMS informações de gerenciamento,
rastreando diversos aspectos operacionais dos
dispositivos.
Componentes
Componentes
• MIB (Management Information Base)
• MSI (Management Structure of Information) – é um
método para definir objetos gerenciados e seus
respectivos gerenciamentos.
• MIB (Management Information Base) – é um conjunto
de objetos contidos na informação de gerência de um
agente.
• MIB-II – é uma MIB específica. Seu principal objetivo é
fornecer informações específicas sobre o dispositivo
gerenciado via TCP/IP.
• MIB-II (RFC 1213) – Implementada por todos os
agentes, fornece informações gerais sobre TCP/IP
• MIBs Proprietárias – Desenvolvidas pelos fabricantes
dos dispositivos
Componentes
Breve descrição da MIB II
• Alguns valores
interessantes:
• Acompanhamento em
tempo real do dispositivo
(sysUpTimeInstance)
• Inventário de versões de
OS (sysDescr)
• Recolher informação da
interface (ifName,
ifDescr, ifSpeed, ifType,
ifPhysAddr)
• Medição de transferência
de interface de rede
(iflnOctets, ifOutOctets)
• Consultando um cache
ARP remoto
(ipNetToMedia)
Portas e Mensagens
• As mensagens utilizam UDP na portas 161
(requisições/respostas) e porta 162 (notificações)
• As mensagens passam em texto plano
• Tipos de Mensagens:
• GetRequest: solicita valores de variáveis do
dispositivo
• GetNextRequest: solicita valores de variáveis
seguindo na árvore uma variável passada como
parâmetro
• GetResponse: solicita respostas
• SetRequest: mandar instruções para modificar
valores de variáveis (direito de escrita)
• Trap: notificação que parte do dispositivo para o
gerente
• Para acesso a um agente, é necessário saber a
comunidade (community)
• Funciona como um password
• A versão 3 do SNMP utiliza usuários, senhas e
criptografia
Mensagem SNMP
A mensagem possui tamanho variável, limitada a
484 bytes. Message length: Tamanho da mensagem lembre-se
que o pacote SNMP tem tamanho variável;
Protocol Version: Versão do Protocolo SNMP;
Community String: Nome da comunidade;
PDU Header: Cabeçalho do PDU;
PDU Body: Dados da PDU.
Gerenciamento de Redes 13
As PDUs SNMP
PDU (Protocol Data Unit) ou simplesmente
Unidade de Dados de Protocolo, identifica uma
série de informações, como versão do protocolo,
tipo de operação e códigos de erro.
Gerenciamento de Redes 15
As PDUs SNMP
Toda operação SNMP gera uma resposta, com
exceção da Operação de Trap. Os dados das
operações são transportados na porta 161 UDP/IP,
e os traps são transportados na porta 162 UDP/IP.
Gerenciamento de Redes 16
As PDUs SNMP
Gerenciamento de Redes 18
Estrutura
A figura a seguir mostra a estrutura das PDU’s
SNMP.
Cada parte da PDU será explicada nas seções
seguintes.
Operações/Mensagens SNMP
Get-Request
Recupera o valor de informações de gerenciamento.
Gerenciamento de Redes 20
Operações/Mensagens SNMP
Get-Next-Request
Recupera o valor de informações de gerenciamento existentes
após um determinado identificador; pega o valor da próxima
variável.
Gerenciamento de Redes 21
Operações/Mensagens SNMP
Get-Bulk-Request
Estende a funcionalidade da função Get-Next. Traz um bloco
de informações de cada vez.
Gerenciamento de Redes 22
Operações/Mensagens SNMP
Set-Request
Modifica o valor de informações de gerenciamento.
Gerenciamento de Redes 23
Operações/Mensagens SNMP
TRAP
Informa um evento ocorrido no sistema gerenciado.
Gerenciamento de Redes 24
Operações/Mensagens SNMP
Inform-Request
Fornece uma informação de gerenciamento não solicitada. É
usado entre gerentes, porém, diferentemente do Trap, no caso
do Inform-Request existe a confirmação do recebimento da
mensagem.
Gerenciamento de Redes 25
Exemplo de Operação
Na figura temos um exemplo de operação,
primeiro uma ação do tipo Get-Request, que
retorna o nome do equipamento, em seguida uma
ação de GetNext-Request que retorna a
informação referente a versão do equipamento e
por último uma ação de Set-Request em um
objeto que é apenas leitura (read only) e portanto
a resposta de erro.
Gerenciamento de Redes 27
Gerenciamento de Redes 28
SNMP na Prática
Linux : netsnmp
Ferramentas de Gerenciamento em alto nível : HPOpenView,
NetView,
Nagios,
CiscoWorks 2000,
3Com Transcend,
Nortel ONMS
...
MRTG
Exemplos
Gerenciamento de Redes 29
SNMP – Razões do Sucesso
Interoperabilidade
Simplicidade
Pequena carga de processamento nos agentes (dumb agents)
...
Limitações de SNMP
Falta de segurança Esquema de autenticação trivial;
Limitações no uso do método SET.
Ineficiência Esquema de eventos limitado e fixo;
Operação baseada em pooling;
Comandos transportam poucos dados.
Gerenciamento de Redes 30
Limitações de SNMP
Falta de funções específicas MIB com estrutura fixa;
Falta de comandos de controle;
Falta de comunicação entre gerenciadores.
Não confiável: Baseado em UDP/IP;
Traps sem reconhecimento.
Gerenciamento de Redes 31
Gerenciamento de Redes 32
SNMP – Limitações do Modelo
Escalabilidade e eficiência
Aumento do overhead da rede
Aumento de atrasos (latência)
Capacidade de Processamento do gerente
Limite de segmento do gerente
Gerenciamento de Redes 33
SNMP – Limitações do Modelo
Escalabilidade e eficiência
Transferência ineficiente de grande quantidade de dados
Limitação do get-next
Get-bulk overshoot effect
Tamanho máximo de mensagem SNMP – datagrama UDP
Gerenciamento distribuído e hierárquico não suportado
Endereçamento verboso de OID’s
Ausência de mecanismos de compressão
Baixa eficiência do BER
Protocolo de transporte não confiável (UDP)
Gerenciamento de Redes 34
SNMP – Limitações do Modelo
Segurança
Mecanismo de comunidades limitado (v1/v2)
Não pode ser considerado como autenticação
Texto da comunidade trafega em claro
Configurações complexas no SNMPv3
Mecanismo de Chaves Compartilhadas inseguro (v3)
Dificuldade de atravessar Firewalls
Gerenciamento de Redes 35
SNMP – Limitações do Modelo
Gerenciamento Integrado e Configurações de
redes
Modelo de informações limitado
Não orientado a objetos
Não hierárquico
Difícil programação de Interfaces de Gerenciamento mais
aprimoradas devidos as limitações
Vulnerabilidade SNMP - Proteção
Aplicar patchs fornecidos pelo fabricante;
Utilizar aplicações SNMP somente onde seja
necessário;
Filtrar o acesso aos dispositivos gerenciados,
permitindo somente o tráfego a partir de seus
próprios servidores de gerenciamento;
Alterar o nome padrão das comunidades;
Isolar o tráfego de gerência em uma rede
específica, uma VLAN por exemplo.Gerenciamento de Redes 36
Vulnerabilidade SNMP - Proteção
Ataques mais comuns ao SNMP Uso da comunidade padrão: public;
Acesso externo público as portas do SNMP (161 e
162);
Permitir a opção de escrita no agente.
Soluções de Segurança Utilizar o SNMPv3 (nem sempre é possível pois
depende muitas vezes do fabricante);
Permitir acesso no agente apenas para o host
gerente;
Limitar o agente para somente leitura.
Gerenciamento de Redes 37André Luiz Bernardes