GESTÃO DE SISTEMAS E REDES SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP)
OUTLINE SIMPLE NETWORK MANAGEMENT PROTOCOL ESTRUTURA DA INFORMAÇÃO DE GESTÃO PROTOCOLO SNMPV1 SNMPV2 SNMPV3 SNMP NO IOS SNMP NO PACKET TRACER
SIMPLE NETWORK MANAGEMENT PROTOCOL O SNMP é um protocol desenhado não para fornecer aplicações aos utilizadores sobre a Internet tal como o SMTP, FTP, HTTP, etc.. mas sim para gerir todos os equipamentos de rede e protocolos que compõem a Internet. A Internet é composta por um vasto leque de equipamentos, entre os quais, bridges, routers de subredes, gateways de acesso, routers/gateways internos, ligações e subsistemas de comunicação, entre outros. Claramente, em qualquer ambiente de rede, se uma falha ocorre e o serviço é interrompido, os utilizadores vão esperar que a falha seja recuperada e que o serviço seja reposto o quanto antes. A este processo denomina- se fault management. (gestão de falhas)
SIMPLE NETWORK MANAGEMENT PROTOCOL Do mesmo modo, se a performance da rede por exemplo, o tempo de resposta ou throughput começa a deteriorar- se devido ao aumento de tráfego em determinados troços da rede, os utilizadores vão esperar que esse problema seja detectado e que equipamento adicional seja incluído nesses pontos para aliviar a carga existente. Este é um exemplo de performance management (gestão de performance). Para além disso, todos os protocolos associados ao TCP/IP têm parâmetros operacionais associados, tais como parâmetros TTL associados com o IP e tempos de retransmissão associados com o TCP. Sempre que a rede se expande, tais parâmetros devem ser atualizados ainda enquanto a rede está operacional. Este tipo de operação denomina- se de layer management (gestão de camada). Outros incluem ainda name management, security management e accounting management.
SIMPLE NETWORK MANAGEMENT PROTOCOL Relacionado com cada elemento gerível um protocolo, um router, uma bridge, etc... existe um conjunto de informação relacionada com a própria gestão. Esse conjunto incluí variáveis conhecidas como managed objects que podem ser tanto lidos como escritos pelo gestor da rede, através da mesmas. Estes sistemas incluem ainda um conjunto de relatórios de falhas (fault reports) que são enviados por um elemento gerível sempre que ocorre uma falha. No caso do IP, por exemplo, uma variável de leitura pode estar relacionada com o número de datagramas/pacotes descartados quando o TTL expirou, enquanto que uma variável de escrita pode ser o próprio TTL.
SIMPLE NETWORK MANAGEMENT PROTOCOL O SNMP é assim um protocolo aplicacional que requer o uso de uma plataforma de comunicação standard que permita que mensagens associadas (PDUs) sejam transferidas concorrentemente com as mensagens relacionadas com os serviços dos utilizadores. Para permitir tal concorrência, o SNMP utiliza os mesmos protocolos TCP/IP que as aplicações dos utilizadores. A figura do próximo slide demonstra o esquema.
SIMPLE NETWORK MANAGEMENT PROTOCOL
SIMPLE NETWORK MANAGEMENT PROTOCOL O papel do SNMP é permitir que o processo de gestão (manager process) na estação de gestão (manager station) troque mensagens relacionadas com a gestão com os vários processos de gestão referidos como management agents em execução nos vários elementos geríveis (hosts, routers, etc...). O processo de gestão destes elementos é escrito para executar as funções de gestão definidas para aquele elemento. A informação de gestão, associada a uma rede/internet é mantida na estação de gestão da rede (network management station) numa management information base (MIB).
SIMPLE NETWORK MANAGEMENT PROTOCOL Um gestor de rede é equipado com um conjunto de serviços para: questionar a informação contida na MIB, iniciar a entrada e coleção de informação adicional, iniciar modificações à configuração da rede, Claramente, a estação de gestão é o nervo central de toda a rede e, como tal, são nesta implementados fortes mecanismos de segurança e autenticação. Geralmente, existem diferentes níveis de autoridade dependendo da operação a realizar. Em grandes redes como a Internet, múltiplas estações de gestão são utilizadas, onde cada uma é responsável por uma parte da Internet. Exemplos incluem cada rede de acesso a campus/empresas, cada rede regional/nacional, a rede de backbone, etc...
OUTLINE SIMPLE NETWORK MANAGEMENT PROTOCOL ESTRUTURA DA INFORMAÇÃO DE GESTÃO PROTOCOLO SNMPV1 SNMPV2 SNMPV3 SNMP NO IOS SNMP NO PACKET TRACER
ESTRUTURA DA INFORMAÇÃO DE GESTÃO O software de gestão existente em cada elemento da rede mantem um conjunto de variáveis objetos geríveis que estão acessíveis pelo processo de gestão da rede utilizando SNMP. Nalgumas instâncias a variável pode apenas ser lida, enquanto noutras pode ser escrita. A MIB contem um conjunto similar de variáveis, refletindo cada um o valor/estado corrente da mesma variável no elemento gerível.
ESTRUTURA DA INFORMAÇÃO DE GESTÃO Claramente, numa rede de larga escala, os equipamentos geríveis podem provir de diferentes vendedores, cada um com uma arquitetura distinta. Assim, uma vez que toda a informação de gestão relacionada com cada equipamento é para ser processada por um único processo de gestão, é essencial garantir que a informação de gestão processada tem o mesmo significado na estação de gestão e na máquina onde foi gerada. Arquiteturas distintas podem refletir dados opostos. (ex: big ending, little ending, etc...) Uma forma de alcançar tal homogeneidade é definir um tipo de dados fixo para os objetos geridos. Um exemplo, é a norma ASN.1, globalmente utilizada.
ESTRUTURA DA INFORMAÇÃO DE GESTÃO A atual versão da MIB para a Internet é a MIB- II e é definida no RFC 1213. Os tipos de dados de todas as variáveis na MIB são um subconjunto dos tipos ASN.1, nomeadamente:
ESTRUTURA DA INFORMAÇÃO DE GESTÃO O campo OBJECT IDENTIFIER é utilizado para identificar um objeto gerível, no contexto de uma nomenclatura em árvore internacional.
ESTRUTURA DA INFORMAÇÃO DE GESTÃO Como podemos observar, cada ramo da árvore é identificado por um nome e um número. Um nó especifico é depois identificado pela label e pelo número ou simplesmente pelo número, a começar pela root. Deste modo, todos os objetos geríveis, no âmbito da Internet, são unicamente identificados na MIB. Todos esses objetos começam então por: iso(1)org(3)dod(6)internet(1)mgmt(2)mib- 2(1)... Ou, mais comum: 1.3.4.1.2.1...
ESTRUTURA DA INFORMAÇÃO DE GESTÃO Cada equipamento gerível e os vários objetos geríveis associados a este, são definidos utilizando a árvore de nomes de objetos apresentada anteriormente. O grupo system(1) contém um número de variáveis, entre as quais: o nome do equipamento o fabricante do equipamento o hardware e o software incluído o nome de domínio a localização na internet. Cada objeto gerível pode ser definido tanto como uma entidade individual ou como membro de um grande grupo de objetos relacionados. Grupos de objetos relacionados podem ainda ser agrupados em módulos.
ESTRUTURA DA INFORMAÇÃO DE GESTÃO Cada definição de um objeto gerível é apresentada na forma de uma macro com um mínimo de quatro parâmetros definidos. Um exemplo de objeto...
ESTRUTURA DA INFORMAÇÃO DE GESTÃO Como se pode verificar, o nome do objeto precede a palavra reservada OBJECT TYPE. Os significados dos quatro parâmetros são: SYNTAX define o tipo de dados do objeto; MAX- ACCESS define se a variável é read- only ou read- write; STATUS indica se a variável está ativa ou obsoleta; DESCRIPTION uma string que descreve para que é usado o objeto.
ESTRUTURA DA INFORMAÇÃO DE GESTÃO Quando um número de grupos é definido como um módulo, o mesmo é definido utilizando uma macro que começa com MODULE- IDENTITY. Os parâmetros incluem o nome e o endereço de quem implementou o módulo e o seu histórico de revisões. Esses parâmetros são seguidos por um OBJECT- IDENTITY que identifica onde o módulo está localizado na árvore de objetos, seguido de uma lista de macros OBJECT TYPE.
ESTRUTURA DA INFORMAÇÃO DE GESTÃO Como mencionado anteriormente, cada elemento da MIB é unicamente identificado e alguns exemplos do groupo ip são mostrados de seguida. Como podemos observar, um objeto pode ser apenas uma simples variável com um simples valor. Atenção que objetos na cauda, mas que não no último nível, levam o sufixo.0, seguindo a nomenclatura do SNMP na Internet.
OUTLINE SIMPLE NETWORK MANAGEMENT PROTOCOL ESTRUTURA DA INFORMAÇÃO DE GESTÃO PROTOCOLO SNMPV1 SNMPV2 SNMPV3 SNMP NO IOS SNMP NO PACKET TRACER
PROTOCOLO Como podemos deduzir pela secção anterior, a gestão de um item de um elemento gerível (host, router, etc..) envolve o processo de gestão a ler o atual valor de um conjunto de variáveis (objetos geríveis) geridas por um agente e ainda a transmissão de valores a esse mesmo agente para o processo inverso, ou seja, a escrita. O processo envolve ainda a recepção de relatórios de faltas enviado pelo agente do equipamento onde estes ocorrem. Para implementar essas funcionalidades, foi definido um protocolo request- response, suportado pelo SNMP e ainda um comando separado para mensagem de reporte de falhas.
PROTOCOLO Cada mensagem SNMP é transferida via Internet como uma entidade separada (datagrama), utilizando UDP. O porto de envio de pedidos SNMP é o 161, enquanto que o porto 162 é utilizado na estação de gestão para a recepção. Como se pode deduzir, a utilização de UDP não oferece quaisquer garantias de entrega. Assim, sempre que necessário, é incluindo um temporizador que despoleta o envio sempre que uma resposta não é obtida.
PROTOCOLO SNMPV1 As cinco mensagens do SNMPv1 são as seguintes: Get- request - é utilizado pelo gestor para obter os valores atuais de uma ou mais variáveis de um agente. Get- response é a resposta do agente ao get- request. O nome/identidade de cada variável está na sua forma numérica, enquanto que os valores codificados com ASN.1. Get- next- request é utilizado pelo manager para obter a próxima variável localizada na árvore de nomes da MIB. A resposta segue num Get- response. Set- request é utilizado pelo manager para escrever um determinado conjunto de valores nas variáveis correspondentes. Trap é utilizado pelo agente para notificar o manager de um evento previamente ocorrido. O tipo de evento é identificado no cabeçalho, bem como o valor e o timestamp da ocorrência.
PROTOCOLO SNMPV1
PROTOCOLO SNMPV1
PROTOCOLO SNMPV2 O SNMP tem evoluído, surgindo a v2 e v3. Na versão 2 (RFC 1441) surgiu uma nova mensagem Get- bulk- request. Esta mensagem foi adicionada para permitir obter grandes tabelas com maior eficiência. Na mesma versão foi ainda adicionada uma nova mensagem Inform- request, que permite a troca de informação entre managers. Com base na mensagem anterior foi adicionada uma segunda MIB para gerir as variáveis associadas com a comunicação manager- to- manager. Adiciona ainda a encriptação da password enviada na versão 1, no campo community, em clear text.
PROTOCOLO SNMPV3 Na versão v3, não são adicionadas novas funcionalidades ou mensagens. No entanto é reforçada a componente de segurança, nomeadamente em termos de encriptação e autenticação de utilizadores. O SNMPv3 adiciona o módulo User- based Security Model (USM) para incrementar a segurança das mensagens, Adiciona ainda o View- based Access Control Model (VACM) para controlo de acesso. A arquitetura do SNMPv3 suporta o uso concorrente de diferentes modelos de segurança, controlo de acesso e processamento de mensagens.
PROTOCOLO SNMPV3 O v3 adiciona ainda a capacidade para configurar dinamicamente um agente SNMP utilizando o SNMP SET nos objetos da MIB desse mesmo agente. O SNMPv3 fornece segurança no acesso aos dispositivos utilizando autenticação e encriptação dos pacotes sobre a rede. O SNMPv3 é um standard interoperável definido nos RFCs 3413 e 3415. As características de segurança fornecidas pelo SNMPv3 são: Integridade das mensagens Garante que um pacote não foi alterado. Autenticação Determina que a mensagem é de uma fonte válida. Encriptação Baralha o conteúdo de um pacote para prevenir que o mesmo seja visualizado por fontes não autorizadas.
PROTOCOLO O SNMPv3 é assim um modelo de segurança no qual uma estratégia de autenticação é atribuída a um utilizador e ao grupo no qual reside. Um nível de segurança é o nível permitido de segurança num determinado modelo de segurança. A combinação de um modelo de segurança com um nível de segurança determina qual o mecanismo de segurança utilizado no manuseamento dos pacotes SNMP. SNMPV3
PROTOCOLO SNMPV3 A tabela seguinte resume a combinação entre os modelos e níveis de segurança do SNMPv3 Nível Autenticação Encriptação O que acontece noauthnopriv Username No Utiliza um username para garantir autenticação authnopriv MD5 ou SHA No Fornece autenticação com base numa hash authpriv MD5 ou SHA DES Fornece autenticação e encriptação.
PROTOCOLO SNMPV3 Com base nos nível de segurança anteriores, podem surgir uma série de erros, se o as mensagens SNMP recebidas apresentarem níveis diferentes. Nível Nível de Erro RFC 3414 Erro da CISCO configurado segurança do pacote recebido noauthnopriv noauthnopriv sem erros sem erros authnopriv unsupportedsecuritylevel unknownusername authpriv unsupportedsecuritylevel unknownusername
(Continuação da tabela anterior) PROTOCOLO SNMPV3 Nível Nível de Erro RFC 3414 Erro da CISCO configurado segurança do pacote recebido authnopriv noauthnopriv AUTHORIZATION_ERROR unknownusername authnopriv com sem erro sem erro pwd correta authnopriv com wrongdigest unknownusername pwd incorreta authpriv unsupportedsecuritylevel unknownusername
(Continuação da tabela anterior) PROTOCOLO SNMPV3 Nível Nível de Erro RFC 3414 Erro da CISCO configurado segurança do pacote recebido authpriv noauthnopriv AUTHORIZATION_ERROR unknownusername authnopriv com AUTHORIZATION_ERROR unknownusername pwd correta authnopriv com AUTHORIZATION_ERROR unknownusername pwd incorreta authpriv com pwd autenticação e encriptação correta sem erro sem erro
(Continuação da tabela anterior) Nível Nível de segurança do pacote configurado recebido authpriv authpriv com pwd (continuação) autenticação correta e encriptação incorreta authpriv com pwd autenticação incorreta e encriptação correta authpriv com pwd autenticação incorreta e encriptação incorreta Erro RFC 3414 sem resposta wrongdigest wrongdigest PROTOCOLO SNMPV3 Erro da CISCO sem resposta unknownusernam e unknownusernam e
OUTLINE SIMPLE NETWORK MANAGEMENT PROTOCOL ESTRUTURA DA INFORMAÇÃO DE GESTÃO PROTOCOLO SNMPV1 SNMPV2 SNMPV3 SNMP NO IOS SNMP NO PACKET TRACER
SNMP NO IOS NOTAS Para configurar um utilizador SNMP, devemos especificar um grupo de SNMP ou uma tabela que mapeie os utilizadores de SNMP para views. De seguida, devemos especificar o endereço IP ou a porta do agente SNMP existente no dispositivo onde o utilizador reside. O ID do agente SNMP é necessário para gerar a computar a autenticação e os digests de privacidade para a password SNMP. Se o SNMP engine ID remoto não for configurado primeiro, o comando de configuração irá falhar. As passwords SNMP são localizadas utilizando o SNMP engine ID do SNMP engine oficial.
SNMP NO IOS NOTAS Para as notificações SNMP, tais como inform requests, o agente SNMP oficial é o agente remoto. O utilizador SNMP não pode ser removido se o engine ID for modificado depois de configurar o utilizador SNMP. Não existem valores por defeito para autenticação ou algoritmos de privacidade. Também não existem passwords por defeito. O tamanho mínimo para uma password é um caractere, sendo recomendado pelo menos 8. Se a password for perdida a mesma não pode ser recuperada e será necessário configurar novo utilizador.
SNMP NO IOS CONFIGURAÇÃO Para configurar o SNMP no Packet Tracer é necessário criar um SNMP server group e depois um utilizador a esse grupo. Resumindo os passos: 1. enable 2. config t 3. snmp- server group [op] 4. snmp- server engineid {op} 5. snmp- server user 6. end
Passo 1 Passo 2 Passo 3 Passo 4 Comando Objetivo SNMP NO IOS CONFIGURAÇÃO DETALHADA enable Ativa o modo privilegiado Ex: Device> enable config t Entra em modo de configuração Ex: Device# configure terminal global snmp- server group [group- name {v1 v2c v3 Configura o SNMP server group [auth noauth priv]}] [read read- view] [write ativando autenticação para write- view] [notify notify- view] [access access- list] membros de determinada lista de acesso. Ex: Device(config)# snmp- server group gsr1 v3 auth access lmnop snmp- server engineid {local engine- id remote Configura o SNMP engine ID ip- address [udp- port udp- port- number] [vrf vrf- - Neste exemplo é configurado name] engine- id- string} um engine ID remoto. Ex: Device(config)# snmp- server engineid remote 172.16.15.4 udp- port 120 1a2833c0129a
Passo 5 Passo 6 Comando Objetivo SNMP NO IOS CONFIGURAÇÃO DETALHADA snmp- server user user- name group- name [remote Adiciona um novo utilizador ao ip- address [udp- port port]] {v1 v2c v3 grupo SNMPv3 e configura uma [encrypted] [auth {md5 sha} auth- password]} password para o mesmo. [access access- list] Ex:Device(config)# snmp- server user user1 gsr1 v3 auth md5 password123 end Sai do modo de configuração global Ex: Device(config)# end
SNMP NO IOS CONFIGURAÇÃO DETALHADA Para verificar a configuração SNMPv3 é possível executar os seguintes comandos: enable config t show snmp group show snmp user [username] show snmp engineid
SNMP NO IOS OUTROS EXEMPLOS Para permitir que o SNMP manager aceda a todos os objetos com permissões read- only: Device(config)# snmp- server community public Configurar um utilizador remoto para receber traps no modo noauthpriv: Device(config)# snmp- server group group1 v3 noauth Device(config)# snmp- server user remoteuser1 group1 remote 10.12.8.4 Device(config)# snmp- server host 10.12.8.4 informs version 3 noauth remoteuser config Configurar um utilizador remoto para receber traps no modo authnopriv: Device(config)# snmp- server group group2 v3 auth Device(config)# snmp- server user AuthUser group2 remote 10.12.8.4 v3 auth md5 password1 Configurar um utilizador remoto para receber traps no modo priv: Device(config)# snmp- server group group3 v3 priv Device(config)# snmp- server user PrivateUser group3 remote 10.12.8.4 v3 auth md5 password1 priv access des56
OUTLINE SIMPLE NETWORK MANAGEMENT PROTOCOL ESTRUTURA DA INFORMAÇÃO DE GESTÃO PROTOCOLO SNMPV1 SNMPV2 SNMPV3 SNMP NO IOS SNMP NO PACKET TRACER
SNMP NO IOS Como já é normal, o Packet Tracer apresenta algumas limitações. No SNMP não é exceção. No entanto, é possível configurar os diversos dispositivos SNMP agents, consultando a informação através de qualquer MIB Browser, instalado nos clientes. Como tal, execute os seguintes comandos: No router 2 entre em modo de configuração global e crie uma comunidade para read- only e read- write. Device(config)# snmp- server community gsr1 ro Device(config)# snmp- server community gsr2 rw Device(config)# end Device# write
De seguida, num PC da mesma rede, entre em Desktop - > MIB Browser Selecione Advanced e configure com os dados inseridos anteriormente. SNMP NO IOS
Configurado o servidor SNMP, no MIB Browser selecciona- se o OID pretendido, nomeadamente: MIB Tree - > router_std MIBs- >.iso- >.org- >.dod- >.internet- >.mgmt- >.mib- 2- >.system Clique em GO. SNMP NO IOS
THE CUTTING EDGE COURSE RMSILVA AT UAL DOT PT Capítulo 8 secção 8.7: FRED HALSALL, Computer Networking and the Internet, Fifth Edition, ADDISON WESLEY, 2005 http://www.cisco.com/c/en/us/td/docs/ios- xml/ios/snmp/configuration/xe- 3se/3850/snmp- xe- 3se- 3850- book/nm- snmp- snmpv3.html