Você está na página 1de 18

CURSO DE BACHARELADO EM INFORMTICA

Universidade Catlica do Salvador

O Protocolo SNMP

Por Lcia de Souza Oliveira

SNMP

ndice

Pgina 2 .......................................... Pgina 3 e 4 .................................... Pgina 5 .......................................... Pgina 6 e 7 .................................... Pgina 8 .......................................... Pgina 9 e 10 .................................. Pgina 11 a 13 ................................ Pgina 13 e 14 ................................ Pgina 15 ........................................ Pgina 16 ........................................ Pgina 17 ........................................

O que SNMP? Histrico Estrutura Geral do Sistema e Funcionamento O Agente A MIB Protocolo de Gerenciamento O Gerente Formato SNMP Transmisso de uma Mensagem SNMP Recebimento de uma Mensagem SNMP Variveis Operaes do Protocolo SNMP Restries das Operaes Segurana Limitaes SNMP Concluso Bibliografia

SNMP

Introduo

Devido ao crescimento das redes de computadores que tm se tornado grandes redes interconectadas (internet), fez-se necessrio a criao de protocolos de gerenciamento que simplificasse o monitoramento dos equipamentos em uma rede de computadores. Alm disso, tornou-se necessrio haver integrao e comunicao entre os equipamentos a serem gerenciados e o administrador da rede, fornecendo a este as informaes necessrias para garantir que a integridade da rede seja mantida, bem como prevenir possveis falhas.

SNMP Universidade Catlica do Salvador Disciplina: Redes de Computadores Professor: Marco Antnio Aluna: Lcia Oliveira

1- O que SNMP? O SNMP (Simple Network Management Protocol) um protocolo de gerencia de redes cujo objetivo disponibilizar uma forma simples e prtica de realizar o controle dos equipamentos de uma rede de computadores. Definido em nvel de aplicao, O SNMP utiliza os servios do protocolo de transporte UDP (User Datagram Protocol) para enviar suas mensagens atravs da rede. Nos ltimos anos o SNMP tem dominado o mercado de sistemas de gerenciamento de redes devido, principalmente, a sua simplicidade de implementao, pois consome poucos recursos de redes e de processamento, o que permite a sua incluso em equipamentos bastante simples. O SNMP ajuda o administrador a localizar e corrigir erros ou problemas de uma rede. Atravs de agentes SNMP, o administrador da rede consegue visualizar estatsticas de trfego da rede e aps analisar esses dados o administrador pode atuar na rede, alterando a sua configurao. 2- Histrico do SNMP O SNMP foi desenvolvido no final dos anos 80 por um grupo da Internet Engineering Task Force (IETF) e teve sua origem em um protocolo para monitorao de gateways IP, o Simple Gateway Management Protocol (SGMP). O modelo SNMP possui uma abordagem genrica, podendo ser utilizado para gerenciar diferentes tipos de sistemas. Sua especificao est contida no RFC 1157. 1989: 1992: 1993: 1996: 1996: 1998: SNMP v1 Remote Monitoring RMON SNMP v2 SNMP v2c (Community Security) MIB RMON v2 SNMP v3 (User Security Model)

SNMP 3- Estrutura Geral do Sistema e Funcionamento O modelo de gerenciamento consiste em um esquema centralizado, isto , uma estao (host) configurada como gerente e os demais elementos da rede desempenham o papel de agentes. Um agente serve de procurador para aqueles equipamentos que no implementam o SNMP. Cada agente possui uma MIB que contm as variveis relativas aos objetos gerenciados.O modelo genrico compreende trs componentes: um conjunto de objetos gerenciados, correspondente a um agente e uma MIB associada; uma estao de gerenciamento de rede; um protocolo de gerenciamento de rede que usado pela estao gerente e pelos agentes na troca de informaes de gerenciamento

Gerente
SNMP

Agente

SNMP

MIB

Agente

MIB

Legenda: - Objeto Gerenciado MIB - Management Information Base SNMP - Simple Network Management Protocol Figura 1.0 Modelo de Gerenciamento SNMP

SNMP 3.1- Protocolo de Gerenciamento O protocolo de gerenciamento visto sob o paradigma de observao remota, isto , ele no transporta simplesmente operaes de gerenciamento que devem ser executadas pelos objetos gerenciados; cada objeto visto como uma coleo de variveis (MIB), cujo valor pode ser lido ou alterado, possibilitando, assim, a monitorao e o controle de cada elemento da rede. O agente, quando recebe a solicitao do gerente, encaminha as informaes ou altera valores das variveis que representam os objetos gerenciados. O agente pode, ainda, avisar o gerente da ocorrncia de algum evento no-previsto, encaminhando esses avisos na forma de traps. 3.2- O Gerente O gerente compreende um tipo de software que permite a obteno e o envio de informaes de gerenciamento junto aos mecanismos gerenciado mediante comunicao com um ou mais agentes. As informaes de gerenciamento podem ser obtidas com o uso de requisies efetuadas pelo gerente ao agente, como tambm, mediante envio automtico disparado pelo agente a um determinado gerente. Tipicamente um gerente est presente em uma estao de gerenciamento de rede. Devido natureza de intensos recursos de processamento consumidos pelos componentes, a aplicao gerente usualmente implementada em uma Workstation rodando sistema operacional multitarefa, tal como Unix ou Windows NT. Muitas vezes o dispositivo de rede (Workstation) destinado a abrigar a aplicao gerente dever disponibilizar uma grande quantidade de memria RAM, um considervel espao em disco, outros mecanismos de armazenamento secundrio e dispositivo de backup.

SNMP 3.3- O Agente O agente utiliza as chamadas de sistema para realizar o monitoramento das informaes do nodo e utiliza as chamadas de procedimento remoto (Remote Procedure Call- RPC) para o controle das informaes do nodo. Caso ocorra alguma exceo no nodo gerenciado o agente fica responsvel de notificar o gerente atravs de uma interrupo trap. Tambm compete ao agente efetuar a interface entre os diferentes mecanismos usados na instrumentao das funcionalidades de gerenciamento inseridos em um determinado dispositivo gerenciado.

3.4- MIB (Management Information Base)

As informaes que se encontram nos nodos agentes ficam organizadas em bases de informaes de gerncia chamadas Management Information Base (MIB) que so definidas em uma estrutura chamada Structure of Management Information SMI.A. SMI especifica como as informaes de gerncia sero agrupadas e denominadas, definindo os tipos de dados e sintaxe utilizada na MIB de forma a evitar a dependncia dos detalhes de implementao dos equipamentos utilizados em rede. A MIB pode ser definida como um conjunto gerencivel de recursos em determinado nodo. Ela formada por uma estrutura de rvore dividida por tipos de informao e contm as caractersticas de cada recurso que possam interessar a gerncia. Na MIB, os objetos gerenciados so representados por variveis que esto dispostas em uma estrutura hierrquica (rvore), onde as folhas definem a informao e os ns definem a estrutura. A MIB no contm os dados reais, apenas os organiza de forma adequada. Ela no guarda valores de instncia, desta forma quando um gerente requisita uma instncia, cabe ao agente realizar a consulta ao nodo e transmitir o valor correspondente. A identificao e a forma de representao dos objetos contidos na MIB so definidos na linguagem abstrata Abstract Syntax Notation One ASN.1, desenvolvida pelo rgo International Telecommunication Union (ITU) . Ela se caracteriza por representar as informaes sem levar em considerao as estruturas e restries dos equipamentos utilizados no sistema. Dessa maneira a linguagem ASN.1 tem como objetivo fornecer uma forma de representao genrica para a definio do formato das PDU trocadas pelo protocolo e dos objetos que so gerenciados. A identificao do objeto

SNMP referida por Object Identifier - OID e uma vez que o objeto registrado com um determinado OID ele no poder ser eliminado nem sua definio alterada. A MIB pode ter 3 classicaes possveis: MIB Padro: Possui um conjunto de objetos bem definidos, conhecidos e aceitos pelos grupos e padres Internet; MIB Experimental: Estas MIBs podem conter informaes especficas sobre outros elementos da rede e gerenciamento de dispositivos que so considerados importantes. Este termo experimental como se fosse um ensaio para a MIB se tornar padro; MIB Privada: So projetadas por empresas individuais exclusivamente para seus dispositivos de rede.

Internet(1)

Directory (1) mgmt (2) experimental (3) private (4)

Mib-2 (1)

system (1) interfaces (2) address transl (3) ip (4)

...

...

Figura 2.0 Estrutura Hierrquica da MIB

SNMP 4- Formato SNMP No SNMP, as informaes so trocadas entre uma estao de gerenciamento e um agente na forma de uma mensagem SNMP. Cada mensagem inclui o nmero da verso SNMP, o nome da comunidade para ser usado para esta troca e um de cinco tipos do Protocolo de Unidade de Dados (PDUs).

Campo Version Comunity Request-id Error-status

Descrio Verso SNMP; RFC 1157 verso 1 Uma PAIring de um agente SNMP com alguns conjuntos arbitrrios de entidades de aplicao SNMP Usado para distinguir entre requests OUStanding para cada request com ID nico Usado para indicar que uma exceo ocorreu quanto processava um request Quando um error-status no 0, error-index pode prover informaes adicionais indicando qual varivel na lista causou a exceo Uma lista de nomes de variveis e valores correspondentes Tipo do objeto gerador do Trap Tipo genrico do Trap Cdigo especfico do Trap Tempo ocorrido entre ltima (re) inicializao da rede e a gerao do Trap

Error-index

Varable-bindings Enterprise Geric-trap Specific-trap Time-stamp

SNMP

Verso

Comunidade

PDU SNMP

PDU 1

Tipo PDU Tipo PDU

Identificador Identificador

Variveis Variveis Variveis

PDU 2

Estado Erro Tipo de erro

PDU 3

Tipo PDU Tipo de Gerador

endereo Tipo de Cdigo Tempo agente trap especfico

Campo de variveis SMP

Nome 1

Valor 1 Nome 2 Valor 2

...

Nome n

Valor n

Figura 3.0 Mensagem SNMP

PDU 1: GetRequest, GetNextRequest PDU 2: GetResponse PDU 3: Trap 4.1- Transmisso de uma Mensagem SNMP Uma entidade SNMP realiza as seguintes aes para transmitir um de cinco tipos de PDU para outra entidade SNMP: a) O PDU construdo usando a estrutura ANS.1, definida no RFC 1157 b) Este PDU ento passado para um servio de autenticao, junto com o endereo de origem e destino e o nome da comunidade. O servio de autenticao realiza qualquer transformao para esta troca, assim como criptografia ou a incluso de um cdigo de autenticao e retorna o resultado. c) A entidade do protocolo ento constri a mensagem, consistindo de um campo verso, nome da comunidade, e o resultado do passo b. A leitura realizada atravs do transporte de variveis informadas pelo agente tendo como resposta os respectivos valores destas variveis. A escrita

SNMP envia uma lista de variveis informando os novos valores a serem adotados por estas mesmas variveis. Dispositivos diferentes contm informaes diferentes, alm disso, o conjunto de variveis (MIB) a ser adotado por um agente pode ser expandido ou alterado pelo administrador. Dessa forma realizada uma operao transversal (get-next) implementada pelo protocolo SNMP para informar o prximo valor contido na base de informaes, sendo que o gerente identifica o final da MIB atravs do retorno de um valor invlido. Para entender as regras da verso 1 do SNMP, as operaes de gerenciamento devero implementar processos para execuo das requisies: GetRequest, SetRequest e GetNextRequest PDUs (Protocolo de Unidade de Dados). 4.2- Recebimento de uma Mensagem SNMP Em princpio, uma entidade SNMP realiza as seguintes aes assim que recebe uma mensagem SNMP: Faz uma superviso na sintaxe bsica na mensagem e descarta a mensagem se ela falhar na comunicao; Verifica o nmero da verso e descarta a mensagem se incompatvel; A entidade do protocolo ento passa o nome do usurio, a parcela PDU da mensagem e a origem e destino do endereo de transporte para um servio de autenticao: a) Se a autenticao falha, o servio de autenticao avisa a entidade do protocolo SNMP, que descarta a mensagem; b) Se a autenticao tem sucesso, o servio de autenticao retorna na forma de um objeto ANS.1.

A entidade do protocolo faz uma superviso na sintaxe bsica do PDU. Por outro lado, usando o nome da comunidade, o plano de acesso SNMP apropriado selecionado e o PDU processado de acordo. O SNMP possui um controle de limite de tempo (time-out) para o recebimento de uma mensagem que executado em paralelo com as demais funes de gerncia, permitindo que a aplicao de gerncia no fique dependendo de uma mensagem de um nodo falho e detectando a falha de comunicao entre nodos. -

10

SNMP 4.3- Variveis (Variable-bindings) Toda operao envolve acesso a uma instncia de objeto. Somente objetos folhas na rvore de instncia de objetos podem ser acessados, isto , somente objetos escalares. Entretanto, possvel em um grupo SNMP um nmero de operaes do mesmo tipo (Get, Set, Trap) em uma mensagem simples. Assim, se uma estao de gerenciamento quer receber os valores de todos objetos escalares em um grupo particular para um agente particular, ele pode enviar uma mensagem simples requerendo todos os valores e recebendo uma resposta, listando os valores. Para implementar trocas de mltiplos objetos, todos os objetos da PDU SNMP incluem um campo de ligao de variveis. Estes campos consistem de uma seqncia de referncias a instncias de objetos, junto com o valor destes objetos.

5- Operaes do protocolo SNMP As operaes de gerenciamento so componentes da Aplicao Gerente que controlam e monitoram os agentes pertencentes comunidade de um determinado domnio de gerenciamento. As operaes de gerenciamento podem ler e escrever em variveis da MIB da cada aplicao agente para gerenciar o dispositivo de rede. As operaes de gerenciamento podem tambm armazenar informaes de gerenciamento recuperadas junto as aplicaes agentes em uma MIB prpria e/ou em um Banco de Dados. O gerente SNMP realiza basicamente duas funes durante a gerncia: leitura de valores (get): monitoramento das caractersticas do nodo escrita de valores (set): controle das caractersticas do nodo

A troca de mensagens no SNMP ocorre atravs das PDUs (Protocol Data Units) utilizadas pelo protocolo para a troca de informaes entre os diversos elementos da gerncia e a estrutura utilizada para o transporte de variveis. Os tipos de PDUs so: Get (recuperar o valor da varivel) Set (alterar valor da varivel) Get-next (recuperar o valor da prxima varivel) Trap (notificao)

11

SNMP Para realizar as operaes o protocolo SNMP utiliza cinco tipos de PDU: Get Request GetNextRequest SetRequest GetResponseTrap

O GetRequest PDU emitido por uma entidade SNMP e de interesse de uma estao de gerenciamento de rede de uma aplicao. A entidade de transmisso inclue os seguintes campos na PDU: Tipo PDU: indicando que este um GetRequest PDU; Request-id: a entidade de transmisso determina nmeros de tal maneira que cada request seja nico para cada agente. O request-id habilita a aplicao SNMP para resposta de entrada correlativa com request (pedido). Variable-bindings: Uma lista de instncias de objetos cujos valores so requeridos A entidade de recebimento SNMP responde ao GetRequest PDU com um GetResponse PDU contendo o mesmo Request-id. A operao GetRequest atmica: todos os outros valores so recuperados ou nenhum . O GetNextRequest PDU quase idntico para todos GetRequest PDU. Ele tem o mesmo mdulo de troca e o mesmo formato que o GetRequest PDU. A nica diferena que no GetRequest PDU, cada varivel na lista de ligao de variveis referencia uma instncia de objetos de quem o valor retornado. No GetResponse PDU, para cada varivel, a resposta retorna o valor da instncia do objeto. O SetRequest PDU emitido por uma entidade SNMP sob interesse de uma aplicao da estao de gerenciamento. Tem o mesmo padro de troca PDU e o mesmo formato que o GetRequest PDU. A diferena que o SetRequest usado para gravar um valor de objeto, mais propriamente para l-lo. Assim, a lista de ligao de variveis no SetRequest PDU inclui ambos identificadores da instncia de objetos e um valor para ser definido para cada instncia da lista. A entidade SNMP de recebimento responde a um SetRequest PDU com um GetResponse PDU contendo o mesmo request-id. Se a entidade de resposta capaz de estabelecer valores para todas as variveis listadas na entrada da lista de variveis, ento o GetResponse PDU inclui o campo variveis de ligao com um valor que fornecido para cada varivel. A Trap (notificao) PDU emitida por uma entidade SNMP como representante de uma aplicao do gerente. Ela usada para prover a estao de gerenciamento com uma notificao assncrona de alguns eventos

12

SNMP significantes. Seu formato completamente diferente dos outors PDUs SNMP. Os campos so: Tipo da PDU: indica que este um GetRequest PDU; Enterprise: identifica o subsistema de gerenciamento de rede que gerou a trap. O valor pego do SysObjectID no grupo sistema; Agente addr: contm o endereo IP do objeto gerador da trap; Trap genrico: contm um dos tipos pr-definidos; Trap especfico: contm um cdigo que indica mais especificamente a origem da trap; Time-stamp: contm o tempo entre a ltima reinicializao da entidade da rede que emitiu o trap e gerao do trap; Variable-bindings: contm informaes adicionais a trap

6- Restries das Operaes Permitem somente inspeo e/ou alterao de variveis A estrutura da MIB no pode ser alterada pelas operaes Somente podem ser acessados valores escalares em cada operao

7- Segurana no Protocolo SNMP O protocolo SNMP pode realizar operaes de reconfigurao na rede alterando caractersticas de equipamentos ou at desligando mquinas, sendo que no existe qualquer mecanismo de segurana aplicado ao contedo das mensagens. O controle feito atravs da verificao do contedo de um campo especial no pacote do SNMP denominada comunidade. A comunidade definida como sendo o relacionamento entre duas entidades do SNMP. Ela definida como um conjunto de bytes formando caracteres ASCII que sero utilizados para efetuar este relacionamento. Dessa forma, quando realizada a comunicao entre duas entidades do SNMP, a entidade destinatria da mensagem realiza a verificao do contedo da comunidade para averiguar se esta informao proveniente do remetente indicado.

13

SNMP Agent: Community Names

SNMP

AIX: /etc/snmpd.conf
-

community name><address><mask><permissions><view> community public 146.84.47.160 255.255.255.255.0 read only 1.17.2 community private 146.84.47.160 255.255.255.255.255 readwrite view 1.17.2 system enterprises view

Figura 4.0- Community

Atravs da comunidade possvel que o agente realize uma verificao da integridade do agente realizando autenticao e polticas de acesso (agente controla que diferentes gerentes podem obter diferentes variveis da MIB) atravs deste campo. O mais importante no entendimento de comunidade, que sem o conhecimento prvio da comunidade de um determinado equipamento gerencivel, ser impossvel a qualquer aplicao de gerncia acessar as informaes da MIB. Outra considerao importante que um equipamento pode ter mais de uma comunidade configurada, como uma com direitos de leitura, escrita e trap. Portanto, um mesmo equipamento poder contar com trs strings de comunidade diferentes. Isto tem o objetivo de se aumentar a segurana no acesso aos equipamentos. No exemplo, o arquivo snmpd.conf onde se pode configurar o acesso que se quer fornecer s estaes gerente quando realizam a requisio SNMP. Pode-se limitar o acesso com read-only e read-write. Com esse tipo de autenticao, o acesso a MIB se torna pouco seguro, devido principalmente a: Identificao da origem: a comunidade transmitida sem qualquer proteo Integridade da mensagem: ao ser interceptada a mensagem no garante qualquer proteo referente ao contedo Tempo-limite: perodo de tempo que a mensagem pode ficar presa por algum servio Privacidade: qualquer servio pode monitorar uma comunicao entre entidades SNMP Autorizao: no h controle de autorizao de acesso aos dados da MIB

14

SNMP 8- Limitaes de SNMP Falta de segurana Esquema de autenticao trivial Limitaes no uso do mtodo SET Ineficincia Esquema de eventos limitado e fixo Operao baseada em pooling Comandos transportam poucos dados Falta de Funes Especficas MIB com estrutura fixa Falta de comandos de controle Falta de comunicao entre gerenciadores No Confivel Baseado em UDP/IP Trap sem reconhecimento

9- SNMPv2 e SNMPv3 Visando obter melhorias com relao aos aspectos de segurana foram desenvolvidas novas verses do SNMP. A segunda verso, o SNMPv2 contm mecanismos adicionais para resolver os problemas relativos segurana como: privacidade de dados, autenticao e controle de acesso. A terceira verso, o SNMPv3 tem como objetivo principal alcanar a segurana, sem esquecer-se da simplicidade do protocolo, atravs de novas funcionalidades como: Autenticao de privacidade Autorizao e controle de acesso Nomes de entidades Pessoas e polticas Usernames e gerncia de chaves Destinos de notificaes Relacionamentos proxy Configurao remota

15

SNMP

Concluso

O protocolo SNMP um modelo simples de gerenciamento de rede de fcil implementao, pois gera pouco trfego de informaes. Alm disso, seu design simples facilita ao usurio programar as variveis que ele gostaria de monitorar. Porm, por ser to simples, a informao que o SNMP manipula atravs das variveis no nem detalhada nem to organizada o suficiente para as necessidades das redes a partir de 1990 e, alm disso, no garante muita segurana a rede. Com o surgimento das novas verses o SNMPv2 e SNMPv3, foram realizadas alteraes na especificao do protocolo, tais como a forma de representao das variveis, e incluso de novos tipos de PDUs e o retorno dos tipos de erros, que acabaram por tirar a simplicidade do protocolo . Entretanto, o SNMP amplamente usado sendo que a maioria dos fabricantes de hardware para internet (como bridges e roteadores) projetam seus produtos para suportar o SNMP.

16

SNMP

Bibliografia

Sites: http://pucmgmt.metropoa.tche.br/ http://www.ieee.org http://homer.span.ch/~spaw2724/SNMP/Portugues/ http://ppgiapucpr.br/~mazieiro/ Livro: Embratel, Empresa Brasileira de Telecomunicaes- editora MARKRON Books- 2 edio Revisada e Ampliada

17