Introdução a ferramenta de monitoramento de redes Nagios Prof. Eduardo Maroñas Monks Sumário Objetivos de Redes de Computadores Aplicações e serviços Problemas comuns em redes Ferramentas básicas de diagnóstico e monitoramento Nagios Referências Introdução a ferramenta de monitoramento de redes Nagios 2 Objetivos de Redes de Computadores Conceito de Redes de Computadores: “Uma rede de computadores é uma coleção de computadores e outros dispositivos, que usam um protocolo em comum para compartilhar recursos entre si através de um meio de transmissão”. Recursos: Processamento (CPU) Impressoras Comunicação (E-mail, Chats) Arquivos (Textos, Música, Filmes) Introdução a ferramenta de monitoramento de redes Nagios 3 Objetivo de Redes de Computadores Objetivo principal de redes: “Fazer com que as aplicações troquem dados remotamente de Software Software forma confiável e rápida”. Aplicativo Aplicativo O padrão universal é a de Recursos Recursos de Rede do Rede do arquitetura TCP/IP Sistema Sistema Host B Operacional Operacional Interface de Rede Interface de Rede Introdução a ferramenta de monitoramento de redes Nagios Meio Físico de Transmissão Host A 4 Aplicações Principal objetivo das redes de computadores Primeiras aplicações: execução remota (telnet) transferência de arquivos e-mail Atualmente WWW (World Wide Web) e P2P (Peer to Peer) são as aplicações mais utilizadas na Internet Nas empresas, transferência de arquivos, compartilhamento de impressoras, e-mail e WWW são as aplicações mais utilizadas Introdução a ferramenta de monitoramento de redes Nagios 5 Serviços As aplicações que prestam serviços em rede devem possuir alta disponibilidade Os serviços mais comuns são: Servidor de arquivos/impressoras Servidor de DNS Servidor de e-mail Servidor de banco de dados Servidor de páginas Servidor de SSH Servidor de FTP Servidor de autenticação (LDAP, Radius) Servidor de aplicações (ERP, CRM) E muitos outros... Introdução a ferramenta de monitoramento de redes Nagios 6 Serviços Os serviços possuem portas de comunicação que possibilitam aos clientes conectarem As portas ficam em estado de escuta esperando a conexão do cliente Os serviços podem utilizar os protocolos TCP ou UDP da camada de transporte Exemplos: Servidor de e-mail: TCP 25, 110, 143 (567, 995, 993) Servidor de banco de dados: TCP 5432, 3306, 1521/1526 Servidor de páginas: TCP 80, 443 Servidor de SSH: TCP 22 Servidor de FTP: TCP 20 e 21 Lista de portas/serviços: http://www.iana.org/assignments/port-numbers Introdução a ferramenta de monitoramento de redes Nagios 7 Problemas mais comuns Fator humano Usuários despreparados/maliciosos Administradores despreparados Desenvolvedores despreparados Redes e sistemas heterogêneos (complexidade) Desrespeito a política de segurança da instituição Infraestrutura de TI Ameaças externas Vírus/SPAM P2P Crackers... Introdução a ferramenta de monitoramento de redes Nagios 8 Problemas mais comuns Ativação de equipamentos na rede utilizando servidores de DHCP Access points, principalmente Vírus Anti-vírus sem atualização Windows desatualizado Softwares de P2P BitTorrent é campeão! Falta de restrições de acesso a serviços e sites Falta de energia Servidores mal dimensionados Largura de banda insuficiente (quando será suficiente?) Sistemas e aplicações com problemas!!! Introdução a ferramenta de monitoramento de redes Nagios 9 Ferramentas Básicas PING Verificar atraso, perdas e conectividade de hosts (Win/Linux). TRACERT Gerar uma rota (hops) entre o host de origem e o host de destino (Win/Linux (traceroute)). ARP Verificar e gerenciar a tabela arp no host (Win/Linux). IPCONFIG Verificar as configurações de endereçamento do host (Win). IFCONFIG Verificar as configurações de endereçamento do host (Linux). NETSTAT Verificar as conexões e as tabelas de roteamento (Win/Linux). TELNET Verificar as portas de comunicação dos serviços (Windows/Linux). Introdução a ferramenta de monitoramento de redes Nagios 10 Ferramentas Básicas MTR (http://winmtr.net/download-winmtr/) Verificar de forma contínua as perdas, atrasos e jitter entre dos hosts (misto de ping com traceroute) (Linux/Win). TTCP (http://www.pcausa.com/Utilities/pcattcp.htm) Gerar tráfego entre dois hosts (Win/Linux). NSLOOKUP Verificar os registros de DNS (Win/Linux). TCPVIEW (http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx) Visualizar de conexões no host, similar ao netstat (Win). DIG (http://members.shaw.ca/nicholas.fong/dig/dig-files3.zip) Verificar registros de DNS. Similar ao nslookup (Win/Linux). IPERF/JPERF 2.0.0.zip/download) (http://sourceforge.net/projects/iperf/files/jperf/jperf%202.0.0/jperf- Gerar tráfego para testes de redes. (Win/Linux) NETMETER (http://superdownloads.uol.com.br/download/132/netmeter/) Monitorar o uso de largura de banda (Win). Introdução a ferramenta de monitoramento de redes Nagios 11 Ferramentas Básicas Network TrafficView (http://www.nirsoft.net/utils/network_traffic_view.html) Monitorar o tráfego das aplicações, registrando diversas características das conexões (Windows). netsh (http://technet.microsoft.com/en-us/library/cc754516%28v=ws.10%29.aspx ) Gerenciar as configurações e serviços de redes por linha de comando no Windows. iftop (http://www.ex-parrot.com/pdw/iftop/ ) Monitorar tráfego de rede por interface e conexões (Linux). tcptrack (http://linux.die.net/man/1/tcptrack ) Monitorar tráfego de rede por interface e conexões (Linux). Introdução a ferramenta de monitoramento de redes Nagios 12 Ferramentas Básicas - Online Alguns sites que possuem ferramentas de diagnóstico de redes: http://network-tools.com/ http://www.dnsstuff.com/ http://www.traceroute.org/ http://visualroute.visualware.com/ http://www.mxtoolbox.com/ http://ping.eu/ http://www.yougetsignal.com/tools/visualtracert/ http://en.dnstools.ch/visual-traceroute.html Introdução a ferramenta de monitoramento de redes Nagios 13 Ferramentas básicas Ping Dica: no Windows, usar o parâmetro –t para deixar o teste contínuo. Utilizada para verificar se um host está Para testar o acesso ativo em rede a redes remotas, o Mostra a latência e as perdas de pacotes primeiro host a ser testado dever ser o entre os hosts testados gateway! Trabalha na camada de rede. Portanto, não tem como testar se as aplicações estão ativas no host remoto Não mostra com precisão a largura de banda Ferramenta mais básica para diagnóstico de redes Introdução a ferramenta de monitoramento de redes Nagios 14 Ferramentas básicas Dica: ao retornar um asterisco, o problema pode estar em algum bloqueio firewall Utilizada para traçar a rota entreno dois do roteador, perdas de hosts pacotes ou loop de roteamento. Mostra quantos saltos (hops) existem no Tracert caminho entre o host origem e o host É possível mapear, de acordo destino e os atrasos em cada umcom os roteadores do caminho, Necessária para diagnóstico de localizações em quais problemas em roteamento geográficas o pacote passou para chegar no No Linux, o nome do comando é destino. traceroute Introdução a ferramenta de monitoramento de redes Nagios 15 Ferramentas básicas Dica: se o MAC do host não aparecer na tabela ARP, ou ARP(Address Resolution Protocol ) não está ativo ou Protocolo responsávelestá poremencontrar outra rede o endereço MAC correspondente ao diferente do host local. endereços IP ARP Utiliza transmissões em broadcast Necessário na comunicação de hosts locais (diretamente conectados) e entre hosts em diferentes redes (gateway) Monta uma tabela no host para fazer cache Introdução a ferramenta de monitoramento de redes Nagios 16 Ferramentas básicas Ipconfig Dica: para trocar o endereço IP, o Utilizada mostrar informações sobre o procedimento endereçamento de interfaces, manipularé ofazer recomendado cliente de DHCP, limpar cache DNS no umde release e depois um renew. Windows Entretanto, Exemplos de uso: dependendo da configuração do ipconfig /all - Mostra todas as servidor e a informações das interfaces situação dos empréstimos, o ipconfig /release - Liberaendereço o empréstimo de a ser endereço para o servidorrecebido de DHCP pode ser o mesmo anterior. ipconfig /renew - Solicita renovação de endereço para o servidor de DHCP ipconfig /renew - Limpa o cache de DNS Introdução a ferramenta de monitoramento de redes Nagios 17 Ferramentas básicas Dica: no Linux para renovar o endereço IP, o utilitário é Utilizada para gerenciar as ointerfaces dhclient. de Ifconfig rede no Linux Mostra estatísticas de tráfego e erros nas interfaces Exemplos de uso: ifconfig eth0 192.168.24.100/24 – configura a interface eth0 com o IP 192.168.24.100 e máscara 255.255.255.0 ifconfig eth0 down – desativa a interface eth0 ifconfig eth0:1 192.168.24.101/24 – cria uma interface virtual sobre a interface física eth0, com o IP 192.168.24.101 e máscara de rede 255.255.255.0 Introdução a ferramenta de monitoramento de redes Nagios 18 Ferramentas básicas Netstat Dica: para deixar o netstat monitorando continuamente as Utilizada para mostrar as conexões de rede, informações, podetabelas de roteamento e estatísticas do se usar o parâmetro tráfego e protocolos –t 2 (a cada dois segundos) no Existem algumas diferenças entre as Windows e no Linux ferramentas no Windows e no o Linux. parâmetro -c Entretanto, as funcionalidades básicas existem nas duas Exemplos de uso: netstat –an – verifica todas as conexões ativas e disponíveis no host netstat –rn – mostra a tabela de roteamento netstat –s – mostra estatísticas dos protocolos Introdução a ferramenta de monitoramento de redes Nagios 19 Ferramentas básicas Dica: para testar e-mail com SMTP, POP3, IMAP, FTP, HTTP pode-se de usar Protocolo com funcionalidades as mensagens dos acesso remoto emulando terminais e usar Não é recomendável oprotocolos uso para tal como um cliente acesso remoto a servidores nativo. devido a Telnet não usar criptografia na comunicação O cliente pode ser usado para testar o acesso a portas de serviços Disponível no Linux e no Windows XP (Vista e 7 não tem mais) Alternativa: Putty (http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe) Exemplos: telnet mail.hotmail.com 25 telnet www.google.com 80 Introdução a ferramenta de monitoramento de redes Nagios 20 Ferramentas básicas Dica: para ativar a medição do jitter no Mtr do Linux, editar o campos na opção Utilizada medir a latência e“Order as perdas de of fields” e adicionar pacotes no caminho entre dois hosts os campos a respeito de jitter Mtr Possibilita a visualização em tempo real dos links congestionados na rede Mostra o Jitter entre os dois hosts Disponível para Linux (por meio de pacotes) e Windows Introdução a ferramenta de monitoramento de redes Nagios 21 Ferramentas básicas Dica: deve-se ter cuidado para não congestionar a rede ao realizar testes Utilizada medir a largura deembanda entre horários onde usuários dois hosts (similar a ferramenta Iperf)usem serviços na rede. TTCP Possibilita que os testes possam ser realizados com os protocolos da camada de transporte TCP e UDP Um lado como servidor (receiver) e o outro como cliente (transmitter) Disponível para Linux (por meio de pacotes) e Windows Introdução a ferramenta de monitoramento de redes Nagios 22 Ferramentas básicas Dica: o uso de servidor cache de DNS local melhora o desempenho da Utilizada para verificar o funcionamento resolução de nomes. Utilizar o DNS do do serviço de DNS Google também devido Testes de registros A (Address), CNAME ao cache! Nslookup (Canonical), MX (Mail Exchange), NS (Name Server) Exemplos: Introdução a ferramenta de monitoramento de redes Nagios 23 Ferramentas básicas Dica: marcar a opção “Always on Top” para poder ver conexões TCP das Utilizada para monitorar asas conexões aplicações Tcpview e UDP em hosts Windows Mostra os processos com as portas de comunicação e conexões Mostra os bytes enviado e recebidos das conexões Introdução a ferramenta de monitoramento de redes Nagios 24 Ferramentas básicas Dica: a ferramenta Dig não está disponível por Utilizada para verificar o funcionamento padrão no Windows. Uma versão para do serviço de DNS Windows está Similar ao nslookup, com algumas disponível neste endereço funções avançadas Dig http://members.shaw.ca/nicholas. Exemplo: fong/dig/dig-files3.zip dig www.ifsul.edu.br dig @8.8.8.8 www.ifsul.edu.br dig +trace www.ifsul.edu.br Introdução a ferramenta de monitoramento de redes Nagios 25 Ferramentas básicas Dica: o tráfego efetivo (vazão) máxima em uma rede Utilizada para gerar tráfegoethernet na redea 100Mbit/s é cerca Linha de comando: iperf de 94Mbit/s. Iperf/Jperf Interface gráfica em Java: jperf Funciona com cliente/servidor Cliente envia dados para o servidor (upload) Servidor recebe os dados do cliente ou múltiplos clientes (download) Interessante para testar links de redes wireless, firewall, roteadores e meios físicos Introdução a ferramenta de monitoramento de redes Nagios 26 Ferramentas básicas Dica: trocar a unidade de medição da ferramenta para bit/s Utilizada para medir o tráfego gerado em Netmeter um host Windows Interessante para medir o tráfego de aplicações usadas em estações de trabalho Armazena totais e gera relatórios diários, semanais e mensais de tráfego Introdução a ferramenta de monitoramento de redes Nagios 27 Ferramentas básicas Dica: utilizar o modo Raw Sockets para monitorar interfaces Utilizada para medir o tráfego geradosem e fios Network TrafficView analisar as aplicações em rede em um host Windows Interessante para monitorar em tempo real as aplicações usadas em estações de trabalho Possui diversas estatísticas em cada conexão capturada Introdução a ferramenta de monitoramento de redes Nagios 28 Ferramentas básicas Dica: para capturar tráfego de rede e gravar no arquivo capture.etl: para gerenciar funcionalidades •Para Utilizada desabilitar o firewall: netsh de rede em um host netsh firewall set opmode disable netsh trace start capture=yes Windows tracefile=c:\capture.etl Interessante para criação Para de scripts parar: para •Para automatização configurar o endereçamento da interface rede "Local Area de tarefas netsh de trace stop Connection": Diminuição de local cliques para [Máscara] realizar[Gateway] as netsh interface ip set address static [EndIP] 1 tarefas! •Para configurar o servidor de DNS na interface de rede "Local Area Connection": netsh interface ip set dns local statica [EndIP do Servidor de DNS] •Para configurar a interface de rede em DHCP (obter IP automático): netsh interface ip set address local dhcp Introdução a ferramenta de monitoramento de redes Nagios 29 Ferramentas básicas Dica: utilizar a letra “h” para verificar as Utilizada para medir o tráfego em possibilidades de ordenação de interfaces no Linux colunas. As letras Interessante para medir o tráfego “n”, “N”em e “p” tempo real de aplicações e endereços IP ativam e desativam a resolução de Possui filtros para monitoramento nomes e as portas utilizadas iftop Exemplos: iftop –i eth0 –F 200.90.90.0/24 (monitora somente endereços da rede 200.90.90.0/24) iftop –i eth0 –f “port 443 or port 1935” (monitora somente as portas 443 e 1935) Introdução a ferramenta de monitoramento de redes Nagios 30 Ferramentas básicas Dica: utilizar a letra “s” para ordenar as conexões por em consumo de Utilizada para medir o tráfego banda ou volume de interfaces no Linux bytes tcptrack Interessante para medir o tráfego em tempo real de aplicações e endereços IP Similar a ferramenta Tcpview para Windows Exemplos de uso (utiliza o padrão pcap (tcpdump) para os filtros tcptrack –i eth0 (monitora as conexões na interface eth0) tcptrack -i eth0 port 80 and not host 200.98.98.15 (monitora as conexões na porta 80 e que não sejam do host 200.98.98.15) Introdução a ferramenta de monitoramento de redes Nagios 31 Nagios Ferramenta de monitoramento de código-fonte aberto Evolução do projeto Netsaint Histórico (http://www.nagios.org/about/history) Baseado em plugins Qualquer serviço de rede pode ser monitorado Possui agentes para Windows e Linux Monitoramento de usuários, espaço em disco, processos... Interface web Configurações em arquivos texto Introdução a ferramenta de monitoramento de redes Nagios 32 Nagios Instalação Distribuição CentOS 5.8 Ativar o repositório RPMForge (http://pkgs.repoforge.org/rpmforge-release/) Instalar os pacotes yum install nagios nagios-plugins Para instalar o agente de monitoramento NRPE (Nagios Remote Plugin Executor) e os seus plugins yum install nagios-nrpe nagiosplugins-nrpe Introdução a ferramenta de monitoramento de redes Nagios 33 Nagios Instalação Agente no Windows XP/2003/2008 Baixar o agente NSClient++ http://sourceforge.net/projects/nscplus/ Instalar o cliente Instalação tipo “NEXT” Será criado um serviço no host O agente fica escutando na porta 5666 usando o protocolo TCP A configuração é em modo texto. Introdução a ferramenta de monitoramento de redes Nagios 34 Nagios Configuração Diretório padrão de configurações: /etc/nagios Copiar o diretório /etc/nagios/objects para /etc/nagios/meusite Modificar o caminho dos arquivos de configuração no arquivo /etc/nagios/nagios.cfg Comentar todas as diretivas que contenham cfg_file ou cfg_dir Criar a diretiva: cfg_dir=cfg_dir=/etc/nagios/meusite Qualquer arquivos que esteja neste diretório e que tenha a extensão .cfg será interpretado como arquivo de configuração no Nagios Introdução a ferramenta de monitoramento de redes Nagios 35 Nagios Configuração O Nagios trabalha com templates (modelos) Isto facilita bastante a configuração devido a diminuição de linhas nas configurações Exemplo de definição de um host, arquivo windows.cfg: Introdução a ferramenta de monitoramento de redes Nagios 36 Nagios Configuração Para cada host podem ser definidos serviços a serem monitorados Os monitoramento são feitos por meio de plugins Exemplo de definição de um serviço: Introdução a ferramenta de monitoramento de redes Nagios 37 Nagios Configuração Exemplo de definição de um modelo, arquivo templates.cfg: Introdução a ferramenta de monitoramento de redes Nagios 38 Nagios Configuração O modelo de contato está no arquivo templates.cfg Exemplo de definição de contatos, arquivo contacts.cfg: Introdução a ferramenta de monitoramento de redes Nagios 39 Nagios Configuração Os comandos definem de que forma serão monitorados os hosts e os serviços São baseados nos plugins (/usr/lib/nagios/plugins/) Exemplo de definição de comandos, arquivo commands.cfg: Introdução a ferramenta de monitoramento de redes Nagios 40 Nagios Configuração Hierarquia de hosts A diretiva parents indica quais hosts são necessários estarem ativos para o host a ser monitorado possa ser alcançado. Por exemplo, se um roteador que fique entre o Nagios e o host a ser monitorado não estiver ativo (DOWN) não adianta testar o host requisitado. Introdução a ferramenta de monitoramento de redes Nagios 41 Nagios Configuração Depuração da configuração Para verificar a configuração do Nagios, pode-se utilizar o seguinte comando: /usr/bin/nagios -v /etc/nagios/nagios.cfg Introdução a ferramenta de monitoramento de redes Nagios 42 Nagios Plugins Podem ser criados com qualquer linguagem de programação As saídas devem ser as seguintes: Ok (0) - tudo certo Warning (1) – alerta Critical (2) - crítico Unknown (3) - desconhecido O plugin pode gerar dados de saída para serem usados em gráficos (performance data) Introdução a ferramenta de monitoramento de redes Nagios 43 Nagios Verificação de parâmetros Plugins Exemplo Coleta a quantidade de MACs por SNMP Se maior ou igual ao valor Checagem de endereços MAC na tabela de crítico, código 2 (CRITICAL) switches usando SNMP Se maior ou igual ao valor de alerta, código 1 (WARNING) Se for menor que o valor de alerta, código 0 (OK) Passagem de parâmetros para definir os limites de CRITICAL e WARNING Introdução a ferramenta de monitoramento de redes Nagios 44 Nagios Demonstração Usuário: nagiosadmin Senha: errc2012 Link da VM (VMWare Player): ftp://192.168.200.3/Nagios_ERRC.zip Introdução a ferramenta de monitoramento de redes Nagios 45 Referências Livros PETERSON, L; DAVIE, B. Redes de Computadores – Uma Abordagem de Sistemas. 3ª Ed. Campus, 2004. KUROSE, J; ROSS, K. Redes de Computadores e a Internet – Uma Abordagem top-down. 3ª Ed. Pearson, 2006. TANENBAUM, A. Redes de Computadores. 4ª Ed. Campus, 2003. CISCO, Curso Oficial CCNA – Módulo 1 BARTH, Wolfgang. Nagios – System and Network Monitoring. 2nd edition. No Starch Press, 2008. Introdução a ferramenta de monitoramento de redes Nagios 46 Referências Sites Site do Nagios: http://www.nagios.org/ Adicionais para o Nagios: http://exchange.nagios.org/ MulticastStorm: http://multicaststorm.blogspot.com/ Introdução a ferramenta de monitoramento de redes Nagios 47