LABORATÓRIO VIII. Introdução ao SNMP e Logging pt. I Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel # - PDF
LABORATÓRIO VIII. Introdução ao SNMP e Logging pt. I Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #
Download "LABORATÓRIO VIII. Introdução ao SNMP e Logging pt. I Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #5634135"
Raquel Mariana Taveira de Sousa
1 LABORATÓRIO VIII Introdução ao SNMP e Logging pt. I Documento versão 0.1 Aluno: Paulo Henrique Moreira Gurgel # Orientado pela Professora Kalinka Regina Lucas Jaquie Castelo Branco Agosto / 2010
2 Laboratório VIII SNMP e Logging Objetivos do laboratório Ter um primeiro contato com o gerenciamento de redes Aprender a obter informações sobre o funcionamento do sistema Aprender a configurar um agente SNMP v1 Conhecer os comandos básicos para obtenção de informações de SNMP. Cenário sendo reproduzido A figura abaixo representa a topologia de rede sendo estudada. Usamos uma ligeira variação da topologia estudada nos laboratórios 5 e 7. Os enlaces, ips e nomes das máquinas são demonstrados abaixo e todas as interfaces de rede estão ativas. O acesso à internet também já está distribuído. Os nomes das máquinas agora representam as funções que as mesmas representam dentro da empresa. O gerente de redes deverá acessar as informações das demais máquinas que controla. Nosso estagiário estará escutando a rede na tentativa de obter informações úteis que possam lhe permitir ganhar algum lucro quando se desligar da empresa.
3 Conhecimentos de rede que você irá adquirir Você irá aprender as configurações básicas de um agente SNMP e como obter informações do mesmo. Conheceremos também uma árvore MIB e obteremos diversas informações das máquinas da rede. Configuraremos também o syslog para permitir que as máquinas da rede enviem informações para os gerentes. O syslog será útil mais tarde quando avançarmos um pouco mais no laboratório de SNMP. Antes de continuar, é importante lembrar que você deve ter feito a instalação do software Wireshark que será utilizado neste lab, portanto use os comandos apt-get install wireshark (distribuições debian) ou urpmi wireshark (mandriva) para instalar este software, caso o mesmo não esteja instalado. Devemos lembrar que, os comandos marcados com a tag [real] deverão ser executados no console real. Os demais comandos serão executados dentro das máquinas virtuais. Sempre que exigido a instrução pedirá uma máquina virtual específica. Execução do laboratório Importante: Este lab requer diversas janelas. Use um ambiente de trabalho com vários espaços, preferencialmente 4 deles. Gnome, Kde, Xfce tem quatro espaços por padrão. Use um deles ou configure seu ambiente preferido para quatro espaços. 1. [real] Salve o arquivo netkit_lab08.tar.gz na sua pasta de labs. (/home/seu_nome/nklabs). 2. [real] Acesse a pasta nklabs a partir do terminal ~]$ cd /home/seu_nome/nklabs 3. [real] Use o comando: ~]$ tar -xf netkit_lab08.tar.gz Será criada a pasta lab08 dentro da sua pasta nklabs. 4. [real] Use o comando a seguir: ~]$ lstart -d /home/seu_nome/nklabs/lab08 As oito máquinas virtuais serão iniciadas com as interfaces de rede devidamente configuradas. A internet está distribuída para os computadores da empresa. 5. [real] Organize suas janelas de modo a localizar qualquer uma delas rapidamente. Nós usaremos efetivamente neste laboratório as cinco máquinas da empresa.
4 Parte 1 Configurando o syslog 6. No computador GERENCIA, edite o arquivo /etc/syslog.conf e inclua a seguinte linha, logo abaixo dos primeiros comentários: *.* /root/mensagens.log Dica: Idente o segundo parametro alinhando-o com os demais para clareza na hora de ler as configurações. Comentários são as linhas que iniciam com o caractere #. 7. Altere o arquivo /etc/default/syslogd, e onde está SYSLOGD="", altere para SYSLOGD="-rm 0". O parâmetro -r indica que o syslog deverá aceitar logs remotos e o parâmetro m 0 evita que apareçam algumas marcações no log.. 8. Reinicie o serviço do syslog com o seguinte comando: gerencia:~$ /etc/init.d/sysklogd restart 9. No computador ESTAGIARIO, altere o arquivo /etc/syslog.conf e inclua a seguinte linha, logo abaixo dos primeiros comentários. Essa linha indica para o syslog enviar todos os logs para o gerente. O primeiro * indica o serviço que será logado e o segundo, indica o nível de privilégio. 10. Reinicie o serviço do syslog com o seguinte comando: gerencia:~$ /etc/init.d/sysklogd restart A partir de agora deixaremos nosso estagiário mal intencionado capturando as informações que passam pela rede com o conhecido tcpdump. Isso permitirá estudar os pacotes de log e do protocolo SNMP posteriormente. 11. No computador ESTAGIARIO, inicie a captura de pacotes com o tcpdump. estagiario:~$ tcpdump -i eth0 -v -n -s w /hosthome/lab8.pcap. 12. Repita os passos 09 e 10 para as máquinas firewall, financeiro e servidor. 1. Inserir no arquivo /etc/syslog.conf 2. Reiniciar o serviço do syslog. Importante: A configuração do syslog varia um pouco entre distribuições. Este é o estilo da distribuição Debian. Mas ubuntu, mandriva e outras distribuições apresentam variações. Em particular a maior variação está no local onde pode ser ajustado o parâmetro SYSLOGD. Em algumas distribuições ele deve ser acertado em /etc/sysconfig, outras direto no arquivo do daemon, em /etc/init.d. Acostume-se a usar o manual dos serviços da sua distribuição preferida. 13. Acesse o manual de configuração do syslog.conf com o comando: servidor:~$ man syslog.conf 14. A partir da máquina servidor, envie um evento de log para o gerente.
5 servidor:~$ logger -p user.info "Terminei de configurar o syslog" 15. Usando a tecla (seta para cima), envie o comando acima mais duas vezes seguidas Agora na máquina gerente, use o comando cat para ler o arquivo de log. gerente:~$ cat ~/mensagens.log Veja que a configuração correta do syslog ajudou a descobrir que o estagiário está mal intencionado. Uma das primeiras linhas do log avisa que o estagiário entrou me modo promíscuo. Deixaremos agora o syslog capturar as informações do que fizermos posteriormente. Parte 2 Consultando informações por SNMP 17. Na máquina firewall, edite o arquivo /etc/snmp/snmpd.conf firewall:~$ vi /etc/snmp/snmpd.conf 18. Localize as primeiras linhas não comentadas, do comando com2sec. Ajuste-as de modo que firem como a seguir: com2sec paranoid pacommu com2sec readonly rocommu com2sec readwrite rwcommu O comando com2sec faz o ajuste das opções de segurança. Você está dizendo que para os níveis de acesso paranoid, readonly e readwrite, apenas o ip pode consultar informações através das comunidades especificadas. No SNMP, a comunidade funciona como a senha para obter informações. 19. Localize as linhas que contem os parâmetros de configuração syslocation e syscontact e ajuste=as como a seguir:. syslocation Firewall da empresa syscontact SEU_NOME 20. Façamos uma consulta para verificar a informação syslocation. Para isso é necessário descobrir a mib que tem essa informação: firewall:~$ snmptranslate -On -IR syslocation retornará: Use o comando a seguir para buscar a informação desejada: firewall:~$ snmpget -v 1 -c rwcommu localhost Após alguns segundos você obterá uma resposta negativa. Como configuramos o SNMP agente para responder apenas ao gerente, precisamos fazer a consulta pelo gerente.
6 22. A partir da máquina gerente, ise o comando a seguir para buscar a informação desejada: gerente:~$ snmpget -v 1 -c rwcommu firewall.empresa.usp Agora sim a resposta foi obtida corretamente. Vamos terminar de configurar os agentes nas demais máquinas antes de continuar realizando comandos SNMP. Mas sejamos espertos. 23. Na máquina firewall, use o comando a seguir para copiar o snmpd.conf. firewall:~$ cp /etc/snmp/snmpd.conf /hosthome 24. Na máquina servidor, copie o arquivo pré-configurado com o comando a seguir, confirmando a sobrescrição. servidor:~$ cp /hosthome/snmpd.conf /etc/snmp/ 25. Ajuste apenas a configuração SysLocation agora do arquivo para "Servidor da empresa". 26. Repita o processo para a máquina financeiro, identificando sua localização com "sala do tesouro" 27. Inicie o serviço SNMP das máquinas servidor e financeiro. 28. A partir do gerente, obtenha a syslocation das demais máquinas. A partir de agora, iremos obter algumas informações. 29. Obtenha do firewall a descrição da interface de rede, usando o OID: gerente:~$ snmpget -v 1 -c rwcommu firewall Caso a resposta seja diferente de eth0, troque o dígito final, tentando 0, 1, 2 em sequencia até encontrar a eth Use o mesmo comando para obter o endereço físico da interface de rede. OID: (o digito final é o mesmo da eth0 encontrado acima) 31. Use o mesmo comando para obter a quantidade de erros em quadros nesta interface de rede. OID: (o digito final é o mesmo da eth0 encontrado acima) 32. Para obter um pedaço da árvore de uma vez, é possível usar o utilitário snmpwalk. Que fará diversos comandos get e get-next em sequencia. gerente:~$ snmpwalk -v 2c -c rwcommu financeiro system O comando acima irá imprimir um pedaço da árvore referente ao ramo system. A MIB do netkit é menor que as encontradas normalmente nos roteadores, o que permite usar estes tipos de comando com segurança e passar um identificador resumido. O identificador resumido pode não funcionar em alguns equipamentos ou distribuições de linux. O modo preferível de obter a informação é através do OID.
7 33. Use o comando reboot no servidor. servidor:~$ reboot Aguarde o computador servidor reiniciar. 34.Encerre o tcpdump do computador do estagiário com Crtl + C 35. [real] Use o comando a seguir para encerrar a execução do laboratório: ~]$ lhalt -d /home/seu_nome/nklabs/lab [real] Use o comando a seguir para apagar os enormes arquivos.disk: ~]$ lclean -d /home/seu_nome/nklabs/lab [real] Use o comando a seguir para apagar os enormes arquivos.disk restantes: ~]$ rm /tmp/*.disk 38. [real] Estude a captura do tcpdump no wireshark. Você poderá usar a opção follow tcp stream para ver conteúdos inteiros. Formule as teorias De acordo com os conhecimentos adquiridos até agora: 1. Um gerente deveria poder setar o endereço de hardware numa entrada de tabela de tradução de endereço? Por que ou por que não? 2. Estudando os pacotes capturados, o que vocẽ percebe em relação ao sistema de log e ao snmp pela ótica da segurança? 3. Seja você o gerente de uma rede com um roteador Cisco. A Cisco disponibiliza publicamente suas Mibs em seu site. Escolha um switch comercial, faça o download de sua Mib e escolha 5 objetos, informando seu OID, que você desejaria saber via SNMP para ajudar a detectar um problema na rede. Justifique a escolha destes objetos. 4. Procure na internet pelas Oids que trazem informação sobre disco e memória. Relacione as informações que podem ser obtidas com possíveis problemas na rede. Aprendendo um pouco sobre linux Este lab demonstra mais uma vez o potencial do linux para o gerenciamento de redes. Vemos que com comandos simples, podemos obter uma quantidade enorme de informações sobre o estado de um nó da rede. A mesma teoria aplicada aqui pode ser utilizada em roteadores, switches gerenciaveis e outros equipamentos da Cisco ou de outras marcas. Vimos também o syslogd, uma ferramenta para obter informações através de log, seja local ou remoto. O SNMP pode ser configurado para gerar uma armadilha, detectando por exemplo um excesso de erros numa determinada variável e disparar uma entrada no syslogd. Há outras configurações ainda mais poderosas, como traps, o syslogng, mas elas ficam para outro lab.