COMPREENDENDO A IMPORTÂNCIA DO PROTOCOLO DE GERENCIAMENTO SNMP César Augusto Vieira1, Júlio César Pereira2 1 Universidade Paranaense (Unipar) Paranavaí – Paraná – Brasil [email protected] [email protected] Resumo. Este artigo descreve o uso do Nagios e Zabbixno gerenciamento de redes utilizadoresdo protocolo SNMP para armazenamento de informações sobre o ativo de rede. Justifica-se pela complexidade das redes. Objetivou-se: apresentar o protocolo SNMP (Simple Network Management Protocol); comparar as funcionalidades do SNMP com os dois softwares de monitoramento de redes, ambos na versão free. Trata-se de pesquisa descritiva, bibliográfica, para comprovar a versatilidade do SNMP no gerenciamento de redes. Alcançou como resultados conclusivos: SNMP é um protocolo de gerência de redes que disponibiliza forma simples e prática de controle dos equipamentos de uma rede de computadores. 1.Introdução Inicialmente, as redes de computadores foram concebidas para o compartilhamento de dispositivos periféricos tais como drivers de alta velocidade, impressoras, dentre outros, existindo apenas em ambientes acadêmicos, governamentais e algumas empresas de grande porte. Entretanto, a rápida evolução das tecnologias de redes, aliada à grande redução de custos dos recursos computacionais, motivou a proliferação das redes de computadores por todos os segmentos da sociedade. A época atual é marcada pela velocidade e pelo compartilhamento de informações entre muitos,com o uso de muitos dispositivos, simultaneamente. [LOPES, 2007, p. 7] Entretanto, embora o contexto atual esteja caracterizado de tal maneira, o maior desafio para profissionais de informática é tornar todo este processo seguro. Logo, o presente trabalho objetivou destacar a importância do desenvolvimento e implementação de softwares de redes voltados para a segurança. Conforme aponta Oliveira [2012, p. 3] o SNMP [Simple Network Management Protocol] é um protocolo de gerência de redes cujo objetivo é disponibilizar uma forma simples e prática de realizar o controle dos equipamentos de uma rede de computadores. 2. Metodologia Para este trabalho fora realizada revisão bibliográfica em revistas, livros, em artigos e sítios da internet. O passo posterior fora em uma máquina virtual baixar os sistemas Nagios e Zabbix para observar seu funcionamento e descrevê-los e forma a compará-los em associação ao protocolo SNMP. 3. Desenvolvimento As revoluções ocorridas a partir do século XVIII mostram o anseio humano em alcançar o melhor, a perfeição, a continuidade evolutiva das ações. Assim, com a Terceira Onda ou a Era da Informação não fora diferente. Os avanços dos aparatos tecnológicos promovem constantes reverificações de conceitos, mecanismos, softwares e hardwares. 3.1. SNMP: histórico, versões, vantagens e desvantagens Conforme destaca Pinheiro (2006) “o gerenciamento de rede pode ser definido como a coordenação (controle de atividades e monitoração de uso) de recursos materiais (modems, roteadores) e ou lógicos (protocolos), fisicamente distribuídos na rede, assegurando, na medida do possível, confiabilidade, tempos de resposta aceitáveis e segurança das informações”. Conforme aponta Oliveira [2012, p. 3] o SNMP [Simple Network Management Protocol] é um protocolo de gerência de redes cujo objetivo é disponibilizar uma forma simples e prática de realizar o controle dos equipamentos de uma rede de computadores. Definido em nível de aplicação, O SNMP utiliza os serviços do protocolo de transporte UDP [User Datagram Protocol] para enviar suas mensagens através da rede. Contessa e Polina [2010, p. 1] acrescentam que o modelo mais difundido é o protocolo SNMP [Simple Network Management Protocol] que “pode ser usado para o gerenciamento dos dispositivos conectados a uma rede local de forma simples e direta. Cada dispositivo gerenciado é chamado de nodo gerenciado”. Os autores supracitados explicam também que o protocolo SNMP define duas entidades para o gerenciamento, as quais trocam informações entre si através de requisições do tipo cliente-servidor (o gerente – cliente – e o agente - servidor). Este último pode ser apresentado em dois tipos: agente extensível (que possui a implementação de todas as funcionalidades do protocolo) e agente estendido (que possui as funções básicas de comunicação com o dispositivo gerenciado para busca de informações). Freitas [2000, p. 3] apresenta as características do SNMP semelhantes às de Contessa e Polina [2010] destacando que o seu funcionamento é muito simples: troca informações da rede através de mensagens, tecnicamente conhecidas como Unidades de Dados de Protocolo (ou PDU). A mensagem (PDU) pode ser encarada como um objeto que contém variáveis que têm nomes e valores. A PDU também contém informações de autenticação do gerente (manager), para que o agente saiba que foi realmente o gerente que solicitou ou modificou dados de sua MIB. Há quatro tipos de PDU que o protocolo SNMP emprega para monitorar uma rede: duas lidam com a leitura de dados dos terminais (get), uma lida com a atribuição de valores aos dados dos terminais (set), e a última, o trap, é usada para monitorar eventos de rede como o ligamento ou o desligamento de um terminal da rede. Veremos as mensagens com mais detalhes adiante. [FREITAS, 2000, p. 3] Portanto, os estudos supracitados comungam quanto a algumas das vantagens do SNMP: popularidade, simplicidade, uso e implementação fáceis, seu projeto simples torna o protocolo SNMP factível (embora não imediato). Todavia, Freitas [2000, p. 10] destaca como algumas desvantagens que o SNMP “não é de maneira nenhuma um protocolo de gerência de rede perfeito, tem suas falhas. Contudo, por causa de seu projeto flexível, a maioria destas deficiências pode ser contornada”. O protocolo SNMP algumas grandes falhas de segurança, que podem dar acesso a intrusos da rede. Além de que o SNMP provê pouco suporte para esquemas de autenticação. Ele suporta apenas um esquema de duas passwords, a informação com a qual ele lida não é detalhada ou bem-organizada o bastante para suportar redes muito grandes. Outros problemas podem ser citados por Freitas [2000, p. 10]: o protocolo não é muito eficiente, pois há a transmissão de muitos dados desnecessários, a organização das variáveis na árvore MIB também não é muito eficiente, por usar endereçamento IP, se há um problema de roteamento na rede e um dispositivo não pode ser alcançado, é impossível monitorá-lo ou reconfigurá-lo. Oliveira [2012, p. 3] revela que o SNMP foi desenvolvido no final dos anos 80 por um grupo da Internet EngineeringTask Force (IETF) e teve sua origem em um protocolo para monitoração de gateways IP, o Simple Gateway Management Protocol (SGMP). O modelo SNMP possui uma abordagem genérica, podendo ser utilizado para gerenciar diferentes tipos de sistemas. Sua especificação está contida no RFC1157. Oliveira [2012, p. 4] aponta as datas a seguir como o início do protocolo e das primeiras versões do SNMP: • 1989: SNMP v1 • 1992: Remote Monitoring – RMON • 1993: SNMP v2 • 1996: SNMP v2c (Community Security) • 1996: MIB RMON v2 • 1998: SNMP v3 (User Security Model) Chermont [2007, p. 29] destaca que o SNMP por ser extremamente simples, requer pouca codificação para ser implementado, é extensível, o que permite aos fabricantes adicionem funcionalidades de gerenciamento de rede a produtos existentes, oferece padronização provendo aos nós da rede a interoperabilidade desejada. 3.2. Nagios e Zabbix Nagios e Zabbix auxiliam o gerente de redes a manter seu parque computacional sob controle e prever uma possível falha ou inatividade do servidor. Isto porque estas duas ferramentas além de gerarem gráficos que facilitam a visualização, destacam também arquivos de log contendo os registros de eventos ocorridos em todos os serviços e ativos da rede que estão sendo monitorados/gerenciados por essas ferramentas. Serão apresentadas, também, as vantagens e desvantagens de cada ferramenta, já que a aplicação de uma pode ser mais recomendável do que a outra, em alguns momentos. 3.2.1. Nagios Andrade [2006, p. 9] afirma que originalmente e escrito sob o nome Netsaint, o Nagios foi criado e ainda é mantido por Ethan Galstad e sua equipe de mais de 150 desenvolvedores espalhados por todo o mundo, dedicados a desenvolver plugins, corrigir bugs, desenvolver uma interface web, produzir e traduzir a vasta documentação, entre outras atividades. O autor enfatiza ainda que o diferencial do Nagios seja a habilidade em administrar ambientes com infraestrutura de WAN, LAN e MAN. Costa e Shine [2012, p. 6] destacam que o Nagios “é voltado para monitoração de aplicações ou condições de recursos computacionais”. Usa RDB para armazenar informações. Pode alertar administradores ou grupos de administração por alguns métodos (por exemplo, e-mail). Pode gerar estatísticas diversas: número de outages, porcentagem de outages de um determinado período. Pode gerar um mapa da rede monitorada. Aplicação web-based. 3.2.2. Zabbix De acordo com Galiano Filho [2010, p. 4] o Zabbix de Alexei Vladishev, criado em 2001, é “uma ferramenta de monitoramento de rede com performance e disponibilidade para todos os serviços e ativos de rede desde aplicações, equipamentos, servidores, dentre outros.” Tal ferramenta coleta informações de todos os dispositivos interligados na rede por meio de scripts, agentes e do protocolo SNMP. Para executar suas tarefas, o Zabbix se vale de uma interface web com suporte a banco de dados. Galiano Filho [2010, p. 4-5] destaca ainda que a estrutura do Zabbix oferece portabilidade a sistemas operacionais como o Linux, Windows, Solaris, NetBSD, dentre outros. Entretanto, por se tratar de uma ferramenta Open Source há a dependência do seu servidor ser hospedado em máquinas com Linux ou Mac OS. Isto em decorrência da não existência de um pacote deste servidor disponível para o Windows. Por estar dividido em três partes (servidor, agente, interface), não há prejuízo ao monitoramento da rede. Logo, conforme assinalam Costa e Shine [2012, p. 5] antes de qualquer coisa há algumas diferenças entre sistemas de monitoramento que devem ser observadas, sendo estas: métodos de coleta de dados que se estabelecem a partir de três formas: coleta no meio físico: ou “no fio”, coleta por terceiros: SNMP e coleta por conexão fim-a-fim do qual o Nagios é um exemplo típico. Galiano Filho [2010, p. 6] aponta algumas funcionalidades do Nagios que se estabelecem a partir das seguintes especificidades: monitoramento de aplicação, serviços, sistemas operacionais e componentes de infra-estrutura, API para desenvolvimento de sistemas customizados,cliente proprietário,suporte ao protocolo SNMP, dentre outras. Galiano Filho [2010, p. 5] aponta também que algumas funcionalidades do Zabbix o tornam atrativo para a escolha de uma ferramenta de monitoramento. Não a melhor delas, com muitas semelhanças com o Nagios do qual “descende”, mas com algumas especificidades que fazem com que o Zabbix se destaque no atual contexto. 4. Considerações finais Cada vez mais equipamentos oferecem a possibilidade de serem gerenciados pelo SNMP (que apresenta três versões o SNMPv1, o SNMPv2 e o SNMPv3), o que torna necessário o conhecimento a respeito do funcionamento do protocolo e de como se pode aproveitá-lo para o gerenciamento dos equipamentos em uma rede local. O uso do SNMP mostra-se bastante interessante na medida em que permite que se utilizem ferramentas diversas para a gerência. Algumas vantagens do SNMP apontadas pelos estudos referendados: popularidade, simplicidade, uso e implementação fáceis, seu projeto simples torna o protocolo SNMP factível (embora não imediato) para um usuário programar variáveis que ele gostaria de estar monitorando, pois cada variável contém apenas as seguintes informações: o nome da variável, os tipos de dados da variável (inteiro, string, dentre outros). Há também algumas desvantagens: não é de maneira nenhuma um protocolo de gerência de rede perfeito, tem suas falhas de segurança, que podem dar acesso a intrusos da rede às informações que transitam pela mesma. Além de que o SNMP provê pouco suporte para esquemas de autenticação. Ele suporta apenas um esquema de dois passwords, a informação com a qual ele lida não é detalhada ou bem-organizada o bastante para suportar redes muito grandes. Outros problemas podem ser citados com relação ao SNMP: o protocolo não é muito eficiente, pois há a transmissão de muitos dados desnecessários, a organização das variáveis na árvore MIB também não é muito eficiente, por usar endereçamento IP, se há um problema de roteamento na rede e um dispositivo não pode ser alcançado, é impossível monitorá-lo ou reconfigurá-lo. Com relação à comparação das ferramentas de monitoramento Nagios e Zabbix destaca-se que o Nagios possui a habilidade em administrar ambientes com infraestrutura de WAN, LAN e MAN. Enquanto que o Zabbix é uma ferramenta de monitoramento de rede com desempenho e disponibilidade para todos os serviços e ativos de rede desde aplicações, equipamentos, servidores, dentre outros. Tal ferramenta coleta informações de todos os dispositivos interligados na rede por meio de scripts, agentes e do protocolo SNMP. Para executar suas tarefas, o Zabbix se vale de uma interface web com suporte a banco de dados. 5. Referências ABREU, Fabiano Rocha; PIRES, Herbert Domingues. Gerência de redes. Disponível em: http://www.midiacom.uff.br/~debora/redes1/pdf/trab042/SNMP.pdfAcesso em: 13/05/2014. ANDRADE, Hetty Alves de. Nagios como solução de monitoramento de rede. 2006. Disponível em: http://www.ginux.ufla.br/files/mono-HettyAndrade.pdfAcesso em: 24/04/2014. CHERMONT, Marlon Gripp. Proposta de desenvolvimento de um agente Proxy SNMP para gerenciamento de redes Lonworks. 2007. Disponível em: http://www.teses.usp.br/teses/disponiveis/3/3141/tde-12072007-182951/pt-br.php Acesso em: 26/05/2014. CONTESSA, Diego Fraga; POLINA, Everton Rafael. Gerenciamento de equipamentos usando o protocolo SNMP. Disponível em: http://www.cp.com.br/upl/artigo_3.pdfAcesso em: 24/04/2014. COSTA, Marcelo; SHINE, Edgar. Gerenciamento de redes usando Nagios. 2012. Disponível em: http://eng.registro.br/gter17/videos/02-Nagios.pdfAcesso em: 24/04/2014. FREITAS, João Carlos da Silva. SNMP: Simple Network Management Protocol. 2000. Escola de Engenharia da Eletrônica da Faculdade do Rio de Janeiro. Disponível em: http://www.gta.ufrj.br/grad/00_1/joao/index.html Acesso em: 26/05/2014. GALIANO FILHO, Adilson. Avaliação da ferramenta Zabbix. 2010. Disponível em: Acesso em: 24/04/2014. LOPES, Rui Pedro Sanches de Castro. Gestão distribuída em SNMP. Disponível em: http://www.ipb.pt/~rlopes/academic/phd.pdf Acesso em: 07/05/2014. OLIVEIRA, Lécia de Souza. O protocolo SNMP. 2012. Disponível em: http://www.logicengenharia.com.br/mcamara/alunos/SNMP_Lecia.PDF Acesso em: 13/05/2014. PINHEIRO, José Mauricio Santos. Gerenciamento de redes de computadores: uma breve introdução. 2006. Disponível em: http://www.projetoderedes.com.br/artigos/artigo_gerenciamento_de_redes_de_computa dores.php Acesso em: 23/04/2014.