Micas Rafael - PFC
Micas Rafael - PFC
Micas Rafael - PFC
Novembro de 2010
INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES
Novembro de 2010
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Micas Camela Manuel
DisplayText Rafael
cannot span more than on
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
ÍNDICE
AGRADECIMENTOS .............................................................................................................III
DEDICATÓRIA.......................................................................................................................IV
DECLARAÇÃO DE HONRA .................................................................................................. V
ÍNDICE DE TABELAS ...........................................................................................................VI
ÍNDICE DE FIGURAS .......................................................................................................... VII
LISTA DAS ABREVIATURAS UTILIZADAS .................................................................. VIII
RESUMO .................................................................................................................................. X
CAPÍTULO 1 INTRODUÇÃO .................................................................................................. 1
1.1 Introdução.................................................................................................................1
1.2 Tema e sua delimitação ............................................................................................ 3
1.2.1 Tema .......................................................................................................... 3
1.2.2 Delimitação do tema.................................................................................. 3
1.3 Objecto da investigação............................................................................................ 3
1.4 Formulação do problema .......................................................................................... 3
1.6 Metodologia.............................................................................................................. 4
1.7 Justificação do tema.................................................................................................. 5
1.8 Estrutura do trabalho ................................................................................................ 6
CAPÍTULO 2 MARCO TEÓRICO-CONCEITUAL DA INVESTIGAÇÃO ........................... 7
Introdução....................................................................................................................... 7
2.1 Gestão de Redes ....................................................................................................... 7
2.1.1 Metas para a Gestão................................................................................... 8
2.1.2 Recursos geridos........................................................................................ 8
2.2 Gestão de redes TCP/IP............................................................................................ 9
2.2.1 Sistema de gestão de rede.......................................................................... 9
2.3 Sistema de Monitorização de Rede ........................................................................ 19
2.3.1 Parâmetros de avaliação das ferramentas ................................................ 20
CAPÍTULO 3 MARCO CONTEXTUAL DA INVESTIGAÇÃO .......................................... 23
3.1 Estado actual da rede do ISUTC ............................................................................ 23
3.1.1 Elementos de rede.................................................................................... 24
3.1.2 Topologia de rede .................................................................................... 25
3.1.3 Arquitectura de rede ................................................................................ 25
I
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
II
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
AGRADECIMENTOS
Agradeço primeiramente a Deus por ter me dado saúde e inteligência para concluir este
trabalho.
Aos meus pais, Manuel Camela e Isaura Cuambe, por tudo que me ensinaram e por sempre
terem me mostrado a importância da educação.
Ao meu tio Jaime Cuambe pela ajuda que sempre se dispôs a dar.
Ao meu primo Humberto Uamusse pelo aconselhamento prestado.
A toda minha família pelo apoio que me deram neste período, compreendendo a importância
desta etapa da minha vida.
Ao Eng.º Elton Pedro Sixpence pelo seu trabalho de orientação, sem o qual a elaboração deste
trabalho não seria possível.
Ao professor Mário Malagón pela ajuda na escolha do tema.
A Márcia por todo o carinho, apoio e atenção que sempre demonstrou em todas as etapas
desta caminhada, principalmente nos momentos difíceis.
Aos meus amigos Danilo Bhangy, Agnalda da Graça, Sheyla Cassy, Dalila Annette, Carmen
Rodrigues, Teresa Isabel, José Domingos, Raimundo Manuel, Timóteo Júnior, Filipe
Chissequere, Frederick Suluda, Aissa Faquir, que me ajudaram sempre que possível.
Ao meu grupo Bengala pela força que sempre me foi dada.
Aos meus colegas de turma, que tornaram todos os 5 anos de formação mais fáceis.
A todos os professores que contribuíram para esta longa caminhada.
III
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
DEDICATÓRIA
IV
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
DECLARAÇÃO DE HONRA
Eu, Micas Camela Manuel Rafael declaro por minha honra que o presente Projecto Final do
Curso é exclusivamente de minha autoria, não constituindo cópia de nenhum trabalho
realizado anteriormente e as fontes usadas para a realização do trabalho encontram-se
referidas na bibliografia.
Assinatura: __________________________________
V
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
ÍNDICE DE TABELAS
VI
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
ÍNDICE DE FIGURAS
VII
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
VIII
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
IX
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
RESUMO
As redes de computadores vem sendo o elemento principal para o funcionamento das
organizações a nível mundial, esse facto surge da quantidade de benefícios que as redes
proporcionam. Em contrapartida surge a necessidade de garantir o pleno funcionamento delas,
pois se não for tomada a devida atenção, com a falha da rede, o funcionamento da empresa
ficará comprometido. O ISUTC tem também como um dos seus elementos principais a sua
rede de computadores, e com a integração de vários serviços de rede e pela rápida expansão
da rede do ISUTC, tornou-se imprescindível o uso de um sistema de gestão de rede que
pudesse auxiliar os administradores de rede do ISUTC, de modo a poder fornecer informações
em tempo real sobre o estado de operação dos elementos de rede. De modo a responder as
necessidades descritas, concluiu-se que seria de grande importância, a implementação de um
sistema de gestão de rede. Como resposta ao problema, foi elaborado um estudo sobre
sistemas de gestão de rede, concentrando-se mais nos de monitorização. Existindo vários
modelos de gestão, foram seleccionados os sistemas de monitorização que mais se adequaram
aos modelos que se pretendiam usar. De seguida os sistemas foram avaliados e foi escolhido o
que melhor avaliação apresentou.
No final foram analisados os resultados que o sistema apresentou, sendo o resultado principal
uma descrição detalhada da operação dos servidores e serviços de rede.
X
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
CAPÍTULO 1 INTRODUÇÃO
1.1 Introdução
Na presente era das TICs (Tecnologias de Informação e Comunicação), as empresas buscam
no mundo da informática soluções que de um modo geral, possibilitem a colecta, o transporte,
o processamento e a disseminação das informações com as quais as empresas lidam e tomam
conta. Deste modo a solução mais empregue tem sido, o uso de computadores que são
utilizados para criar, modificar e guardar as informações das empresas.
Segundo Tanembaum (2003, p. 3), “Toda empresa de grande e médio porte e muitas empresas
pequenas têm uma dependência vital de informações computadorizadas.”.
De forma a tornar essa solução mais eficaz, as TICs têm sido implementadas com suporte em
redes de computadores, que possibilitam atingir os propósitos de sua implementação.
Utilizando as redes de computadores como suporte, os computadores que visam tratar das
informações das empresas passam a estar interconectados. Sendo aqui, a questão da partilha
de informação e recursos, o mais importante, o objectivo é tornar todos os programas,
equipamentos e especialmente dados ao alcance de todas as pessoas na rede,
independentemente da localização física do recurso e do utilizador.
Após a implementação da rede, serviços de redes são implementados, que visam habilitar o
uso dos recursos existentes e a disponibilização de informações na rede.
Normalmente, durante a operação da rede, os serviços nela implementados têm sido alvos de
avarias, que são devidos a erros de software e ou de hardware comprometendo o
1
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
funcionamento da empresa, pois os utilizadores que mais utilizam esses serviços ficam
impossibilitados de realizar as suas funções.
2
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
De modo a dar suporte aos serviços e recursos mencionados estão presentes na rede, 6
servidores que implementam os serviços da rede que são executados no meio lógico através
da implementação de alguns protocolos da pilha de protocolos TCP/IP. Protocolos esses, que
garantem a operação contínua e funcionamento da rede.
3
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Objectivos
Objectivo geral
Implementar um sistema de monitorização na rede de computadores do ISUTC.
Objectivos específicos
• Identificar os serviços de rede implementados;
• Identificar os problemas de rede existentes;
• Definir os sistemas de monitorização existentes;
• Escolher e implementar um sistema de monitorização.
1.6 Metodologia
Para a elaboração deste trabalho e posterior implementação do sistema, foram realizadas as
seguintes actividades de modo a concretizar cada um dos objectivos específicos:
4
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
O ISUTC é uma instituição de ensino superior, que têm implementada uma rede de
computadores com a finalidade de prover a partilha de recursos e informação aos seus
utilizadores. No grupo dos utilizadores existem os estudantes, professores e funcionários da
instituição. Os estudantes utilizam a rede para aceder a Internet para pesquisa de informação,
para trocar correspondência através do correio electrónico, e acesso remoto dos seus ficheiros
ou arquivos disponibilizados pelos professores. Os professores utilizam a rede para aceder a
internet para preparar as matérias a leccionar, trocar correspondência através do correio
electrónico, e partilhar informações com os estudantes. Os funcionários utilizam a rede para
trocar a correspondência através do correio electrónico, acedem a Internet para obterem certas
5
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Analisado o estado actual da rede de computadores do ISUTC quanto a sua dimensão medida
pelo número de utilizadores, e pela importância dos serviços de rede que nela estão
implementados, conclui-se que é de grande importância a utilização de um sistema com a
finalidade de ajudar aos administradores na gestão da rede.
6
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Introdução
As redes de computadores actuais são compostas por uma grande variedade de dispositivos
que devem se comunicar e compartilhar recursos. Na maioria dos casos, a eficiência dos
serviços prestados está associada ao bom desempenho dos sistemas da rede. Para gerir esses
sistemas e as próprias redes, um conjunto eficiente de ferramentas de monitorização
automatizadas é necessário, sendo fundamental a utilização de técnicas padronizadas para a
correcta representação e o intercâmbio das informações obtidas.
Segundo Pinheiro (2006, p.1) “A Gestão de Redes pode ser definida como a coordenação
(controlo de actividades e monitorização de uso) de recursos materiais (modems, routers, etc.)
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”.
A gestão de redes é constituída por três etapas, podendo essas etapas organizarem-se do
seguinte modo:
• Colecta de dados – é um processo, em geral automático, que consiste na monitorização
sobre os recursos a serem geridos;
• Diagnóstico – é um processo que consiste no tratamento e análise realizados a partir
dos dados colectados. O computador de gestão executa uma série de procedimentos
(por intermédio de um operador ou não) com o intuito de determinar a causa do
problema representado no recurso gerido;
• Acção ou controlo – uma vez diagnosticado o problema, cabe uma acção, ou controlo,
sobre o recurso, caso o evento não tenha sido passageiro (incidente operacional). [S1]
7
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
8
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
As redes de computadores devem estar disponíveis o tempo todo para auxiliar as instituições,
empresas e organizações a atingir objectivos como vendas, qualidade, rapidez e eficiência.
1
Simple Network Management Protocol
2
Modelo de referência TCP/IP
3
Modelo de referencia Open Systems Interconnection (OSI)
9
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Arquitectura do sistema
A maioria das arquitecturas de gestão de redes utiliza a mesma estrutura básica e conjunto de
relações. Dispositivos geridos, tais como computadores ou dispositivos de rede, executam um
software que os habilita a enviar alertas quando algum problema é detectado. Recebendo
esses alertas, as entidades de gestão são programadas para reagir executando uma ou várias
acções, incluindo notificação aos operadores do sistema, adicionar ao histórico de eventos,
desligamento do dispositivo, e tentativa de reparo automático.
Entidades de gestão também podem requisitar valores de certas variáveis às estações da rede.
Essas requisições podem ser automáticas ou activadas pelo utilizador, mas o agente no
dispositivo gerido responde a todas as requisições.
A arquitectura geral dos sistemas de gestão de redes TCP/IP apresenta quatro componentes
básicos que são:
• os elementos geridos;
• as estações de gestão;
• os protocolos de gestão; e
• as informações de gestão ou MIB4.
A estação de gestão serve de interface para o gerente humano num sistema de gestão de rede.
4
Management Information Base (Base de Informações de Gestão)
10
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
O SNMP é utilizado para obter informações de servidores SNMP, que são agentes espalhados
em uma rede baseada na pilha de protocolos TCP/IP. Os dados são obtidos através de
requisições de um gerente a um ou mais agentes utilizando os serviços do protocolo de
transporte UDP para enviar e receber suas mensagens através da rede.
Os cinco tipos de mensagens SNMP que são trocadas entre o gerente e o agente são:
5
User Datagram Protocol
6
Request for Comments (documento que descreve os padrões de cada protocolo da Internet )
11
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Além de ter sido projectado para operar sob UDP, um protocolo não orientado a conexão, o
próprio SNMP também e um protocolo não orientado a conexão, sendo cada troca de
mensagens uma transacção diferente entre o agente e a estação de gestão. Cada estação de
gestão, como também o agente, devem implementar os protocolos SNMP e, por consequência,
UDP e IP7 para poderem se comunicar. Tal imposição exclui do processo de gestão
dispositivos que não suportam parte dos protocolos TCP/IP, ou que, apesar de implementarem
o TCP/IP para suportar suas aplicações, não desejam adicionar mais carga ao seu sistema com
o suporte ao protocolo SNMP.
7
Internet Protocol (Protocolo de Internet)
12
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
SNMPv2 e SNMPv3
Apesar do alto índice de aceitação, a implementação de protocolos e aplicações SNMP
apresentaram deficiências, principalmente, com relação a segurança e a transferência eficiente
de um grande número de informações do agente para o gerente. Além disso, o SNMP não se
adequa a gestão de grandes redes de computadores, devido ao fato de apresentar limitações de
desempenho para obtenção de requisições explícitas, e não dar suporte à comunicação
gerente-gerente.
Durante o ano de 1993, foram publicadas 11 RFCs definindo revisões para o SNMP e dando
início ao padrão SNMPv2, sendo o primeiro, o RFC 1441.
Esta série de revisões trouxe consigo grandes avanços que foram incorporados ao protocolo
original. Tais avanços podem ser classificados de acordo com as seguintes categorias:
• Estrutura de informação;
• Primitivas de comunicação (UDPs);
• Comunicação gerente-gerente e gestão hierárquica;
• Segurança.
Ela pode ser caracterizada como uma base de dados activa, o que possibilita que os valores
das suas variáveis sejam, não só recuperados, como também alterados.
Cada agente deve manter sua própria instância da MIB, relacionada com os objectos que estão
sendo geridos sob o seu domínio. O RFC 1213, define um conjunto de variáveis utilizadas
para a monitorização e o controlo de redes TCP/IP.
Para cada novo dispositivo a ser gerido, que não tenha sido previsto a sua gestão, é necessário
que seja definido um conjunto de novas variáveis, estendendo assim, a MIB-II original.
8
Internet Engineering Task Force
14
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Estrutura da MIB
A estrutura da MIB e a identificação dos objectos geridos são definidos no padrão chamado
Structure of Management Information (SMI), encontrados no RFC 1155. As definições são
feitas utilizando-se um pequeno conjunto de características e elementos ASN.19.
Associado a cada um dos objectos da MIB, está o seu identificador, que nomeia este objecto.
Um identificador de um objecto, é um identificador único, que consiste numa sequência de
inteiros conhecidos como sub-identificadores. A sequência, lida da esquerda para a direita,
define a localização deste objecto na estrutura de árvore da MIB. Esta identificação segue uma
estrutura hierárquica, cuja convenção também serve para identificar os tipos dos objectos.
Tipos de dados
O SNMP utiliza apenas um pequeno conjunto de diferentes tipos de dados, classificados em
tipos universais e tipos de aplicação.
9
Abstract Syntax Notation One,
15
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Tipos universais
Estes são os tipos permitidos para definirem objectos da MIB. Eles são baseados na classe
UNIVERSAL:
1. INTEGER (UNIVERSAL 2);
2. OCTET STRING (UNIVERSAL 4);
3. NULL (UNIVERSAL 5);
4. OBJECT IDENTIFIER (UNIVERSAL 6);
5. SEQUENCE, SEQUENCE OF (UNIVERSAL 16);
Tipos de aplicação
Os tipos de aplicação são:
1. DisplayString: uma string10 de 0 ou mais octetos. Cada variável deste tipo na
MIB-II, não deve possuir mais de 255 caracteres;
2. IpAddress: este tipo é um OCTET STRING de tamanho 4, um para cada octeto
do número IP;
3. PhysAdress: um OCTET STRING que especifica o endereço físico;
4. Counter: um inteiro não negativo, que só pode ser incrementado e não
decrementado;
5. Gauge: um inteiro não negativo, que pode ser tanto incrementado como
decrementado;
6. TimeTicks: um inteiro não negativo, que armazena o tempo em centenas de
segundos, a partir de alguma época.
10
Cadeia de caracteres
16
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
• Sistema de gestão distribuído – possui duas ou mais estações de gestão. Permite que o
trabalho seja feito de forma hierárquica, ou seja, cada nó é responsável por
determinado tipo de actividade gestão.
Nas estações de gestão encontramos o software11 gerente, responsável pela comunicação
directa desta estação com os agentes nos elementos geridos. As operações de monitorização e
de controlo são feitas através dos protocolos de gestão.
O sistema de gestão de uma rede é integrado e composto por uma colecção de ferramentas
para monitorar e controlar seu funcionamento. Uma quantidade mínima de equipamentos
separados é necessária, sendo que a maioria dos elementos de hardware e software para
gestão está incorporada aos equipamentos já existentes.
Distribuição da gestão
Como mencionado, um sistema de gestão consiste de alguns ítems de hardware e software
adicionais, implementados entre os equipamentos de rede existentes.
O software usado para auxiliar o gestão da rede é instalado em servidores, estações e
processadores de comunicação, tais como, roteadores, concentradores de acesso e switches.
Ele é projectado para oferecer uma visão de toda a rede como uma arquitectura unificada,
com endereços e rótulos associados a cada ponto da rede e atributos específicos de cada
elemento e link12 conhecido do sistema de gestão.
11
Programa de computador
12
Meio de comunicação
17
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Pelo menos um servidor da rede é designado para exercer a função de servidor de gestão da
rede. O servidor de gestão da rede possui uma colecção de softwares denominados de
Network Management Application (NMA). A NMA inclui uma interface de operador para
permitir que um utilizador autorizado faça a gestão da rede. A NMA responde aos comandos
do operador, mostrando informações e/ou enviando comandos para os agentes através da rede.
Outros nós que fazem parte do sistema de gestão de rede incluem um módulo agente que
responde às solicitações do servidor de gestão. Os agentes são implementados em sistemas
finais que suportam aplicações de utilizadores finais, bem como em nós que fornecem
serviços de comunicação, tais como, roteadores e controladores de acesso remoto.
Para manter a alta disponibilidade de gestão, dois ou mais servidores são usados. Em
condições normais, um deles é usado para o controle, enquanto os outros ficam colectando
estatísticas ou em estado de espera. No caso de falha daquele que está sendo utilizado para
controlo, outro poderá substituí-lo.
13
pessoa que interage com o sistema de gestão
14
Network Operation Center (Centro de Operações de Rede)
18
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Os sistemas de monitorização de rede são sistemas que têm como função o controlo
permanente sobre a operação e funcionamento de componentes de uma rede de computadores,
sendo esses componentes computadores (estações de trabalho e servidores), switches e
routers. Esses sistemas permitem também monitorar a infra-estrutura de rede e aplicações de
rede.
15
Correio electrónico
16
Rádio mensagem
19
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
17
são indivíduos que elaboram e modificam software e hardware de computadores, seja desenvolvendo
funcionalidades novas, seja adaptando as antigas.
18
Falha de segurança que pode existir em um programa de computador ou sistema operativo
20
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
terminais têm acesso a redes através de firewalls, sendo-lhes permitido obter informação
acerca dos recursos que estão a monitorar. Porém essa informação pode ser utilizada para
atacar a rede em causa. Essa conveniência torna os terminais de monitorização num sistema
alvo, pois uma vez comprometida a segurança nestes, será mais fácil comprometer a
segurança da rede que se deseja atacar. Como exemplo, temos o caso em que o administrador
utiliza chaves Secure Shell19 (SSH) partilhadas.
Existem, no entanto, duas ameaças das quais esses sistemas não se deverão proteger: ataques
DoS e análise de tráfego. Os ataques de DoS resultam na impossibilidade de obtenção de
dados por parte da estação de gestão, dada a falta de disponibilidade resultante deste tipo de
ataques. Porém, essa indisponibilidade é praticamente impossível de distinguir de falhas de
rede, que deverão ser familiares a qualquer administrador, e que deverão ser tidas em conta na
19
protocolo para login remoto seguro
20
é o acto de desligar e ligar novamente um equipamento, geralmente um computador
21
interceptar e registrar o tráfego de dados em uma rede de computadores
21
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Dados todos estes problemas, torna-se óbvio que a segurança é um factor crítico na escolha do
sistema a utilizar, sendo este consequentemente o elemento de maior peso nessa escolha.
Alerta-se ainda para o facto de, por muito seguro que seja o sistema, se a segurança da rede
onde este se executa não estiver garantida, de nada servirá o acréscimo que a segurança do
sistema irá trazer.
22
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
No âmbito educacional, a rede foi projectada de modo a prover serviços para que os
estudantes e docentes possam ter acesso as tecnologias de informação e comunicação com o
objectivo do aprendizado. É com estas tecnologias que por exemplo os estudantes fazem a
pesquisa de informações na Internet para estudos e realização de trabalhos, fazem uso do
correio electrónico de modo a trocar a correspondência, e guardem ficheiros e arquivos de
forma segura para uso posterior dentro da instituição. Os docentes por sua vez, acedem a
Internet para colectar informações que servirão de base para a preparação das matérias das
aulas a leccionar e fazem uso do correio electrónico para enviar informações sobre aulas,
avaliações assim como forma de comunicação à distância com os estudantes.
23
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
22
Provedor do Serviço de Internet (Internet Service Provider)
24
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
25
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
4.1.1 OpenNMS
O OpenNMS endereça as camadas Service Management e Network Management do modelo
TMN e endereça igualmente todo o modelo FCAPS, com especial ênfase à gestão de falhas e
gestão de desempenho. A gestão de falhas é feita recorrendo ao polling, à recepção assíncrona
de mensagens, como é o caso de SNMP traps, e recorrendo a thresholds comparando-os a
dados de desempenho. A gestão de desempenho é feita recorrendo a protocolos como o SNMP
e à comunicação com agentes como o NSClient. Quanto à gestão de configurações esta é feita
através da WebUI. O relatório de actividades não é apresentado na parte gráfica mas pode ser
enviado a estações externas que queiram processar esses dados.
A próxima aplicação em análise é o Nagios e consiste numa das melhores soluções Open
Source para monitorar sistemas remotos, reconhecida principalmente pela sua flexibilidade e
estabilidade.
4.1.2 Nagios
O Nagios consiste numa aplicação de monitorização de sistemas e de redes especializada, em
termos do modelo FCAPS, na área de gestão de falhas. Essa monitorização é flexível e
versátil devido à existência de ficheiros de configuração e à possibilidade de não só se
poderem utilizar plugins diversos já existentes, como também criar novos de acordo com as
necessidades do utilizador. Pode-se utilizar esta aplicação para monitorar serviços de rede,
como a disponibilidade de servidores POP, SMTP e HTTP, e também pode-se-lhe utilizar
26
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
23
Representação de um programa em execução na memória
24
Servidor Web
25
Registos de execução de um programa
27
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
se o número de problemas que poderão ser causados por um hacker que se apodere da
máquina;
• Restringir o acesso ao directório configurado como check_result_path: nesse
directório, indicado no ficheiro de configuração principal do Nagios, só deverá ter
acessos de leitura e escrita, o utilizador nagios, pois nela são armazenados os dados
retornados pelos plugins temporariamente, antes de serem processados. Caso o acesso
a essa directoria não seja vedada, poder-se-ão ter os mesmos problemas associados à
falta de autenticidade e confidencialidade, causados por outros utilizadores do mesmo
terminal;
• Restringir o acesso ao ficheiro configurado como External Command File: esse
ficheiro, indicado no ficheiro de configuração principal do Nagios, funciona como um
buffer FIFO, onde aplicações externas (exemplo CGI's) podem alterar o processo de
monitorização em funcionamento, como por exemplo: forçando verificações de
serviços de forma a que sniffers sejam postos em execução; alterando comandos, ou
seja, alterar o plugin chamado e/ ou os parâmetros a ele associados; e através do
cancelamento temporário de notificações;
• Proteger o acesso aos agentes remotos: como agentes remotos entendem-se aplicações
como o já indicado NRPE, que consistem em pontes que fazem a comunicação entre
os plugins e o Nagios. Outro exemplo seria a aplicação que faz a ponte entre o Nagios
e sistemas Windows, que é o NSClient. Essa protecção deve ser aplicada pois não se
quer que todos tenham acesso à informação disponibilizada por esses agentes remotos;
• Assegurar a confidencialidade dos canais de comunicação existentes entre o Nagios e
os agentes remotos.
Na secção seguinte, analisa-se a aplicação Cacti que consiste numa excelente ferramenta de
análise de desempenho.
4.1.3 Cacti
O Cacti consiste numa aplicação especializada na área de monitorização de desempenho,
sendo uma muito boa escolha para quem deseja monitorar o desempenho de dispositivos
remotos. Esta aplicação faz a recolha, o armazenamento, e a apresentação gráfica de dados
inerentes ao desempenho de um dado dispositivo como, por exemplo, a carga de CPU,
quantidades de memória ocupadas, ou larguras de banda consumidas numa interface.
28
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
O Cacti é constituído por uma interface gráfica, que utiliza a tecnologia PHP, para consultar
uma base de dados MySQL, gerida também pelo Cacti. A informação é inserida, nessa base
de dados, utilizando uma ferramenta denominada RRDTool (Round Robin Database Tool) que
consiste numa ferramenta que armazena e apresenta dados que se alteram com o passar do
tempo, como são os casos da temperatura numa sala de servidores ou da largura de banda
consumida numa interface. Por sua vez, o RRDTool utiliza o conjunto de aplicações SNMP,
contidas no pacote net-snmp, para a recolha dos dados a armazenar na base de dados. Isto
tudo significa que os seguintes softwares são cruciais na instalação do Cacti:
• net-snmp: responsável pela recolha de dados;
• RRDTool: responsável pelo armazenamento;
• Apache server (httpd): servidor Web;
• MySQL (server): base de dados onde serão armazenados os dados;
• PHP: linguagem utilizada pela interface Web para consulta dos dados a apresentar.
O maior poder desta aplicação consiste na representação gráfica de dados que variam com o
tempo. A facilidade em gerar e gerir gráficos, como os de desempenho, é amplamente
reconhecida. Outra grande funcionalidade é a gestão de utilizadores, que permite ao
administrador criar vários utilizadores, da interface, atribuindo a cada um diferentes níveis de
permissões, fazendo com que estes tenham acesso a diferentes gráficos com informações
distintas., visto que essas permissões podem ser especificadas em relação a cada gráfico.
Com o aumento do número de dados a recolher, o poller, ou seja, o script responsável pela
recolha e armazenamento dos dados, começa a ter problemas de desempenho. Para solucionar
este problema foi desenvolvido um poller chamado Spine, escrito utilizando a linguagem C,
de forma a torná-lo mais eficiente, não só pelo código nativo, mas também pelo facto de este
tomar partido de threads do sistema operativo (pthreads).
Uma das grandes falhas desta aplicação consiste no facto desta não conter a funcionalidade de
notificar administradores quando os valores de um determinado gráfico saem dos limites
especificados por um threshold.
29
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Como exemplo, tem-se o Hobbit, inspirado no Big Brother, que consiste num monitor
centralizado que recebe dados de softwares instalados nas máquinas que se desejam
monitorar. Porém, este não fornece tantas funcionalidades quanto o Nagios, por exemplo.
Outra aplicação de monitorização é o Monit que, por sua vez, consiste numa ferramenta
destinada a uma utilização mais modesta, tipicamente nos próprios sistemas que se desejam
monitorar. Esta é particularmente conhecida pela sua muito boa integração com o init e os rc-
scripts, o que lhe confere a capacidade de reiniciar serviços que poderão ter falhado.
4.1.5 Conclusão
Com base na análise aqui feita, fica claro que não existe uma ferramenta que simplesmente se
caracterize como sendo a melhor de todas. A conclusão, a que se chega, é a de que, com base
nas características aqui apresentadas, fica a cargo de cada administrador escolher a solução
que melhor lhe sirva. O OpenNMS é a aplicação mais completa, detentora das capacidades de
analisar a disponibilidade de dispositivos remotos, alterar a configuração desses dispositivos
conforme as conclusões chegadas a partir da própria monitorização, descoberta automática de
dispositivos de rede, analisar o desempenho desses dispositivos demonstrando os resultados
em gráficos intuitivos, e com suporte ao protocolo SNMPv3.
Por outro lado, temos dois especialistas, o Nagios e o Cacti. O Nagios especializa-se na
monitorização de dispositivos remotos suportando, não só a comunicação via SNMP, mas
também toda a flexibilidade e personalização proveniente das capacidades dos plugins que
podem ter inúmeras utilidades não suportadas pelo SNMP. Essa especialização não significa a
falta de suporte às outras funcionalidades, pois o Nagios também tem excelente suporte a
30
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Por último tem-se o Cacti, especializado na análise de desempenho, capaz de ler informação
contida, não só em bases de dados MySQL como também, em ficheiros no formato RRD files.
Ao contrário do Nagios, o Cacti, apenas contém a funcionalidade onde se especializa. Isto
tudo resume-se na tabela abaixo.
31
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Feita a análise descrita na tabela acima, o autor conclui que o Nagios melhor se adequa aos
propósitos de instalação de um sistema para monitorizar, dando maior flexibilidade a
monitorização o que permite endereçar problemas específicos a rede do ISUTC.
32
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
A estação de controlo servirá para visualizar e gerir o sistema de monitorização que estará no
servidor de monitorização.
É importante realçar o facto de, nesta arquitectura, ser possível expandir a implementação do
servidor de monitorização para vários servidores, com possíveis comunicações de estado entre
eles. Isto pode ser necessário em cenários onde a quantidade de informação processada pela
ferramenta torna-se muito grande, obrigando a que a partilha dos mesmos recursos do sistema
operativo não seja mais possível. Ou de forma a garantir a redundância da monitorização para
o caso de um dos servidores de monitorização falhar o outro poder continuando a fornecer as
informações de monitorização.
Durante a instalação do Nagios foi configurada a interface gráfica com conjunto mínimo de
plugins para que este tenha alguma funcionalidade, neste caso, as pretendidas para a
realização deste projecto. Para este efeito são feitos, anteriormente, downloads tanto do
Nagios como dos plugins do site oficial.
Começou-se pela instalação do Nagios no servidor com o sistema operativo já instalado. Para
a instalação do Nagios foi utilizado o manual “Quickstart Installation Guide”[S10] presente
na sua documentação. Isto consistiu na instalação da aplicação, activação do servidor Apache,
para que seja feita a monitorização em ambiente gráfico, e instalação dos plugins. Após tudo
isso, procedeu-se à aprendizagem da monitorização de computadores com sistema operativos
Linux/Unix, Windows, e serviços de acesso público, como o HTTP, FTP, SSH, entre outros.
Com isto, manusear os ficheiros de configuração do Nagios, verificar a sua integridade e
reactivar o Nagios após alterações na configuração, tornaram-se hábitos que atribuíram ao
autor uma muito maior familiaridade com esses mesmos ficheiros.
A estrutura do sistema de ficheiros onde o Nagios é instalado pode ser vista na figura 4.3:
34
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Plugins Descrição
check_load percentagem de CPU em utilização
check_swap percentagem de memória swap utilizada
check_procs número de processos em execução no sistema
check_disk percentagem do disco utilizado
check_file_age tempo de vida de ficheiros
check_users número de utilizadores activos no sistema
check_dhcp verifica a disponibilidade do servidor DHCP
Plugins Descrição
check_dns verifica a disponibilidade do servidor DNS
check_disk_smb verifica a disponibilidade do servidor SAMBA
check_ftp verifica a disponibilidade do servidor FTP
35
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
A definição de Service Level Availability (SLAs) é feita nos ficheiros de configuração. Essa
informação é definida como parâmetros, na definição dos serviços, a serem enviados, aos
comandos sobre a forma de Macros. Pode-se tomar como exemplo o caso da verificação da
quantidade de disco utilizada:
/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
Neste caso está-se a especificar que se a partição de disco, onde está montada (comando
mount) a directoria root (raiz) “/”, tiver mais de 20% de espaço livre, o estado retornado é
“OK”; se tiver menos de 20% de espaço livre e mais de 10%, o estado retorna é o de
“WARNING”; se tiver menos de 10%, o estado retornado é o de “CRITICAL”.
Verificações de estado
Quanto aos tipos de verificações de estado de serviços ou de terminais, existem dois: activo e
passivo. Nas verificações activas, da qual fazem parte as indirectas, o Nagios, é quem inicia a
verificação, enquanto que nas verificações passivas, a verificação é iniciada por um processo
externo. Isto é particularmente útil, no caso de verificações de serviços assíncronos, como é o
caso dos SNMP traps, e nos casos em que os serviços encontram-se por detrás de firewalls,
cuja rede não se tem acesso, mas que permite o acesso das máquinas monitorizadas ao
monitor.
36
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Alarmes e notificações
Em relação aos alarmes, estes são feitos através de notificações. Estas consistem no alerta a
um, ou conjunto de, contactos associados a um serviço ou a um host. As notificações podem
ser feitas de qualquer forma, desde um simples mail, a um sms. Porém, antes dos contactos
associados serem notificados, há que filtrar essas mesmas notificações. Isto permite maior
flexibilidade no controlo da notificação pois, apesar destas serem sempre lançadas na
ocorrência de problemas, nem sempre se desejam notificar os contactos, por exemplo, em
horários pré-estabelecidos onde se sabe que um determinado servidor encontra-se desligado
para manutenção ou actualização. O Nagios também permite uma definição extremamente
flexível no que diz respeito a períodos de tempo em que se se deve notificar um contacto,
desde a exclusão de notificação nos dias de férias, alterando neste caso o contacto para outro
administrador, até à especificação das semanas alternadas em que alguém, alternadamente
com outro contacto, é quem deve ser notificado.
Redundância
Outra grande funcionalidade, do Nagios, consiste na monitorização redundante e à prova de
falhas. A ideia básica é a de se terem dois terminais de monitorização: master e slave, onde
este último nada faz enquanto o primeiro funciona. Num cenário mais simplista, pode-se
facilmente implementar isto fazendo com que o slave monitorize todos os serviços que o
master monitora, mas com notificações desactivadas, dando a ilusão de nada estar a fazer,
enquanto que simultaneamente monitora o master através de um serviço que execute o
comando check_nagios e que esteja associado a um event handler. Caso este falhe, com o
auxílio dos event handlers, apenas terá de activar as notificações nele próprio, ou seja, no
slave. Contudo, esta abordagem apesar de funcional, não é apropriada a redes de maiores
proporções, visto que vários monitores estariam a monitorar os mesmos serviços
simultaneamente, consumindo largura de banda à rede. Isto pode-se facilmente resolver com a
desactivação das notificações e verificações de estado de serviços, com a activação da
recepção de comandos externos, e com a execução duma aplicação externa (cron) que
periodicamente verifique o estado no slave (check_nrpe) do master (check_nagios) inserindo,
consoante o valor de retorno, um comando na configuração external command file
especificado no ficheiro de configuração principal. Este comando teria como função activar
ambas as notificações e as verificações dos serviços. Assim, fica-se apenas com um último
problema, que é o do slave não ter estado inicial de tudo aquilo que monitora. Isto, por sua
37
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
vez, resolve-se com a ajuda do addon NSCA que permite ao master comunicar directamente
ao slave o estado de tudo o que monitorizam.
Outras funcionalidades
O Nagios também permite a detecção de serviços intermitentes, ou flap detection. Isto é feito
estudando a variação de estado do serviço nas últimas verificações feitas e, caso a
percentagem de alternâncias seja maior que um valor pré-definido nos ficheiros de
configuração, são notificados os respectivos contactos desse estado.
Outro aspecto importante consiste na marcação de downtimes para serviços que se desejem
actualizar ou alterar. O Nagios contém três tipos: fixos, flexíveis e disparados Os fixos
começam e terminam nos tempos especificados. Os flexíveis não têm tempos de início nem de
fim, apenas a duração. Isto é útil quando sabe-se que um determinado serviço vai-se encontrar
em baixo mas não se sabe exactamente quando. Os disparados são activados por um outro
evento, tipicamente a falha de outro terminal ou serviço especificado. Isto é extremamente útil
em casos de downtimes em massa.
O estado das verificações feitas no Nagios não depende única e exclusivamente do estado do
serviço monitorizado. Opcionalmente, pode-se fazer uma verificação depender de outra ou
outras. A isto se chama dependency checks. Isto permite monitorar o estado de serviços
remotos com base no estado de outros, permitindo assim melhor correlação dos resultados
obtidos entre várias verificações.
Configurações
Quanto às configurações no ficheiro de configuração principal e nos restantes, é importante
que sejam tomadas medidas para prevenir o abuso de recursos, fornecidos pelo Nagios, por
parte de terceiros. Consequentemente, não se deve executar o Nagios com o utilizador root
por exemplo, pois este não necessita de permissões do root para se executar, e nunca se deve
dar a uma aplicação mais permissões do que as de que necessita. Caso seja necessária a
execução de aplicações ou scripts por parte de, por exemplo, event handlers é aconselhável a
utilização do comando sudo. É igualmente importante verificar as permissões de leitura e
escrita do directório indicado, no ficheiro principal de configuração, como o
check_result_path. Nesta são colocadas as respostas recebidas, resultantes das verificações
feitas, antes de serem processadas. Acessos indevidos a esta pasta poderão resultar na
falsificação de verificações, ou na sua eliminação. Outro aspecto, também a nível de
38
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Apresentação de Dados
A apresentação de dados resultantes da monitorização é feita através de um browser. Tem-se
facilmente acesso aos dados que são gerados numa página Web através do URL
http://ip.do.servidor/nagios. Ao aceder a esta página, será requisitado ao utilizador um
username e uma password. A página encontra-se dividida em vistas:
Teste prático
O seguinte teste prático, demonstrado na figura 4.4 visa focar os seguintes aspectos:
• Monitorização de parâmetros de sistema – Anexo 2;
• Monitorização de servidores HTTP, IMAP, POP3, SMTP, SSH, PING e DNS;
39
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
Ferramentas adicionais
De modo a poder instalar o Nagios, foi necessário instalar as seguintes ferramentas adicionais:
• postfix – é um servidor para envio e entrega de e-mails.
• mailx – é um programa cliente utilizado para envio e leitura de e-mails.
40
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
A manutenção do servidor não consta do orçamento pois ficará a cargo dos administradores
de rede do ISUTC.
41
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
5.1 Conclusões
Um dos grandes objectivos deste trabalho foi a implementação de um sistema de
monitorização na rede de computadores do ISUTC e considera-se com sucesso. Depois da
realização deste trabalho foram retiradas as seguintes conclusões:
• Foram identificados os serviços de rede implementados na rede do ISUTC, sendo que
era de grande importância que estes fossem identificados de modo a melhor
determinar como será o funcionamento do sistema implementado. Existindo uma
variedade de serviços notou-se que é vital que se garanta que todos os serviços estejam
sendo monitorizados continuamente pois se um deles falhar, o tempo de identificação
do problema tem que ser o menor possível de modo a que se possa responder
rapidamente ao problema.
• Foram identificados os problemas rede existentes e também os mais frequentes, pois é
com base nestes que o estudo se baseia. A maioria dos problemas que surgem afectam
de forma significativa não só o desempenho da rede, mas também os utilizadores que
dependem dos serviços para poderem realizar as suas actividades e tarefas.
• Foram definidos os sistemas de monitorização existentes, mediante uma pesquisa
bibliográfica exaustiva em alguns livros e páginas da Internet. Existem vários sistemas
de monitorização que por sua vez possuem vantagens e desvantagens, cabendo então
ao administrador de rede saber equilibrar a avaliação dos sistemas de forma a fazer a
escolha do que melhor pode responder aos problemas.
• Após a avaliação dos sistemas existentes, foi escolhido um sistema com base nos
requisitos funcionais que cada um apresentava, e que veio a ser implementado e tendo-
se efectuado testes utilizando-o. Tendo uma implementação do sistema foi possível
obter resultados que responderam as necessidades dos administradores da rede.
42
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
5.2 Recomendações
Após a realização deste trabalho foram elaboradas as seguintes recomendações:
• Enquadrar o sistema implementado nas políticas de segurança adoptadas pelo ISUTC
no que diz respeito a rede de computadores;
• Elaborar um manual de procedimento de quem e quando deve aceder o sistema de
forma a se atingir o propósito principal do seu uso;
• Estudar possível implementação do sistema num servidor utilizando a virtualização;
• Identificar fragilidades do sistema de forma a melhorá-lo;
• Identificar outros tipos de sistema de monitorização de forma a garantir a estabilidade
da rede (por exemplo de tráfego);
• Integrar o Nagios com o servidor de e-mail local (Zimbra).
43
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
REFERÊNCIAS BIBLIOGRÁFICAS
Livros
Sites
44
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
BIBLIOGRAFIA
45
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
ANEXOS
Anexo 1 – Página inicial do Nagios
46
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
47
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
define service{
use local-service
host_name servidor_A
service_description SSH
check_command check_ssh
notifications_enabled 0
}
define service{
use generic-service
host_name servidor_A
service_description FTP
check_command check_ftp
}
48
Projecto e Implementação de um Sistema de Monitorização de Rede no ISUTC
define service{
use local-service
host_name servidor_B
service_description SSH
check_command check_ssh
notifications_enabled 0
}
define service{
use local-service
host_name servidor_B
service_description HTTP
check_command check_http
notifications_enabled 0
}
define service{
use generic-service
host_name servidor_B
service_description SMTP
check_command check_smtp
}
define service{
use generic-service
host_name servidor_B
service_description POP3
check_command check_pop
}
define service{
use generic-service
host_name servidor_B
service_description IMAP
check_command check_imap
}
49