Administração e segurança de redes Aula 05 Protocolos de gerenciamento: CMIP e SNMP Prof. Diovani Milhorim SNMP e CMIP SNMP x CMIP O ambiente de gerenciamento OSI é composto por gerentes, agentes e objetos gerenciados. Um gerente transmite operações de gerenciamento aos agentes a fim de obter informações atualizadas sobre os objetos gerencidos e controlá-los. Um agente recebe as operações de gerenciamento emitidas pelo gerente e executa as ações necessárias sobre os objetos gerenciados. CMIP CMIP (Common Management Information Protocol) CMIS -> define os serviços para operações de gerenciamento CMIP -> define procedures para a transmissão de informações de gerenciamento e define a sintaxe para o serviço de gerenciamento do CMIS. CMIP As 11 PDUs que o CMIP utiliza: m-EventReport m-EventReport-Confirmed m-Get m-Linked-Reply m-Set m-Set-Confirmed m-Action m-Action-Confirmed m-Create m-Detete m-Cancel-Get-Confirmed CMIP Vantagens do CMIP O CMIP é um sistema muito mais seguro, como isto foi construído nos dispositivos de gerenciamento de segurança. O protocolo CMIP foi fundado por grandes corporações e governo. CMIP Desvantagens do CMIP O protocolo CMIP utiliza muito mais recursos de sistema do que o SNMP. Isto significa que muito poucos sistemas tem capacidade para manipular uma implementação completa do CMIP. CMIP é muito difícil para programar, ele possui muitas variáveis dificultando para o programador o compreendimento de todas elas. CMIP Diferenças entre SNMP e CMIP O elemento SNMP agente é muito mais simples do que o CMIP As duas arquiteturas adotaram a abordagem orientada a objetos (MIB) para descrever e especificar as informações nela armazenadas. As operações definidas para o SNMPv1 restringem-se às operações simples do tipo gat-and-set, com melhoras na definição do SNMPv2. O CMIP especifica um conjunto mais completo de operações Possibilidade de sincronizar operações realizadas sobre vários objetos. O SNMP é um protocolo não orientado a conexão e o CMIP é um protocolo orientado à conexão executado sobre toda a pilha de protocolos OSI de gerenciamento. O grande problema do CMIP é que se tornou um sistema muito grande e complexo que poucas redes conseguem suportá-lo. SNMP SNMP (Simple Network Management Protocol) Simples porque os recursos gerenciados necessitam de pouco processamento nas tarefas de gerenciamento; mínimo de software necessário Tarefas mais complexas de processamento e armazenagem de dados são de responsabilidade do sistema gerenciador Poucas funções de gerenciamento são pertinentes aos recursos gerenciados Para o protocolo ser simples existe um conjunto limitado de comandos e mensagens do protocolo possíveis Modelo SNMP Sistema de Gerenciamento Sistema Gerenciado Recursos Mensagens SNMP Gerente SNMP Agente SNMP UDP UDP IP IP Enlace Enlace Físico Físico Rede Trap Resposta Set Get Get-Next Objetos Gerenciados Trap Resposta Set Get-Next Get Aplicação de Gerenciamento SNMP SNMP - Aplicação Apresentação Sessão UDP - Transporte IP - Rede Local Network Header IP Header UDP Header Mensagem SNMP Datagrama UDP Datagrama IP Quadro no nível de enlace Local Network Trailer SNMP - Mensagens SNMP Protocol Data Units (PDUs) Mensagem SNMP • Versão + Comunidade (header de autenticação) • PDU 5 tipos de PDUs • GetRequest • GetNextRequest • GetResponse • SetRequest • Trap SNMP - Campos das Mensagens Versão Tipo de PDU Request ID Comunidade Status de Erro PDU GetRequest, GetNextRequest, GetResponse ou SetRequest Índice do Erro Objeto 1, Valor 1 Objeto 2, Valor 2 ... VarBind List Get, GetNext, Set e GetResponse têm o mesmo formato Trap tem formato exclusivo SNMP - Campos das Mensagens Campos Versão. Para garantir que gerente e agente estão executando a mesma versão do protocolo. Mensagens com versões diferentes são descartadas. Comunidade. Garante o acesso a um conjunto limitado de objetos da MIB. Caso exista diferenças na comunidade é emitido pelo agente uma trap que indica falha de autenticação Caso a versão e comunidade estejam consistentes então é processada a PDU logo a seguir SNMP - Campos das Mensagens Tipo de PDU. Inteiro que identifica a operação a ser processada • • • • • 0 - GetRequest; 1 - GetNextRequest; 2 - GetResponse; 3 - SetRequest; 4 - Trap Request ID. Inteiro que identifica pares de mensagens SNMP entre agente e gerente. SNMP - Campos das Mensagens Status de Erro. Identifica operações executadas com sucesso ou um dos cinco erros previstos • 0 (noError) - Operação sem erros • 1 (tooBig) - O tamanho da PDU GetResponse excede um limite local • 2 (noSuchName) - Não existe objeto com o nome requisitado • 3 (badValue) - Uma PDU SetRequest contém uma variável de tipo, tamanho ou valor inconsistente • 4 (readOnly) - Uma PDU SetRequest foi enviada para alterar o valor de um objeto read-only • 5 (genErr) - Erro genérico SNMP - Campos das Mensagens Índice do Erro. Indica a qual par objetovalor, passado na PDU, se refere o erro VarBind. Ligação entre um objeto e um valor; VarBind List: lista destas ligações Em GetRequest e GetNextRequest os objetos possuem valores associados igual a NULL (tipo de dado especial de ASN.1) Arquitetura de Gerenciamento Baseada na Web Interface de gerenciamento: browser Vantagem: Independência de plataforma Existem navegadores para todas as plataformas mais usadas As informação de gerenciamento são armazenadas em um WebServer O browser acessa o WebServer para obter tais informações Arquitetura de Gerenciamento Baseada na Web Browser A Web Server Browser C Browser B Arquitetura de Gerenciamento Baseada na Web Existem duas formas de gerenciamento Gerentes SNMP usando WebServers • O browser acessa um gerente que acessa as informações via SNMP • As informações são disponibilizadas em páginas HTML pelo gerente SNMP Agentes SNMP com HTTP • O browser acessa diretamente os recursos através do browser • O WebServer acessa os dados através de SNMP • Os dados são disponibilizados através de páginas HTML geradas pelo agente SNMP • O recurso gerenciado deve possuir capacidade de processamento para suportar ao mesmo tempo um WebServer e um agente SNMP Arquitetura de Gerenciamento Baseada na Web Browser HTTP HTTP Web Server Web Server Páginas HTML Páginas HTML SNMP Agente SNMP SNMP Agente SNMP Gerente SNMP Management Information Base (MIB) - Conceitos É uma base de dados conceitual Os dados podem estar realmente em um SGBD • ex.: Taxa de utilização de um link Os dados podem ser encontrados nos próprios recursos • ex.: Estado atual de uma interface Uma MIB é apresentada como uma árvore de dados estruturada Nodos intermediários contém sub-nodos, mas não contém nenhum valor associado Se um nodo não possui sub-nodos então ele é chamado de objeto e possui um valor associado Management Information Base (MIB) - Identificação Cada nodo possui um identificador (OID) O OID de um nodo é composto pelo OID de seu pai mais o seu próprio identificador relativo Raiz Nodo(1) Nodo(1) Objeto(1) Nodo(2) Nodo(2) Nodo(1) Objeto(2) Objeto(1) O nodo raiz da MIB não possui OID A árvore é percorrida em profundidade começando pelos ramos da esquerda e seguindo a direita Management Information Base (MIB) - Identificação O uso de número nos OIDs dificulta a compreensão de cada nodo da MIB Alternativamente, um OID pode ser substituído por um nome melhor explicativo: OID Name ex.: system = 1.3.6.1.2.1.1 ex.: sysUpTime = 1.3.6.1.2.1.1.3 Nas identificações, o OID e o OID Name podem ser utilizados conjuntamente ex.: sysUpTime = system.3 (MIB) Recursos Envolvidos Para executar o gerenciamento, o sistema utiliza várias fontes de informação em relação às MIBs Valores do dado acessado: agente no recurso gerenciado Descrição do dado acessado: arquivo de MIB Tipo do dado acessado: arquivo de MIB O que é um arquivo de MIB? Arquivo que descreve uma base de dados conceitual informando a descrição de cada dado, seu tipo e estruturação dentro da árvore Apenas o valor do dado é recuperado através do acesso aos agentes (MIB) Recursos Envolvidos Normalmente apenas o gerente necessita de um arquivo de MIB O agente não precisa se utilizar de um arquivo de MIB O gerente pode não conhece a natureza dos dados O arquivo pode ser compilador para que as informações sejam acessadas mais rapidamente Uso de um compilador de MIB pelo gerente Ele sempre sabe a natureza dos dados que está implementando Um arquivo de MIB é utilizado pelos agentes quando uma nova implementação é realizada, mas o arquivo serve apenas como documentação Com freqüência o termo “arquivo MIB” é referenciado apenas por MIB, o que pode gerar confusão Elementos do Gerenciamento Para que o gerenciamento possa ser implantado, temos necessariamente que utilizar os seguintes elementos: Gerente (estação de gerenciamento, sistema gerenciador) • Acessa dados de uma base localizada no sistema gerenciado Agente (recurso gerenciado, sistema gerenciado) • Exporta os dados da base de gerenciamento para que o gerente possa ter acesso aos mesmos Protocolo (ex.: SNMP) • Fornece o mecanismo de comunicação entre o gerente e agente Base de dados (ex.: MIB) • Os dados a serem gerenciados, seu valor, tipo e significado Bases de Gerenciamento Cada MIB define um conjunto de objetos que podem ser acessados pelos gerentes MIB-I (RFC 1066, RFC 1156) Publicada pela primeira vez em 1990 Apresentava objetos para gerenciamento genérico de equipamentos MIB-II (RFC 1158, RFC 1213) Definições da MIB-I foram expandida e melhoradas Permite expansão da MIB para melhoramentos específicos de empresas Bases de Gerenciamento Exemplo de base MIB MIB-II Dividida em três sub-árvores ccitt (0), administrada pelo CCITT iso (1), administrada pela ISO joint-iso-ccitt(2), pela ISO e CCITT iso(1), org(3), U.S. Departament of Defense: dod(6) e internet(1) Sobre internet temos: directory(1): reservado para uso da ISO mgmt(2): para gerenciamento genérico experimental(3): para experimentações private(4) com enterprises(1): para gerenciamento específico MIB-II Os objetos da MIB-II são encontrados no OID 1.3.6.1.2.1 ou mgmt.1 ou mib-2 system (mib-2.1): descrições gerais do sistema gerenciado interfaces (mib-2.2): gerenciamento das interfaces do sistema ip (mib-2.4): para gerenciamento a nível IP icmp (mib-2.5): objetos relativos ao protocolo ICMP tcp (mib-2.6): para gerenciamento de conexões TCP udp (mib-2.7): para gerenciamento de transmissões UDP snmp (mib-2.10): para gerenciamento do próprio SNMP SMI SMI - Structure of Management Information Conjunto de regras que define como uma MIB é especificada Definido na RFC1155 Melhoramentos na RFC1212 e RFC1215 Um arquivo de MIB usa a notação ASN.1 e as regras SMI para definir os objetos da MIB SMI define que cada objeto da MIB deve possuir: Um nome (OID) que identifica o objeto unicamente Uma sintaxe que identifica o tipo do objeto Uma codificação que descreve como as informações serão transmitidas