instalando e configurando snmp no linux - .::dcc · simplificada, através de apelidos que tornam...

7
Início Facebook Feeds do Elfo QUINT A-FEIRA, 14 DE ABRIL DE 2011 0 0 Postado às 08:06:00 por Vindemiatrix Instalando e configurando SNMP no Linux Eu não sei quanto a vocês, mas desde que conheci a ferramenta Nagios, para monitoramento de rede, eu passei a dar mais valor nessa coisa de gerenciamento ativo de redes. Não porque eu tivesse a intenção de aplicar isso em lugar nenhum, mas é que a possibilidade de saber o estado de cada máquina (e cada switch/roteador/servidor) da rede me fez querer conhecer mais dessa ferramenta. E tudo acaba passando pelo protocolo SNMP, já que é ele o protocolo que é utilizado para fazer gerência de redes e é implementado por praticamente todos os equipamentos de rede que possuam um mínimo de "inteligência". Então, estou aqui postando este tutorial sobre SNMP, ensinando como configurar e usar o mesmo para obter estatísticas da sua rede. Aproveitem! Um pouco de Teoria sobre SNMP Então, como falei a pouco, o SNMP (do inglês Simple Network Management Protocol - Protocolo Simples de Gerência de Rede) é um protocolo da camada de aplicação para gerência de redes, que roda em cima do protocolo UDP, e que facilita a troca de informações entre dispositivos da rede. Ao contrário de outros sistemas de gerenciamento, o SNMP funciona como cliente-servidor invertido. Isso significa que cada host monitorado possui seu próprio servidor SNMP, que roda na porta 161, e o software de gerência é nada mais do que um cliente que se conecta em cada um dos hosts e faz as operações de GET e SET definidas pelo protocolo. Somente no modo TRAP que a operação é diferente, pois esta operação é disparada sempre que algum evento programado no host é alcançado (host desconecta/conecta, processamento/memória passa de determinado nível) e então ele envia uma mensagem para o software de gerência, que então se encarregará de fazer o devido processamento da mensagem... Pesquisar powered by PESQUISAR EST E BLOG Digite seu email Inscrever RECEBA POST S POR E-MAIL Vindemiatrix Eduardo Rolim Diego "HomerSimpsom" Sou de Sagitário PERFIL DOS EDIT ORES Bater papo com Vndmtrx Offline GOOGLE T ALK 2011 (47) Outubro (5) Setembro (7) Agosto (4) Julho (5) Junho (4) Maio (5) Abril (5) Dica: Travessuras javascript com páginas web Script de download automatizado do Ubuntu 11.04 Usando Mercurial com Google Code Instalando e configurando SNMP no Linux Como instalar o GNOME 3 e o GNOME Shell Março (5) Fevereiro (4) Janeiro (3) 2010 (66) 2009 (109) 2008 (193) 2007 (144) 2006 (11) ARQUIVO DO BLOG Compartilhar Denunciar abuso Próximo blog» Criar um blog Login

Upload: hoanglien

Post on 30-Jul-2018

259 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instalando e configurando SNMP no Linux - .::DCC · simplificada, através de apelidos que tornam mais "humana" a visualização da estrutura. Instalando ferramentas SNMP no Linux

Início Facebook Feeds do Elfo

QUINT A-FEIRA, 14 DE ABRIL DE 2011

00Postado às 08:06:00 por Vindemiatrix

Instalando e configurando SNMP no Linux

Eu não sei quanto a vocês, mas desde que conheci a ferramentaNagios, para monitoramento de rede, eu passei a dar mais valornessa coisa de gerenciamento ativo de redes. Não porque eutivesse a intenção de aplicar isso em lugar nenhum, mas é que apossibilidade de saber o estado de cada máquina (e cadaswitch/roteador/servidor) da rede me fez querer conhecer maisdessa ferramenta. E tudo acaba passando pelo protocolo SNMP,já que é ele o protocolo que é utilizado para fazer gerência deredes e é implementado por praticamente todos osequipamentos de rede que possuam um mínimo de"inteligência".

Então, estou aqui postando este tutorial sobre SNMP, ensinando como configurar e usar o mesmopara obter estatísticas da sua rede. Aproveitem!

Um pouco de Teoria sobre SNMP

Então, como falei a pouco, o SNMP (do inglês Simple Network Management Protocol - ProtocoloSimples de Gerência de Rede) é um protocolo da camada de aplicação para gerência de redes, queroda em cima do protocolo UDP, e que facilita a troca de informações entre dispositivos da rede.

Ao contrário de outros sistemas de gerenciamento, o SNMP funciona como cliente-servidorinvertido. Isso significa que cada host monitorado possui seu próprio servidor SNMP, que roda naporta 161, e o software de gerência é nada mais do que um cliente que se conecta em cada um doshosts e faz as operações de GET e SET definidas pelo protocolo. Somente no modo TRAP que aoperação é diferente, pois esta operação é disparada sempre que algum evento programado nohost é alcançado (host desconecta/conecta, processamento/memória passa de determinado nível)e então ele envia uma mensagem para o software de gerência, que então se encarregará de fazero devido processamento da mensagem...

Pesquisar

powered by

PESQUISAR EST E BLOG

Digite seu e­mail Inscrever

RECEBA POST S POR E-MAIL

Vindemiatrix

Eduardo Rolim

Diego "HomerSimpsom"

Sou de Sagitário

PERFIL DOS EDIT ORES

 Bater papo com Vndmtrx Off­line

GOOGLE T ALK

▼  2011 (47)

►  Outubro (5)

►  Setembro (7)

►  Agosto (4)

►  Julho (5)

►  Junho (4)

►  Maio (5)

▼  Abril (5)

Dica: Travessuras javascriptcom páginas web

Script de downloadautomatizado do Ubuntu11.04

Usando Mercurial comGoogle Code

Instalando e configurandoSNMP no Linux

Como instalar o GNOME 3 eo GNOME Shell

►  Março (5)

►  Fevereiro (4)

►  Janeiro (3)

►  2010 (66)

►  2009 (109)

►  2008 (193)

►  2007 (144)

►  2006 (11)

ARQUIVO DO BLOG

Compartilhar   Denunciar abuso   Próximo blog» Criar um blog   Login

Page 2: Instalando e configurando SNMP no Linux - .::DCC · simplificada, através de apelidos que tornam mais "humana" a visualização da estrutura. Instalando ferramentas SNMP no Linux

Por conta dessa estrutura, não se considera o SNMP como sendo uma arquitetura cliente/servidormas sim uma arquitetura peer-to-peer, pois os hosts também podem trocar informações entre si,como informações de alteração de rotas, ou mesmo latência de canais, no caso de roteadores. Édado o nome de gerente para a estação de gerenciamento e de agente para a aplicação que rodano dispositivo de rede.

Versões do SNMP

O SNMP possui atualmente três versões, cada uma com suas características.

SNMPv1: Primeira versão do protocolo, lançado em 1988, e que implementa os principaiscomandos do protocolo: GetRequest, SetRequest, GetResponse e GetNextRequest. A segurança éimplementada usando o conceito de string comunitária, ou seja, uma string que era compartilhadacom todos que necessitassem de obter informações do sistema.

SNMPv2: Segunda versão do protocolo. Trouxe inovações nas áreas de performance, segurança econfidencialidade e comunicações agente-agente. A diferença aqui é que além de poder usar a jáconhecida string comunitária, era possível definir usuários e criadas visões específicas da árvore,de forma que as ações de usuário pudessem ser melhor controladas, com uma granularidademenor. No entanto, essa versão com usuários não foi bem aceita, e lançaram então a SNMPv2c,que nada mais é do que a SNMPv2 sem o recurso de controle de usuários, mas com todos osoutros recursos da versão.

SNMPv3: A terceira versão trouxe várias mudanças na forma como as coisas são feitasinternamente, apesar de ter mantido o PDU praticamente idêntico ao das versões anteriores. Oobjetivo disso foi permitir que o protocolo pudesse ser estendido sem que houvesse a necessidadede se modificar o código existente, através do uso de módulos de funcionalidades. Aqui finalmenteo suporte a usuários foi estabelecido como padrão e ainda foi adicionado o suporte a criptografiados dados, feito através de cifras de HASH e de criptografia simétrica por chave compartilhada.

Estruturação dos dados no protocolo SNMP

A maioria dos roteadores e servidores mantém estatísticas operacionais em identificadores deobjetos (OIDs) que você pode facilmente recuperar via SNMP. Para facilitar o acesso à essas OIDs,os equipamentos provêm uma base de informações chamada MIB (Management InformationBase), que identifica as OIDs contidas no equipamento. As OIDs são estruturadas sob a forma deárvores, o que permite a estruturação dos dados de forma hierárquica e seu acesso via uma sériede números que identificam cada ramo da árvore. E como a identificação de cada ramo épadronizada, o acesso a um determinado ramo pode ser feito diretamente através da OID ou

BLOGROLL

210,834PAGEVIEWS (30 DIAS)

Page 3: Instalando e configurando SNMP no Linux - .::DCC · simplificada, através de apelidos que tornam mais "humana" a visualização da estrutura. Instalando ferramentas SNMP no Linux

simplificada, através de apelidos que tornam mais "humana" a visualização da estrutura.

Instalando ferramentas SNMP no Linux

Bom, chega de falar de teoria. Vamos primeiramente instalar as ferramentas para suportar SNMPno Linux. Aqui vamos demonstrar como fazer em uma distribuição Ubuntu Server.

Primeiramente vamos instalar o agente e ferramentas de gerenciamento para o protocolo SNMP,com o seguinte comando:

$ sudo apt-get install snmp snmpd

Depois de instalado, é necessário também instalar várias MIBs que o agente SNMP irá precisar.Para isso use o comando:

$ sudo apt-get install snmp-mibs-downloader

Ele vai instalar um programa que irá, em seguida, baixar todas as MIBs que o sistema precisarápara funcionar corretamente. São muitas, e dependendo da sua conexão, pode demorar.

Depois de instaladas as MIBs, você deve reiniciar o serviço do SNMP para que as novas entradassejam processadas.

Liberando o acesso externo

Dependendo da forma como foi instalado o SNMP, pode ser necessária a alteração de uma entradapara fazer com que o serviço receba requisições externas. Para isso, você vai abrir o arquivo/etc/default/snmpd e procurar pela linha a seguir:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'

Para permitir que o serviço receba requisições de todas as interfaces, basta apagar o ip deloopback contido na linha. Ela ficará da seguinte forma:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'

Reinicie o serviço com o comando sudo service snmpd restart e você poderá verificar se o serviçoestá recebendo conexões com o seguinte comando:

$ netstat -a | grep -i snmp

Caso esteja tudo funcionando perfeitamente, você verá a seguinte saída:

udp 0 0 localhost:snmp *:*

Configurando o SNMP em um servidor Linux

Agora que criamos nosso agente SNMP, vamos tratar de fazer algumas configurações. O arquivo/etc/snmp/snmpd.conf é bastante explicativo em suas opções, mas nós vamos aqui fazer umarquivo novo, do zero, com as nossas configurações personalizadas.

Então, primeiramente, vamos fazer um backup do arquivo original e criar um arquivo vazio, queusaremos nesse post:

Page 4: Instalando e configurando SNMP no Linux - .::DCC · simplificada, através de apelidos que tornam mais "humana" a visualização da estrutura. Instalando ferramentas SNMP no Linux

# cd /etc/snmp/# mv snmpd.conf snmpd.conf.old# touch snmpd.conf# chmod 600 snmpd.conf

Agora, abra o arquivo em um editor qualquer para adicionar nossa primeira Community String:

rocommunity publico

Salve o arquivo e reinicie o serviço com o comando service snmpd restart.

Para testar, podemos rodar o comando snmpwalk, que percorrerá toda a MIB, mostrando as OIDsencontradas:

snmpwalk -c publico -v 1 [ip.do.servidor]

Ao executar este comando, você verá uma quantidade enorme de informação relacionada aoservidor. Na maioria dos casos, você não vai querer que todas estas informações estejamdisponíveis para todos os usuários. Em vista disso, vamos começar a tratar um pouco mais sobresegurança.

Segurança Básica com SNMP

A maioria dos dispositivos que suportam SNMP não encriptam a string comunitária. Isso abre umleque de possibilidades de acesso de qualquer máquina que possa alcançar o servidor via rede.Informações contidas nas MIBs dão bastantes detalhes da estrutura interna da rede, dofuncionamento do servidor ou equipamento que está rodando o agente. Então, por questões desegurança, devemos limitar o acesso a essa informação.

O arquivo snmpd.conf possui vários dispositivos de segurança para permitir que somenteconexões confiáveis possam fazer requisições ao agente. Estes comandos são:

com2sec - define quais redes podem fazer requisições e seta a string comunitária correspondente;group - define o protocolo que será usado para cada rede criada anteriormente;view - define quais MIBs estarão visíveis paraaccess - define quais as formas de acesso às mibs, permitindo somente a leitura ou a escrita deinformações, de acordo com o grupo.

Como exemplo, olhe o seguinte código:

## sec.name source community## ======== ====== =========com2sec local localhost privadocom2sec rede1 172.16.0.0/24 rede1com2sec rede2 192.168.0.0/24 redeadm

## Access.group.name sec.model sec.name## ================= ========= ========group grupo1 v1 localgroup grupo1 v1 rede1group grupo2 v2c rede2

## MIB.view.name incl/excl MIB.subtree ## ============== ========= =========== view todas-mibs included .1.3.6.1.2.1

## MIB## group.name context sec.model sec.level prefix read write notif## ========== ======= ========= ========= ====== ==== ===== =====access grupo1 "" v1 noauth exact todas-mibs none noneaccess grupo2 "" v2c noauth exact todas-mibs todas-mibs none

Neste arquivo, estamos definindo o seguinte:A máquina local usará a string comunitária privado, está ligado ao grupo 1 que permite acessar asmibs definidas na view todas-mibs com o protocolo SNMPv1 e não permite escrita de nenhumdado;A rede 172.16.0.0/24, de nome rede1 usará a string comunitária rede1, está também ligada aogrupo 1 com as mesmas configurações acima;A rede 192.168.0.0/24, de nome rede2 usará a string redeadm, está ligada ao grupo 2, que usa oprotocolo SNMPv2c e que pode ler e escrever em todas as MIBs relacionada na view todas-mibs.

Page 5: Instalando e configurando SNMP no Linux - .::DCC · simplificada, através de apelidos que tornam mais "humana" a visualização da estrutura. Instalando ferramentas SNMP no Linux

Este é o mecanismo de segurança existente para a versão 2c do protocolo SNMP.

SNMP na versão 3

A versão 3 do protocolo SNMP é uma alternativa mais segura às versões anteriores do protocolo,na medida que este permite o uso de encriptação de dados baseado em usuário / senha criados noarquivo snmpd.conf, para autenticação.

Para criarmos um usuário, vamos usar o comando net-snmp-config:

net-snmp-config --create-snmpv3-user -ro -a MD5 -A suasenha usuariov3 -V todas-mibs

Aqui definimos um usuário que possui somente permissões de leitura chamado "usuariov3", queutiliza a senha "suasenha" e definimos para o usuário qual view ele deverá usar.

Atente para a saída do comando:

adding the following line to /var/lib/snmp/snmpd.conf:createUser usuariov3 MD5 "suasenha" DESadding the following line to /usr/share/snmp/snmpd.conf:rouser usuariov3

As informações de usuário/senha estão sendo salvas no arquivo /var/lib/snmp/snmpd.confenquanto o tipo do usuário é salvo no arquivo /usr/share/snmp/snmpd.conf. Neste caso, criamosum usuário e senha comuns, e o tráfego de dados para este não é encriptado. Para criar umusuário que trafegue dados de forma encriptada, o comando é um pouco maior:

# net-snmp-config --create-snmpv3-user -ro -a MD5 -A suasenha -x DES -X chaveprivadausuariov3crip -V todas-mibs

Aqui agora definimos o usuário "usuariov3crip" com a senha "suasenha", só que adicionalmente àsenha, adicionamos uma chave privada, "chaveprivada", que deve ser utilizada para descriptografaro tráfego entre o agente e o monitor, quando utilizar este usuário.

Para executar uma consulta com o primeiro usuário, você pode usar a seguinte sintaxe:

snmpwalk -v 3 -u usuariov3 -l authNoPriv -a MD5 -A suasenha [ip.do.servidor]

Para executar uma consulta com o segundo usuário, que encripta os dados transmitidos, você usaa sintaxe:

snmpwalk -v 3 -u usuariov3 -l authPriv -a MD5 -A suasenha -x DES -X chaveprivada[ip.do.servidor]

Finalizando a configuração de segurança

Bem, até aqui nós criamos uma política de strings comunitárias para a versão 1 e 2c do SNMP, ecriamos um usuário para a versão 3. No entanto, na versão 3 não definimos nenhuma forma delimitar a visão do usuário às MIBS.

Para isso, basta configurar uma access para usar o protocolo na versão 3 e solicitar o uso deautenticação e/ou criptografia. O nosso arquivo anterior ficará da seguinte forma:

Page 6: Instalando e configurando SNMP no Linux - .::DCC · simplificada, através de apelidos que tornam mais "humana" a visualização da estrutura. Instalando ferramentas SNMP no Linux

Slony:Clusterização eReplicaçãod...

Fisl 12 táchegando!

UsandoWget parabaixararquivos pr...

Script dedownloadautomatizado do ...

RMI e suarelação comPadrões dePr...

O que achou do post: gostei (2) não gostei (0) nem li (0)

Marcadores: linux, Redes, Snmp

## sec.name source community## ======== ====== =========com2sec local localhost privadocom2sec rede1 172.16.0.0/24 rede1com2sec rede2 192.168.0.0/24 redeadm

## Access.group.name sec.model sec.name## ================= ========= ========group grupo1 v3 localgroup grupo1 v3 rede1group grupo2 v3 rede2

## MIB.view.name incl/excl MIB.subtree ## ============== ========= =========== view todas-mibs included .1.3.6.1.2.1

## MIB## group.name context sec.model sec.level prefix read write notif## ========== ======= ========= ========= ====== ==== ===== =====access grupo1 "" v3 auth exact todas-mibs none noneaccess grupo2 "" v3 priv exact todas-mibs todas-mibs none

Finalizando

Aqui demonstramos como criar um servidor simples usando SNMP. Espero ter ajudado um poucocom este post. Só lembrando que no arquivo /etc/snmp/snmpd.conf original, você encontra maisinformações sobre como configurar de outras maneiras o agente.

Eh isso. Abração pra vcs!

Fontes:Net-SNMP Tutorial -- snmpdConfiguring SNMPv3 Security SettingsQuick HOWTO : Ch22 : Monitoring Server Performance

ARTIGOS RELACIONADOS

Recomende isto no Google

Todos os comentários passam por moderação, ou seja, eles são lidos por nós antes de serem publicados.

Não serão aprovados os comentários que:

* não sejam relacionados ao tema do post;* contenham pedidos de parceria;* possuam propagandas (spam);* possuam link para divulgar seu blog;* contenham palavrões ou ofensas a pessoas e marcas.

Contatos podem ser feitos pelo formulário de contato.

Postar um comentário

Page 7: Instalando e configurando SNMP no Linux - .::DCC · simplificada, através de apelidos que tornam mais "humana" a visualização da estrutura. Instalando ferramentas SNMP no Linux

Postagem mais recente Postagem mais antigaInício

Assinar: Postar comentários (Atom)

Comentar como:  Selecionar perfil...

Postar comentário   Visualizar

Criar um link

0 comentários:

Links para esta postagem

#nosenseless - Inception 50 minutes ago

#nosenseless - Visitassaum http://t.co/OSnu9KUg about an hour ago

#nosenseless - Visitassaum about 2 hours ago

#nosenseless - Snarl http://t.co/9f1a2Zq1 about 21 hours ago

#nosenseless - Uma coisa é uma coisa, outra coisa é outra coisahttp://t.co/7YqscZWE about 22 hours ago

World of Warcraft: Mists of Pandaria Preview Trailer http://t.co/psS9Miipvia @youtube about 22 hours ago

@chato_albert assim que sair daki da minha tia. Tou ao mossandu ... 1 day

ago

Em especial para @lylavieira @chato_albert e @heymialle ;) RT@vndmtrx: #nosenseless - Carros, Motoristas e Pessoashttp://t.co/Bh340wUe 1 day ago

#nosenseless - Carros, Motoristas e Pessoas http://t.co/Bh340wUe 1 day

ago

#nosenseless - Carros, Motoristas e Pessoas 1 day ago

Siga-me no Twitter

T WIT T ER

Participar deste siteParticipar deste siteGoogle Friend Connect

Membros (651)  Mais »

Já é um membro? Fazer login

SEGUIDORES

Este blog possui atualmente:2172 comentários em 570 postagens!

“Toca do Elfo” é criação única e exclusiva de Eduardo Rolim desde 22 de fevereiro de 2006, às 14:40.