Você está na página 1de 47

UNIVERSIDADE FEDERAL DE SANTA MARIA

CENTRO DE TECNOLOGIA
CURSO DE CINCIA DA COMPUTAO

VISUALIZAO NO ZABBIX: INTEGRANDO O


GOOGLE CHARTS

TRABALHO DE GRADUAO

Gustavo Agostini Devitte

Santa Maria, RS, Brasil

2014
VISUALIZAO NO ZABBIX: INTEGRANDO O GOOGLE
CHARTS

Gustavo Agostini Devitte

Trabalho de Graduao apresentado ao Curso de Cincia da


Computao da Universidade Federal de Santa Maria (UFSM, RS),
como requisito parcial para a obteno do grau de
Bacharel em Cincia da Computao

Orientador: Prof. Dr. Raul Ceretta Nunes

Trabalho de Graduao N: 391

Santa Maria, RS, Brasil

2014
UNIVERSIDADE FEDERAL DE SANTA MARIA
CENTRO DE TECNOLOGIA
CURSO DE CINCIA DA COMPUTAO

A Comisso Examinadora, abaixo assinada,


aprova o Trabalho de Graduao

VISUALIZAO NO ZABBIX: INTEGRANDO O GOOGLE CHARTS

elaborado por
Gustavo Agostini Devitte

como requisito parcial para a obteno do grau de


Bacharel em Cincia da Computao

COMISSO EXAMINADORA:

Raul Ceretta Nunes, Dr.


(Presidente/Orientador)

Roseclea Duarte Medina, Profa. Dra. (UFSM)

Antonio Marcos de Oliveira Candia, Prof. Ms. (UFSM)

Santa Maria, 17 de dezembro de 2014.


AGRADECIMENTOS

Agradeo minha famlia pela educao que recebi, minha namorada pelo
apoio, ao meu orientador pela pacincia e aos demais que contriburam de alguma
forma.
RESUMO

Trabalho de Graduao
Curso de Cincia da Computao
Universidade Federal de Santa Maria

VISUALIZAO NO ZABBIX: INTEGRANDO O GOOGLE CHARTS

AUTOR: GUSTAVO AGOSTINI DEVITTE


ORIENTADOR: RAUL CERETTA NUNES
Local da Defesa e Data: Santa Maria, 17 de Dezembro de 2014.

Desde o seu surgimento em ambientes acadmicos, governamentais ou em


empresas de grande porte e projetadas para permitir o compartilhamento de
recursos, as redes de computadores mudaram bastante. Com a evoluo da
tecnologia e barateamento dos custos, elas se multiplicaram, se tornando cada vez
maiores e mais complexas, exigindo monitoramento para assegurar a proteo de
informaes sensveis.
Nesse contexto, o presente trabalho faz uma reviso bibliogrfica de
monitoramento de redes com vistas ao gerenciamento de incidentes de segurana,
realiza um estudo de caso com a ferramenta Zabbix, identifica suas limitaes ao
monitorar falhas e prope uma integrao com o Google Charts API para auxiliar
nessa tarefa.

Palavras-chave: Monitoramento de rede, Zabbix, Visualizao.


ABSTRACT

Undergraduate Final Work


Undergraduate Program in Computer Science
Federal University of Santa Maria

VIEW IN ZABBIX: INTEGRATING THE GOOGLE CHARTS

AUTHOR: GUSTAVO AGOSTINI DEVITTE


ADVISOR: RAUL CERETTA NUNES
Defense Place and Date: Santa Maria, December 17th, 2014.

Since its emergence in academic, governmental environments or in large


companies and designed to allow the sharing of resources, computer networks have
changed enough. With the evolution of technology and cheapening of the costs, they
have multiplied, becoming larger and more complex, requiring monitoring to ensure
the protection of sensitive information.
In this context, the present work makes a bibliographical revision of monitoring
networks with a view to managing security incidents and proposes an integration of
the Zabbix tool with the Google Charts API to improve the security monitoring.

Keywords: Network monitoring, Zabbix, Visualization.


LISTA DE FIGURAS

Figura 1 Tipos de ataques mais comuns em Aplicaes Web 10


Figura 2 Elementos de um sistema de gerenciamento 14
Figura 3 Exemplo de grfico com dados do trfego de rede 21
Figura 4 Arquitetura de aplicao do Zabbix 22
Figura 5 Exemplo de tela no Zabbix 28
Figura 6 Grfico tipo normal com tracejado em forma de linha
simples 28
Figura 7 Grfico tipo stacked 29
Figura 8 Grfico tipo pie 29
Figura 9 Trfego normal no servidor web com 4 clientes em 20
minutos 30
Figura 10 Trfego anormal no servidor web 31
Figura 11 Anlise do trfego com tcpdump 31
Figura 12 Exemplos de charts da API do Google 33
Figura 13 Grfico gerado com o Google Charts API 36
Figura 14 Exemplo de evento no Google Charts 37
Figura 15 Resultado de evento 37
Figura 16 Mapa de rede tradicional 38
Figura 17 Treemap de uma rede segmentada em 4 subredes 39
Figura 18 Treemap com os computadores da rede selecionada 40
Figura 19 Treemap com itens monitorados no computador
selecionado 40
Figura 20 Grfico de bolhas 41
Figura 21 Exemplo de dashboard combinando grficos do Google
Charts 41
SUMRIO

1. INTRODUO ...................................................................................................................................... 9
1.1 OBJETIVO GERAL E ESPECFICOS ................................................................................................ 11
1.2 ORGANIZAO DO TEXTO .......................................................................................................... 12
2. REVISO BIBLIOGRFICA .................................................................................................................. 13
2.1 GERENCIAMENTO DE REDES ...................................................................................................... 13
2.1.1 GERNCIA DE FALHAS........................................................................................................... 16
2.1.2 GERNCIA DE CONFIGURAO ............................................................................................ 17
2.1.3 GERNCIA DE DESEMPENHO ................................................................................................ 17
2.1.4 GERNCIA DE CONTABILIDADE ............................................................................................ 17
2.1.5 GERNCIA DE SEGURANA ................................................................................................... 18
3. ZABBIX............................................................................................................................................... 20
3.1 CARACTERSTICAS DO ZABBIX .................................................................................................... 20
3.2 ARQUITETURA DO ZABBIX ......................................................................................................... 22
3.2.1 COMPONENTES DA ARQUITETURA ...................................................................................... 23
3.3 ASPECTOS DE INSTALAO ........................................................................................................ 25
3.4 PRINCIPAIS FUNES ................................................................................................................. 26
3.5 API ZABBIX .................................................................................................................................. 27
3.6 INTERFACE E VISUALIZAO ...................................................................................................... 27
3.7 ANLISE DE INCIDENTES DE SEGURANA.................................................................................. 29
4. PROJETO ............................................................................................................................................ 32
4.1 GOOGLE CHARTS......................................................................................................................... 32
4.2 ARQUITETURA DA SOLUO PROPOSTA................................................................................... 34
4.3 ZABBIX COM GOOGLE CHARTS .................................................................................................. 38
5. CONCLUSES .................................................................................................................................... 43
REFERNCIAS ........................................................................................................................................ 44
1. INTRODUO

Vivemos em um mundo conectado pela Internet, tecnologia que teve uma


expanso rpida e progressiva registrando o segundo maior crescimento em toda a
histria da humanidade, ficando atrs apenas do telefone celular (MINISTRIO DA
CULTURA, 2008) e que registra incrveis 2.4 bilhes de usurios (PINGDOM, 2012).
Esta tecnologia nos d acesso a um conjunto de opes tais como: realizar
pesquisas, participar de comunidades, enviar e receber e-mails, assistir a diversos
contedos via streaming de vdeo dentre outras. Para desfrutar de tudo isso,
utilizamos muitas vezes aplicaes web que podem estar sujeitas a vulnerabilidades
causadas por erros de programao e principalmente pela falta de preocupao
relacionada segurana destas aplicaes (OLIVEIRA, 2012).
Aplicaes web so sistemas que executam em ambientes distribudos, onde
as partes podem executar em mquinas diferentes chamadas servidoras. A
comunicao via protocolos de rede, tal como o protocolo de transferncia de
hipertexto (HTTP) que responsvel pela transferncia de grandes quantidades de
dados. Como exemplos de aplicaes web temos os sites de comrcio eletrnico,
portais dinmicos, webmail e mecanismos de busca (POLISOFTWARE, 2012 e
GONALVES; GAVA; PESSA; SPINOLA, 2005).
Os primeiros ataques rede na Internet exploravam falhas ligadas
aplicao dos protocolos da sequncia TCP/IP. Com o tempo e consequente
correo progressiva dessas vulnerabilidades, os ataques migraram para a camada
de aplicao do modelo OSI e especialmente a Web, na medida em que as
empresas liberaram o acesso de seus firewalls a esse trfego.
Dado que os servidores Web esto cada vez mais protegidos, os ataques
deslocaram-se para a descoberta e explorao de vulnerabilidades em aplicaes
Web representando grande parte dos incidentes de segurana ocorridos nos ltimos
anos (KIOSKEA, 2014). Segundo o site The Web Application Security Consortium, a
probabilidade de se encontrar sites (aplicaes) vulnerveis na Internet alta. O
grfico da Figura 1 ilustra os tipos de ataques mais comuns em Aplicaes Web,
onde se verifica que os ataques Cross-Site-Scripting (XSS) e SQL Injection (THE
WEB APPLICATION SECURITY CONSORTIUM, 2010) se destacam. Neste
contexto, o monitoramento da rede e de incidentes chave para garantir a
segurana das aplicaes e de seus dados.

Figura 1 - Tipos de ataques mais comuns em Aplicaes Web. Fonte: THE WEB APPLICATION
SECURITY CONSORTIUM, 2010.

Monitoramento o processo de obter informaes sobre elementos de um


sistema computacional com vistas ao gerenciamento. As informaes ajudam a
entender a situao do sistema, sua configurao, estatsticas de uso e
desempenho, informaes sobre erros, etc. Esse processo depende de tcnicas
para coletar, processar, armazenar e disponibilizar estas informaes (CARVALHO,
2010).
Existem inmeras ferramentas disponveis no mercado para monitoramento
de servidores e seus respectivos servios, dentre elas o Cacti (2014), Monit (2014),
Nagios (2014), Zenoss (2014) e o Zabbix (2014). O Cacti uma soluo web
PHP/MySql usando a engine RRDtool. A sua fora reside no fato de ser fcil de
instalar e configurar (OPENSUSE, 2014). O Monit foi projetado para ser um sistema
autnomo que no depende de plug-ins nem qualquer biblioteca especial para
funcionar (MONIT, 2014). O Nagios permite monitorar toda a infraestrutura de rede e
permite integrao com plug-ins que o prprio usurio pode escrever (NAGIOS,
2015). O Zenoss simplifica o gerenciamento de recursos tanto da infraestrutura
fsica, virtual ou baseada em nuvem (ZENOSS, 2014-b), permite integrao com
Google Maps e possui uma interface web de fcil utilizao (BALSEMO, 2008). O
Zabbix apresenta baixa curva de aprendizagem, agentes de monitoramento muito
eficientes para as plataformas baseadas em Windows e UNIX, sistema de
monitoramento centralizado em banco de dados relacional e rica capacidade de
visualizao de dados (ZABBIX, 2014-b).
Nesse cenrio de tantas opes necessrio conhec-las adequadamente a
fim de verificar qual se adapta melhor s necessidades da organizao, dado que os
servidores e aplicaes web trabalham com dados e servios que precisam ter sua
integridade, qualidade e disponibilidade asseguradas. Explorar as formas de
visualizao de alertas e incidentes outro fator importante para a tomada de
deciso gil e qualificada dos profissionais de TI que lidam com monitoramento de
redes. Enfim, diminuir o impacto e a gravidade de incidentes de segurana uma
funo do monitoramento e atendimento eficiente do incidente.
Este trabalho visa reduzir a complexa tarefa de administradores de rede em
identificar, dentre todos os equipamentos e servios sob a sua responsabilidade, os
servidores e principalmente as aplicaes web que esto sob ataque, bem como ter
indcios claros de que tipo de ataque est ocorrendo. Espera-se que os resultados
permitam que a equipe encarregada do monitoramento de rede possa visualizar,
analisar, listar as opes e tomar a melhor deciso com base informaes confiveis
e pr-processadas.

1.1 OBJETIVO GERAL E ESPECFICOS

O objetivo geral fazer um estudo da rea de monitoramento de redes com


vistas ao gerenciamento de incidentes de segurana (ataques), identificando
metodologias e tcnicas apropriadas. Atravs da implementao de um estudo de
caso com a ferramenta Zabbix, avaliar os aspectos prticos de monitoramento e
visualizao de alertas.
Os objetivos especficos compreendem:
Estudar os modelos de gerenciamento e protocolos utilizados.
Mapear as principais tcnicas de descoberta e monitoramento de
servidores na rede interna e usos maliciosos.
Explorar mecanismos de visualizao de incidentes (alertas e/ou alarmes).
Integrar o Google Charts.

1.2 ORGANIZAO DO TEXTO

O Captulo 2 faz uma reviso bibliogrfica sobre os desafios do


monitoramento de ataques, procurando identificar que tipo de informao
relevante, que requisitos estas informaes nos trazem, que ferramentas de
monitoramento esto disponveis e o que cada uma oferece em termos de interfaces
de visualizao. Tcnicas de visualizao sero destacadas e discutidas.
O Captulo 3 apresenta o Zabbix, uma ferramenta de monitoramento. As
capacidades de monitoramento de ataques da ferramenta so o ponto focal do
captulo. Suas limitaes, principalmente nos aspectos de visualizao, sero
tambm discutidas.
O Captulo 4 prope uma extenso ao Zabbix com novas capacidades de
visualizao, tal como treemaps (SHNEIDERMAN; PLAISANT, 2009).
Finalmente o Captulo 5 apresenta as concluses do trabalho.
2. REVISO BIBLIOGRFICA

2.1 GERENCIAMENTO DE REDES

Como foi dito na introduo o processo de monitorar obter de alguma forma


informaes que indiquem o estado do sistema. a tarefa de coletar, analisar,
armazenar e disponibilizar essas informaes para que um administrador ou gerente
de rede possa interferir caso algo errado esteja acontecendo. A parte de interferir, ou
seja, a parte prtica do monitoramento, cabe ao gerenciamento de redes.
Segundo Tanenbaum (2003), uma rede de computadores um conjunto de
computadores autnomos interconectados por uma nica tecnologia. Alm disso, a
ideia inicial das redes de computadores era interconectar para compartilhar recursos
como impressoras, scanners, drivers de alta velocidade, etc.
Com o tempo as redes passaram a fazer parte do dia-a-dia das pessoas
como uma ferramenta que agrega valor ao seu trabalho e que fornece alguns outros
servios como o acesso a informaes remotas, comunicao com outras pessoas,
entretenimento digital e comrcio eletrnico. Com toda essa gama de novos servios
as redes tornaram-se maiores, mais complexas e passaram a conviver com a
heterogeneidade de dispositivos de rede, sistemas operacionais, protocolos de
comunicao de rede, etc. (PROJETO DE REDES, 2014).
Suponha que uma rede esteja lenta ou mesmo que alguns sites no consigam
ser visualizados. Aplicando o gerenciamento a essa rede pode-se descobrir de
forma eficiente qual roteador pode estar perdendo pacotes ou se um servidor de
DNS no est traduzindo nomes adequadamente. Porm, a utilizao de um
software de gerenciamento no resolve por completo os problemas, principalmente
quando suas funcionalidades no so exploradas adequadamente.
O gerenciamento de rede pode ser definido como a monitorao e controle de
recursos materiais, servidores e roteadores, por exemplo, e ou lgicos (protocolos),
distribudos na infraestrutura de rede, garantindo interoperabilidade dos servios,
baixos tempos de resposta, segurana das informaes, dentre outros requisitos
(PROJETO DE REDES, 2014).
Para Pinheiro (PROJETO DE REDES, 2014), um sistema de gerncia de rede
um conjunto de ferramentas automatizadas e integradas para o monitoramento e
controle, que oferece uma interface com as informaes sobre o estado da rede e
traz opes que permitem realizar o gerenciamento.
A arquitetura genrica de um sistema de gerenciamento de redes apresenta
quatro componentes bsicos: gerente, agente, MIB e protocolo de gerenciamento.

Figura 2 Elementos de um sistema de gerenciamento. Fonte: TELECO, 2014

Nas estaes de gerncia encontra-se o software gerente que tem uma


interface com o usurio e que capaz tanto de solicitar informaes dos agentes
quanto alterar informaes de gerncia em qualquer um dos mesmos. Essa troca de
informaes entre gerentes e agentes permeada por um protocolo de gerncia que
ser o responsvel pelas operaes de monitoramento e de controle (PROJETO DE
REDES, 2014). Essas informaes de gerncia definem os dados que podem ser
utilizados nas operaes do protocolo de gerenciamento. Alm disso essa
comunicao com os agentes se d por pollings ou trappings. O polling o processo
em que o gerente efetua a comunicao para obter as informaes, podendo ser em
intervalos regulares ou no e o agente responde com os valores de sua MIB, e no
trapping o agente notifica o gerente quando algum evento configurado est errado
(DEMOISELLE, 2014).
A Management Information Base (MIB) uma tabela onde os dados de
gerenciamento coletados so armazenados e posteriormente disponibilizados ao
gerente. O RFC 1066 apresentou a primeira verso da MIB para uso com o
protocolo TCP/IP, a MIB-I. Este padro explicou e definiu a base de informao
necessria para monitorar e controlar redes baseadas no protocolo TCP/IP. O RFC
1066 foi aceito pela IAB (Internet Activities Board) como padro no RFC 1156
(BRISA, 1993).
O software usado para auxiliar o gerenciamento da rede instalado em
servidores, estaes e em outros dispositivos que compem a estrutura fsica da
rede, tais como, roteadores, hubs e switches. Ele projetado para oferecer uma
viso de toda a rede como uma arquitetura unificada atravs de algoritmos de
descoberta e mapeamento de rede, podendo gerar mapas da topologia da rede
monitorada.
Desde a dcada de 1980, vrios grupos tm trabalhado para definir
arquiteturas padronizadas (e abertas) para o gerenciamento de redes heterogneas.
As duas arquiteturas de gerenciamento de redes mais conhecidas so o modelo de
referncia OSI, criada pela ISO (ISO, 2014), e a arquitetura relacionadas s
tecnologias TCP/IP (SOCOLOFSKY; KALE, 1991). Cada arquitetura tem o seu
prprio protocolo de comunicao, sendo o Simple Network Management Protocol
(SNMP) (CASE; FEDOR; SCHOFFSTALL; DAVIN, 1988), do modelo TCP/IP, e o
Common Management Information Protocol (CMIP) (ITU, 2014), do modelo OSI.
Como j foi dito, um sistema de gerenciamento um conjunto de ferramentas
integradas. Esse sistema pode ser composto, por exemplo, por analisadores de
trfego como o Wireshark (WIRESHARK, 2014), scanners de portas como o Nmap
(NMAP, 2014), scanners de vulnerabilidades como o Nessus (TENABLE, 2014) e
algum software de gerenciamento de rede como Nagios (2014). A integrao dessas
ferramentas possvel porque elas fornecem os dados coletados normalmente em
formatos abertos e padronizados como JSON (CROCKFORD, 2006) ou XML (W3C,
2008). Deste modo, via programao utilizando APIs pode-se plugar a sada de um
software em outro.
Como j dito anteriormente, parte do trabalho de gerncia de uma rede
consiste na obteno de informaes, sendo importante definir nveis de tolerncia,
que quando ultrapassados fazem necessrio a interveno de um
administrador/gerente. Tais nveis no so absolutos, podendo ser analisados e
configurados depois de uma anlise fornecida por outras ferramentas que compem
o sistema de gerenciamento (PROJETO DE REDES, 2014).
A partir do momento que as ferramentas de gerenciamento de redes no
solucionam todos os problemas de uma rede e que estas nem sempre so utilizadas
nas organizaes, se faz necessrio que outras prticas/metodologias de gerncia
sejam utilizadas para suprir suas carncias.
Se um dos requisitos da rede garantir confiabilidade e rapidez nas
informaes transportadas, importante que os dados sejam monitorados de
maneira que os problemas que porventura possam existir sejam detectados
rapidamente e sejam solucionados. Uma rede sem mecanismos de gerncia pode
apresentar problemas de congestionamento do trfego, perda de pacotes, alguns
dispositivos mal utilizados enquanto outros sobrecarregados, problemas com
segurana, entre outros (PROJETO DE REDES).
Para resolver os problemas associados gerncia em redes a ISO, atravs
do modelo de referncia OSI, definiu os conceitos de reas funcionais que deram
origem ao modelo de gerenciamento de rede FCAPS (Fault, Configuration,
Accounting, Performance, Security), acrnimo para as reas funcionais da gerncia
de redes que so descritas pelo modelo e o comportamento das mesmas: gerncia
de falhas (comportamento anormal), de configurao (estado da rede), de
desempenho (vazo e taxa de erros), de contabilidade (consumo de recursos) e de
segurana (acesso) (KUROSE, J. e ROSS, 2006).

2.1.1 GERNCIA DE FALHAS

As falhas podem ocorrer pelos mais diversos motivos, desde a obstruo de


um cabo at a queima de um dispositivo. A gerncia de falhas tem por objetivo
encontrar falhas atravs da monitorao dos recursos, isol-la da rede impactando o
menos possvel e solucionar o problema minimizando o tempo de falha
(SPECIALSKI, 1999).
A fim de interferir minimamente na rede ao isolar um componente, pode-se
aplicar prticas de tolerncia a falhas como o uso de dispositivos redundantes e
rotas alternativas de comunicao (SPECIALSKI, 1999). Pode-se tambm guardar
registros histricos de ocorrncias na rede e das medidas tomadas para solucion-
las a ttulo de anlise posterior (CORREIA, 2004).
O ideal que as falhas que possam vir a ocorrer em um sistema sejam
detectadas antes que os efeitos sejam sentidos. Aproximamo-nos desse ideal
monitorando as taxas de erro do sistema e a criticidade dos alarmes, deixando
margem para que alguma ferramenta possa emitir notificaes para os
administradores de rede responsveis quando essas variveis ultrapassarem os
nveis configurados como aceitveis (CORREIA, 2004).
2.1.2 GERNCIA DE CONFIGURAO

A gerncia de configurao est relacionada ativao/desativao de parte


ou toda a rede, alm de poder adicionar ou atualizar os relacionamentos entre os
componentes. Corresponde a um conjunto de facilidades que permite controlar os
objetos gerenciados, coletar dados sobre os mesmos e gerar relatrios quando for
necessrio (SPECIALSKI, 1999).
Uma vez detectada uma falha na rede, trfego lento, quebra de segurana ou
algum outro evento anormal, o administrador pode mudar configuraes para
recuperar essa falha, modificar as rotas de trfego e retificar a segurana em
resposta ao evento ocorrido (SPECIALSKI, 1999).

2.1.3 GERNCIA DE DESEMPENHO

Na gerncia de desempenho avalia-se o desempenho dos equipamentos da


rede por meio do controle de alguns parmetros tais como a taxa de erros, vazo,
retransmisses realizadas e tempo de resposta. Segundo Hartmann (HARTMANN,
2002), os valores mximos aceitveis para esses parmetros so conhecidos como
threshold.
O gerenciamento de desempenho fornece informaes importantes que
ajudam a identificar gargalos na rede que causam perda de desempenho e sendo
assim pode-se tomar medidas cabveis como rebalancear/distribuir o trfego
mudando as tabelas de roteamento, priorizar determinado tipo de pacote como
videoconferncia e avaliar se a rede suporta o nmero atual de usurios. De posse
dessas informaes fica mais fcil realizar manuteno, planejar, orar e concretizar
upgrades necessrios na rede (HARTMANN, 2002).

2.1.4 GERNCIA DE CONTABILIDADE

A gerncia de contabilidade prov os meios para se medir e coletar


informaes a respeito da utilizao dos recursos e servios de uma rede, a fim de
saber qual a taxa de uso destes recursos, para garantir que os dados estejam
sempre disponveis quando forem necessrios ao sistema de gerenciamento, seja
durante a fase de coleta ou em qualquer outra fase posterior a esta (PEREIRA,
2009).
A funo de contabilizao deve ser genrica para que cada aplicao trate
os dados coerentemente de acordo com as suas necessidades. Estas funes
podem ser usadas para vrias finalidades como tarifas sobre servios prestados,
controle de consumo dos usurios, etc (PEREIRA, 2009).

2.1.5 GERNCIA DE SEGURANA

O objetivo do gerenciamento de segurana o de dar subsdios aplicao


de polticas de segurana, que so os aspectos essenciais para que uma rede
baseada no modelo OSI seja operada corretamente, protegendo os objetos
gerenciados e o sistema de acessos indevidos de intrusos. Este gerenciamento deve
providenciar um alarme ao gerente da rede sempre que se detectarem eventos
relativos segurana do sistema (PEREIRA, 2009).
importante distinguir dois conceitos no modelo OSI em relao segurana:
arquitetura de segurana do modelo OSI e funes de gerenciamento de segurana,
estas compondo a rea funcional de gerncia de segurana.
O objetivo da arquitetura de segurana do modelo OSI o de dar uma
descrio geral dos servios de segurana e dos mecanismos associados a este, e
de definir em que posio do modelo de referncia situa-se os servios de
segurana e os seus mecanismos associados. A norma de referncia da arquitetura
de segurana trata exclusivamente da segurana dos canais de comunicao. Para
isso definem-se os seguintes servios: autenticao tanto de entidades pares quanto
da origem dos dados, controle de acesso aos recursos da rede, confidencialidade
dos dados, integridade dos dados e a no-rejeio ou no-repudio (ITU, 2015).
Os mecanismos a serem adotados dependem do uso de uma poltica de
segurana, que feita pelo uso das Funes de Segurana do Gerenciamento de
Redes OSI. Estas funes tratam do controle dos servios de segurana do modelo
OSI, e dos mecanismos e informaes necessrias para se prestar estes servios.
Ento, os objetivos do gerenciamento de segurana so: o fornecimento de
relatrios de eventos relativos segurana o fornecimento de informaes
estatsticas, a manuteno e anlise dos registros histricos relativos segurana, a
seleo dos parmetros dos servios de segurana e a alterao, em relao
segurana, do modo de operao dos sistemas abertos (ativao e desativao dos
servios de segurana).
Para que estes objetivos sejam atingidos, devem-se olhar as diferentes
polticas de segurana a serem adotadas no sistema aberto. Todas as entidades que
seguem uma mesma poltica de segurana pertencem ao mesmo domnio de
segurana. Como o gerenciamento necessita distribuir as informaes de
gerenciamento de segurana entre todas as atividades que se relacionam com a
segurana, os protocolos de gerenciamento, assim como os canais de comunicao,
devem ser protegidos usando os mecanismos previstos na arquitetura de segurana.
Uma MIB especial, chamada de SMIB (Security Management Information
Base), permite que as informaes de gerenciamento de segurana sejam
armazenadas, dando apoio as trs categorias de atividades de gerenciamento de
segurana existentes.
Nesse contexto de ataques servidores e aplicaes web, monitoramento e
gerenciamento, se necessita de ferramentas que apoiem a anlise grfica de
incidentes e permitam uma resposta rpida de administradores de rede e sistemas.
Sendo assim, o Zabbix, uma ferramenta que tipicamente faz monitoramento de
recursos e disponibilidade, pode ser usada para gerenciar falhas de segurana.
3. ZABBIX
Zabbix (2014) uma soluo open source para monitoramento de rede com
as vantagens da licena GPL. Dessa forma, no necessrio adquirir licenas para
seu uso e possvel modificar seu cdigo para atender a uma necessidade
especfica. um software que monitora vrios parmetros de diversos ativos em
uma rede de computadores, sendo hoje uma plataforma bastante difundida e que
no est limitada a um nicho de servio. Empresas privadas e governamentais esto
utilizando o Zabbix, como Alog (2014), Avvio (2014), Banco Central (2014, ZABBIX,
2014-d).
Este captulo apresenta as principais caractersticas do Zabbix, suas
capacidades para monitoramento de ataques e utiliza como referncia o texto de
Lima (LIMA, 2014) das sees 3.1 a 3.5.

3.1 CARACTERSTICAS DO ZABBIX

A coleta de dados no Zabbix pode ser feita atravs de scripts customizados


para alerta, ao, itens e comandos remotos, o que torna possvel o monitoramento
de itens nativos e no nativos dos agentes, e todas as informaes coletadas so
armazenadas em um banco de dados relacional. Alm disto, a plataforma tambm
possui suporte a SNMP, dispositivos IPMI (Intelligent Platform Management
Interface), monitoramento de aplicaes em Java, web e banco de dados.
A vantagem do Zabbix que ele integra diferentes aplicaes teis ao
gerenciamento de redes, sem a necessidade de plug-ins, e personalizvel a
qualquer tipo de ambiente. Seu monitoramento pode ser centralizado ou distribudo.
No caso distribudo, pode-se ter um servidor central de monitoramento e vrios
outros servidores subordinados a ele enviando as mtricas para o servidor central ou
apenas replicando as informaes. Para maior flexibilidade e desempenho, o
servidor central pode ainda ser separado em servidor web, servidor de banco de
dados e servidor de monitoramento.
O Zabbix tambm possui um sistema de relatrios e grficos bastante
intuitivo, com fcil navegao entre datas e horrios, sendo possvel analisar os
dados em tempo real, tal como ilustra a Figura 3. Toda a configurao de
monitoramento feita atravs de uma interface web rica em detalhes, na qual
podem ser criadas aes ou alertas com base nas mtricas recebidas.

Figura 3 - Exemplo de grfico com dados do trfego de rede.

Em sntese, as principais caractersticas do Zabbix so (LIMA, 2014):


Servidores executam em sistemas Unix-like, incluindo Linux, AIX,
FreeBSD, OpenBSD, HP-UX e Solaris;
Agentes nativos para Unix-like e verses do Microsoft Windows;
Administrao e monitoramento via interface web;
Autodescobrimento de servidores e dispositivos de redes;
Escalabilidade;
Flexibilidade;
Monitoramento agregado;
Monitoramento distribudo;
Monitoramento em tempo real;
Monitoramento proativo;
Sistema de notificao via e-mail, SMS e Jabber;
Autenticao segura de usurios;
Permisses de usurios e grupos;
Visualizao de relatrios, grficos, telas e mapas; e
Monitoramento de acordo com o nvel de servio.
3.2 ARQUITETURA DO ZABBIX

A arquitetura do Zabbix se organiza, dentro do contexto dos servios de rede,


no modelo three-tier, que faz uma abordagem em trs camadas. Essas camadas
so: a aplicao, o banco de dados e a interface web (Figura 4).
A camada de aplicao representada pelo back-end, responsvel por fazer
a coleta dos dados nos ativos de rede. A camada de banco de dados representada
pela base de dados, que fica responsvel por armazenar as informaes coletadas
pelo back-end e apresenta-las ao front-end. J a camada interface web
representada pelo front-end, o qual d acesso a informaes de monitoramento aos
administradores de rede e tambm fornece informaes para aplicaes que utilizam
a API do Zabbix.

Figura 4: Arquitetura de aplicao do Zabbix. Fonte: Monitoramento de Redes com Zabbix.


[LIMA, 2014]
O back-end do Zabbix foi desenvolvido em C e o front-end em PHP. O Zabbix
tambm contm uma API para integrar outros sistemas, como por exemplo, um
sistema de registro de chamadas. Essa integrao feita pelo formato de
intercmbio de dados computacionais JSON (JavaScript Object Notation).

3.2.1 COMPONENTES DA ARQUITETURA

Dentro da arquitetura existem trs elementos que representam o back-end e


fazem todo o trabalho pesado do Zabbix. So eles: Zabbix Server, Zabbix Proxy e
Zabbix Agent.

3.2.1.1 Zabbix Server

o processo central da plataforma Zabbix. Ele executa a sondagem e captura


dos dados, calcula triggers, envia notificaes para os usurios. o componente
central para que os agentes Zabbix e proxies reportem dados sobre a
disponibilidade e integridade dos sistemas. Todos os agentes se reportam ao back-
end (servidor), que armazena os dados coletados na base de dados.
Os dados so acessveis atravs do front-end (interface web) e toda a
informao de configurao para o Zabbix armazenada no banco de dados no qual
tanto o servidor quanto o front-end web interagem com elas.
O servidor executa como um processo daemon e pode ser inicializado pela
execuo dos seguintes comandos:
shell> cd sbin
shell> ./zabbix_server

3.2.1.2 Zabbix Proxy

O elemento Proxy opcional, mas pode ser muito benfico para distribuir a
carga de um nico servidor Zabbix. O Zabbix Server no depende dele para
funcionar. O Zabbix Proxy um host responsvel por fazer a coleta em clientes
remotos. Ele um agregador de dados que faz a coleta dos clientes na rede remota
em nome do Zabbix Server. Ele pode coletar dados a partir de um ou mais
dispositivos monitorados. Aps a coleta, o Zabbix Proxy consolida esses dados e
transmite um pacote com todos os dados para o Zabbix Server. Sua utilizao
indicada para monitoramento centralizado de locais remotos, filiais e redes sem
administradores locais. Os bancos de dados suportados no Proxy so o SQLite, o
MySQL e o PostgreSQL.
O Zabbix Proxy executa como um processo daemon e pode ser inicializado
pelos comandos:
shell> cd sbin
shell> ./zabbix_proxy

3.2.1.3 Zabbix Agent

O Zabbix Agent implantado em um alvo para monitorar ativamente recursos


e aplicaes locais (discos rgidos, memrias, processadores, etc). O agente coleta
informaes operacionais locais e reporta para o Zabbix Server para processamento
posterior. Em caso de falhas, como quando um disco est cheio ou um processo
deixou de funcionar, o Zabbix Server pode alertar os administradores da mquina
que alertou o problema. Agentes Zabbix so considerados eficientes porque usam
chamadas de sistema nativas para coletar informaes estatsticas.
1. Agentes Zabbix podem fazer verificaes passivas e ativas. Em uma
verificao passiva o agente responde a uma requisio de dados. O Zabbix
Server (ou proxy) pergunta por dados, como por exemplo, se queremos
monitorar nosso servidor web a fim de verificar se o mesmo est
sobrecarregado ou no, e o Agente Zabbix envia de volta o resultado.
As verificaes ativas requerem um processamento mais complexo. O Agente
deve primeiro obter uma lista de itens do Zabbix Server para processamento
independente. Em seguida ele enviar periodicamente novos valores para o
servidor.
O Agente Zabbix executa como um processo daemon no host que est sendo
monitorado. Para iniciar o agente deve-se executar:
shell> cd sbin
shell> ./zabbix_agentd
o cliente que se reporta para o Zabbix Server ou para o Zabbix Proxy. Ele
foi desenvolvido para ter um baixo consumo de recursos computacionais e no
impactar o ambiente monitorado. Est disponvel para a maioria das plataformas
Unix-like e Windows, inclusive com pacotes pr-compilados, mas tambm pode ser
visualizado com agentes externos, tais como: SNMP, IPMI, SSH, etc.
O Zabbix usa o protocolo de comunicao baseado em JSON para a
comunicao com o Zabbix Agent.

3.3 ASPECTOS DE INSTALAO

Zabbix na sua verso 2.0.8 requer como configurao mnima um Pentium 2


com 350MHz com um mnimo de 128 MB de memria RAM, 256 MB de espao livre
em disco e um banco de dados SQLite o suficiente para monitorar 20 hosts.
Conforme o nmero de hosts monitorados aumenta e a quantidade de parmetros
coletados cresce, precisa-se de mais memria fsica e espao de armazenamento
em disco. Cada processo daemon do Zabbix requer vrias conexes para um
servidor de banco de dados. A quantidade de memria alocada para a conexo
depende da configurao do banco de dados. Alm disso, para grandes ambientes
monitorados recomendado que o servidor de banco de dados fique separado do
Zabbix Server a fim de evitar concorrncia por processador e memria.
O Zabbix foi projetado e testado para funcionar nas seguintes plataformas:
Linux, IBM AIX, FreeBSD, NetBSD, OpenBSD, HP-UX, Mac OS X, Solaris, Windows
2000 e superiores (apenas Zabbix Agent).
Para funcionar o Zabbix precisa de alguns softwares instalados junto com ele.
A Tabela 1 mostra esses softwares e suas verses mnimas suportadas.

Tabela 1: Softwares necessrios para executar o Zabbix. Fonte:


www.zabbix.com/documentation/2.2/manual/installation
Software Verso

MySQL 5.0.3 ou posterior


Oracle 10g ou posterior
PostgreeSQL 8.1 ou posterior
SQLite 3.3.5 ou posterior
IBM DB2 9.7 ou posterior
Apache 1.3.12 ou posterior
PHP 5.3.0 ou posterior

A Tabela 2 mostra outras bibliotecas/dependncias que o servidor Zabbix


necessita.
Tabela 2: Bibliotecas e dependncias para execuo do Zabbix. Fonte:
www.zabbix.com/documentation/2.2/manual/installation.
Dependncia Descrio

OpenIPMI Necessrio para IPMI suporte


Libssh2 Necessrio para SSH suporte.
Fping Necessrio para itens ping de ICMP
Libcurl Necessrio para monitoramento web
Libiksemel Necessrio para Jabber suporte
Net-snmp Necessrio para SNMP suporte

Para obter o Zabbix basta acessar o endereo


http://www.zabbix.com/download.php e baixar o pacote Zabbix Sources. Pode-se
tambm optar por baixar o Zabbix compilado para um sistema especfico como
Debian, Fedora, FreeBSD, Gentoo, entre outros. Outra opo baixar o Zabbix
Appliance, que possui verses para KVM, VMware, VirtualBox, Xen, entre outros. O
Appliance do Zabbix baseado na distribuio Open-SUSE configurada com o
servidor de banco de dados MySQL.

3.4 PRINCIPAIS FUNES

Basicamente o Zabbix trabalha com cinco funes principais: coletar,


armazenar, gerenciar, alertar e visualizar. A coleta de dados pode ser feita de vrias
formas, como por exemplo: Zabbix Agent, SNMP, IPMI, etc.
Dentro desse contexto pode-se monitorar variveis em diferentes camadas
tais como: CPU, memria, temperatura, na camada de hardware; entrada/sada,
velocidade de link, na camada de rede; JBoss, TomCat, Oracle, na camada de
Middleware, etc.
O Zabbix tambm faz a gerncia automtica de dispositivos, podendo fazer a
descoberta de baixo nvel, encontrando, por exemplo, uma nova interface de rede
instalada no sistema ou um novo sistema de arquivos.
Os dados coletados so armazenados em uma base de dados relacional sem
restries para limite de armazenamento. Esses dados armazenados podem ser
reutilizados a qualquer momento por outras aplicaes, como um sistema de BI que
gera relatrios gerenciais dos itens histricos.
O Zabbix gerencia esses dados de forma a manter histricos para utilizar a
longo prazo. O Zabbix tambm pode ser configurado para fazer a reduo de dados
de forma a comprimir um determinado tipo de informao e exibi-los em grficos de
acordo com a mdia de determinado prazo.
O Zabbix utiliza vrios mtodos para notificar os eventos ocorridos, tais como:
envio de e-mails, SMS, mensagem via chat, etc. Tambm possvel utilizar a funo
de reconhecimento de eventos, na qual o Zabbix pode escalonar esses eventos para
notificar vrias pessoas em um determinado perodo de tempo.

3.5 API ZABBIX

A API do Zabbix uma ferramenta que permite que o Zabbix seja estendido
ainda mais. muito utilizada para criar novas aplicaes para trabalhar com o
Zabbix, integrar Zabbix com softwares de terceiros e automatizar tarefas de rotina.
Essa API baseada na web e fornecida como parte do front-end. Depois de
configurar o front-end, pode-se usar chamadas HTTP remotas para chamar a API.

3.6 INTERFACE E VISUALIZAO

Uma funo chave nas ferramentas de monitoramento a visualizao de


eventos, como por exemplo, as que apoiam a visualizao de alertas atravs de um
painel de controle. No Zabbix, pode-se visualizar os dados coletados atravs de
grficos, mapas ou telas. Grficos para visualizar principalmente trfego. Mapas
para visualizar um conjunto de hosts e/ou dispositivos da rede. Telas para poder
ajustar o que se quer monitorar de um determinado host ou dispositivo, podendo
adicionar grficos, mapas de rede e informao textual diversa. A figura 5 ilustra a
capacidade de visualizao de uma tela contendo um mapa de rede e dois outros
grficos.
Dentre as opes de grficos para exibir alguma varivel sendo monitorada
tem-se, segundo denominao da ferramenta, o tipo normal, stacked, pie e
exploded.
Figura 5 Exemplo de tela no Zabbix.

O grfico normal nada mais que um grfico de linhas diferindo apenas no


estilo do tracejado que pode ser uma linha simples, tal como ilustrado na figura 6,
com preenchimento abaixo da linha, uma linha realada com negrito, somente
pontos, linha tracejada ou uma linha com a rea abaixo preenchida em degrad.

Figura 6 Grfico tipo normal com tracejado em forma de linha simples.


O tipo stacked formado por linhas cujas reas abaixo delas so preenchidas
e se sobrepem, tal como uma pilha.

Figura 7 Grfico tipo stacked

Os outros dois tipos tambm so parecidos. O tipo pie um grfico em forma


de pizza e o exploded s difere do pie pelo fato de os pedaos estarem separados.
A Figura 8 ilustra o tipo pie.

Figura 8 Grfico tipo pie

3.7 ANLISE DE INCIDENTES DE SEGURANA

Do ponto de vista de anlise de incidentes de segurana, pode-se realizar


com o Zabbix um monitoramento por assinaturas de desempenho. A sade da
mquina pode ser monitorada atravs do monitoramento do I/O de disco (pode
indicar roubo de dados), nmero de tentativas de login sem sucesso (pode sugerir
tentativa de acesso no autorizado), taxa de entrada/sada de pacotes (pode indicar
roubo de dados, conexes ilegais ou mesmo um malware) e memria do sistema
(pode indicar worms ou rootkits).
Segundo (QUEIROZ, VIEIRA, FONSECA, 2014) foram feitos testes de
monitoramento usando a ferramenta Zabbix em um servidor web com trfego
normal. A Figura 9, ilustra na forma grfica o monitoramento de 4 clientes em 20
minutos.

Figura 9 Trfego normal no servidor web com 4 clientes em 20 minutos.

Nos testes, um ataque ao servidor foi gerado utilizando a ferramenta hping3


com os parmetros flood e S (envia pacotes com a flag SYN ativa), caracterizando
um ataque SYN Flood. Novo grfico (Figura 10) foi gerado indicando o padro
anormal no trfego, com nmero de pacotes de entrada maior que a sada
processada.
Figura 10 Trfego anormal no servidor web.

Alm do grfico, o trfego foi analisado pela ferramenta tcpdump que mostrou
um IP enviando grande nmero de requisies com a flag SYN para o servidor web
e recebendo pacotes com a flag RESET (figura 11).

Figura 11- Anlise do trfego com tcpdump.

Nesse trabalho o tcpdump no foi executado pelo Zabbix, mas isso pode ser
feito utilizando scripts externos. Seguindo o cenrio que foi descrito acima, preciso
ajustar a varivel UserParameter no arquivo zabbix_agentd.conf. Se o script que
utiliza o tcpdump se chamasse zabbix_dump.sh, a configurao ficaria, por exemplo,
assim:

UserParameter=dump[*],/etc/zabbix/zabbix_dump.sh \$1
4. PROJETO

Este captulo apresenta uma proposta de integrao e melhora da


visualizao do Zabbix, a partir da integrao da API GoogleCharts do Google, com
vistas ao monitoramento de falhas de segurana. A seo 4.1 tem por base a
documentao do Google (GOOGLE, 2014), explica como a API do Google trabalha
e como ela pode auxiliar na anlise de segurana. A seo 4.2 explica como a
visualizao em monitoramentos Zabbix pode ser melhorada a partir da integrao
com o GoogleCharts.

4.1 GOOGLE CHARTS

A Google possui uma API para trabalhar com grficos estticos (Google Chart
API) e outra para grficos interativos (Google Visualization API). Este trabalho
explora a verso interativa. Google chama os grficos de charts, por isso daqui para
frente essa a nomenclatura que ser utilizada. H uma galeria de charts prontos
para uso que vo de simples charts de linhas a complexos treemaps. Alm disso,
pode-se criar o prprio chart. A Figura 12 ilustra exemplos de charts da API da
Google.
Uma caracterstica interessante para o monitoramento o nvel de interao
do chart. O chart depois de clicado pode exibir uma barra de ferramentas, alguma
informao extra ou uma animao. Tambm se pode registrar call-backs que
disparem eventos ao passar o mouse em cima ou selecionar uma coluna.
Os charts podem ser alimentados com dados estticos contidos em uma
tabela na prpria pgina web, por dados exportados via JSON ou fazendo a leitura
de uma planilha do Google (spreadsheets).
Figura 12 Exemplos de charts da API do Google.

Para usar qualquer visualizao preciso carregar na pgina web o Google


AJAX API, que fornece o ncleo de funcionalidades necessrias em muitas APIs do
Google. A Visualization API carregada usando o mtodo google.load() (da API do
AJAX), tal como segue.
<script type="text/javascript" src="https://www.google.com/jsa
pi"></script>
google.load('visualization', '1', {'packages':
['columnchart']});

O primeiro parmetro representa a API utilizada, o segundo a verso da API


carregada. O valor 1 significa a verso atual. Packages um array com todas as
visualizaes (charts) que sero utilizados na pgina. No exemplo, 'columnchart'
para desenhar grficos de colunas. Se fosse um grfico de pizza, seria piechart.
Para outros charts consultar a documentao oficial do Google.
Para assegurar que a visualizao foi completamente carregada e evitar erros
de JavaScript importante registrar uma call-back que recebe como parmetro o
nome do mtodo que vai desenhar o chart.
Para construir um chart necessrio um objeto DataTable, que uma tabela
com linhas e colunas. Cada coluna definida com um tipo de dado (um Id e um
Label so opcionais).
Dentro do mtodo que vai desenhar o chart cria-se uma tabela esttica com o
mtodo google.visualization.DataTable() para acomodar os dados e insere-se
colunas e linhas manualmente com os respectivos mtodos addColumn e addRow
ou importa-se os dados atravs de uma consulta ajax a um arquivo no formato json
passando o retorno como parmetro para o mtodo DataTable(). Depois se instancia
o chart com o mtodo google.visualization.ColumnChart(), cria-se um array com
algumas opes como largura, altura ou nome dos eixos, dentre outras, e por fim
invoca-se o mtodo draw do chart passando como argumentos o objeto DataTable e
o array de opes.

4.2 ARQUITETURA DA SOLUO PROPOSTA

Como discutido no captulo 3, o Zabbix uma ferramenta de monitoramento


que apresenta limitaes em sua interface para visualizao de eventos. Esta seo
explica como estender a parte de visualizao do Zabbix oferecendo novas opes
de grficos que no so suportados pela ferramenta.

Alm de manipular e monitorar objetos internos, outro uso da API do Zabbix


exportar dados para posterior anlise. Mapas, grficos e tabelas de dados so boas
ferramentas, mas foram feitas para serem usadas dentro do frontend. s vezes
precisa-se dos dados brutos para fazer clculos que a ferramenta no realiza ou
para gerar um documento com grficos personalizados e outros dados, sendo assim
faz sentido escrever algum cdigo para extrair esses dados.
Neste trabalho parte-se da ideia que h um servidor Zabbix instalado e
configurado. Este, via agentes, coleta os dados interessados na rede e os armazena
em sua base de dados.
A integrao proposta foi testada com um script python que se comunica com
a API do Zabbix e faz a coleta dos dados desejados. Na sequncia da explicao da
integrao supem-se que a varivel a ser coletada seja o trfego em kbps na
interface de rede eth0 de um servidor Debian 7 rodando Apache. No script python
utiliza-se o PyZabbix que um mdulo python compacto que abstrai a API do Zabbix
enquanto permanece fcil de usar. Este mdulo pode ser instalado atravs do pip
que uma ferramenta que ajuda a instalar e gerenciar pacotes em python.
pip install pyzabbix
Deve-se incluir o cabealho para poder usar a API.
from pyzabbix import ZabbixAPI
No teste de integrao passa-se como parmetro ao script, o nome do host a
ser monitorado e o nome do item a ser monitorado. O nome desse item foi definido
na criao de um template teste no Zabbix. Esse host o gtnode02 e o nome do
item 'Trafego total'.
Segundo a documentao do Zabbix, para fazer consultas via API preciso
estar autenticado. Uma funo autentica instancia um objeto para trabalhar com a
API e recebe como parmetros o endereo IP do host onde a interface web do
Zabbix est disponvel, o login e a senha.
Aps a funo getIdHost(), recebe como parmetros o objeto que
trabalha com a API e o nome do host a ser monitorado passado como parmetro ao
script e retorna o id desse host que est armazenado na base de dados do Zabbix.
A funo getIdItem() recebe como parmetros o objeto que trabalha com
a API, o id do host descoberto por getIdHost() e o nome do item a ser monitorado
passado como parmetro ao script e retorna o id do item trfego de rede na interface
eth0.
Define-se um intervalo de tempo no qual sero coletados os valores como
segue:
time_till = time.mktime(datetime.now().timetuple())

time_from = time_till - 60 * 10 #pega ltimos 10 min

Ento se faz a coleta dos dados com o mtodo history.get que recebe
como argumentos o id do item a ser monitorado, o intervalo de tempo e outras
opes como sada estendida ou limite de resultados retornados. O mtodo
history.get retorna um objeto no formato json. Os valores retornados so
extrados e armazenados num array para facilitar a manipulao posterior.
Foi criado estaticamente para esse teste um arquivo json que representa uma
tabela de dados com 20 valores no formato que o google charts consegue interpretar
para gerar grficos. Esse arquivo lido pelo script e seu contedo copiado e
convertido para um objeto json com o mtodo json.loads(). Com um lao, esse
objeto tem seus valores antigos sobrescritos pelos valores coletados. Depois se
converte esse objeto para uma string json com o mtodo json.dumps() e grava-se
num arquivo que substitui o anterior.
Feito isso, a exportao de dados esta completa e tem-se um arquivo json
atualizado com os dados coletados que pode ser renderizado por uma pgina que
utilize o Google Charts como foi explicado na seo 4.1. A Figura 13 mostra um
grfico gerado no teste de integrao.

Figura 13 Grfico gerado com o Google Charts API.


No grfico da Figura 13, quando se passa o mouse em determinado ponto, o
mesmo realado e tambm mostrado o seu valor, fato que no ocorre no Zabbix.
Outra caracterstica so eventos que podem ser adicionados pgina web
que utiliza o Google Charts como mostra o trecho de cdigo da Figura 14 em que o
mtodo recebe a instncia do chart, o tipo de evento e o mtodo que tratar o
evento.

Figura 14 Exemplo de evento no Google Charts.

O resultado desse evento pode ser visto na Figura 15.

Figura 15 Resultado de evento

Na Figura 15 foi clicado em um ponto que disparou um evento que exibe um


alerta dizendo qual coluna da tabela foi selecionada e que posteriormente chama
outra pgina com outro grfico. Este tipo de interatividade com o chart muito
interessante para monitoramento de incidentes de segurana por permitir o
aprofundamento da investigao, importante aspecto no monitoramento de
incidentes de segurana.
4.3 ZABBIX COM GOOGLE CHARTS

Integrando o Zabbix com o Google Charts tem-se um nmero maior de


opes de grficos, suporte a eventos e grficos interativos. Dentre esses novos
tipos h o treemap que um tipo de grfico hierrquico que pode ser usado, por
exemplo, para substituir mapas de rede que podem se tornar extensos e confusos
como ilustra a Figura 16.

Figura 16 Mapa de rede tradicional

No exemplo da Figura 17 um treemap representando uma rede de


computadores cuja entrada da rede pelo IP 200.132.35.25, segmentada em quatro
subredes cuja mscara 192.168.0.x.
Figura 17 Treemap de uma rede segmentada em 4 subredes

Ao clicarmos na subrede 192.168.0.0, um novo treemap gerado com a lista


de computadores que formam a subrede. Como o treemap um mapa bidimensional
ele pode representar duas informaes, nesse caso as informaes que temos a
rea do retngulo e sua cor. Nesse exemplo a rea representa a importncia
daquela mquina na rede. Como servidores tm uma importncia maior, so
representados com uma rea maior e as demais mquinas que usufruem dos
servios possuem rea menor. A cor representa se a mquina possui algum alerta,
sendo a legenda de cor verde nenhum problema, amarelo problema leves e
vermelhos alertas graves. A Figura 18 exemplifica esse treemap.
Figura 18 Treemap com os computadores da rede selecionada

Clicando sobre o retngulo de cor vermelha cujo nome Linux02 para


explorarmos mais a fundo algum problema obtemos a Figura 19 que nos mostra que
o problema est na memria.

Figura 19 Treemap com itens monitorados no computador selecionado

Indo mais alm, pode-se ao clicar na rea que diz memria exibir mais
informaes ou abrir um outro grfico mostrando o consumo de memria, por
exemplo.
Outro exemplo de grfico que pode ser usado um grfico de bolhas. Aps
uma ferramenta externa executada por meio de um script capturar e analisar
pacotes para o Zabbix Server, um grfico de bolhas mostra os diferentes protocolos
que trafegaram na rede em determinado perodo, sendo a quantidade de informao
representada pelo tamanho da bolha. Visualiza-se esse grfico na Figura 20.

Figura 20 Grfico de bolhas

Aps esses exemplos de grficos, possvel combin-los em um dashboard


(vide Figura 21) e utilizar controles para manipular os dados que so mostrados.

Figura 21 Exemplo de dashboard combinando grficos do Google Charts


Controles como os do canto inferior esquerdo da Figura 21, em que possvel
selecionar o computador a ser monitorado ou exportar os dados de determinado
grfico para os formatos listados, permitem configurar e exportar os grficos.
O resultado, como se pode ver, uma melhora significativa na capacidade de
visualizao do Zabbix, permitindo assim um monitoramento de incidentes de
segurana mais eficiente tambm com esta ferramenta de monitoramento.
5. CONCLUSES

O Zabbix tipicamente uma ferramenta de monitoramento de disponibilidade


e recursos. O monitoramento de incidentes na rede chave para garantir a
segurana das aplicaes e seus dados. Entretanto, o Zabbix apresenta limitaes
no que diz respeito visualizao dos eventos e dados monitorados. Aps anlise
das limitaes na parte de visualizao de eventos com reduzido nmeros de
opes de grficos este trabalho props integrar a API do Google Charts ao Zabbix,
habilitando-o a melhores visualizaes e tambm dinamismo ao grfico.
A validao foi conceitual, mas demonstrou as vantagens da soluo que
integra o Zabbix com a API Google Charts. Alm de resultar em vrios grficos, a
soluo permite a insero de recursos como eventos, que ao serem disparados
podem detalhar mais o grfico, abrir caixas de ferramentas ou redirecionar para
outras pginas. O resultado observado foi que atravs do Google Charts, pde-se
obter uma melhora significativa na capacidade de visualizao do Zabbix,
habilitando-o a monitoramentos de incidentes de segurana mais eficientes.
Durante o desenvolvimento do trabalho foram encontradas algumas
dificuldades como extrair dados utilizando uma biblioteca em PHP para o Zabbix
chamada PhpZabbixApi que foi solucionada com a troca da mesma por um mdulo
em Python chamado pyzabbix e a dificuldade natural de fazer a API do Zabbix
conversar com a API do Google.
Como trabalho futuro pode-se citar o desenvolvimento de um software capaz
de monitorar uma rede de computadores que j inclui na prpria ferramenta as
facilidades de visualizao que o Google Charts oferece. Outra sugesto adicionar
um mdulo de inteligncia artificial como uma rede neural que possa interpretar as
assinaturas de um ataque e tentativas de invases utilizando uma base de
conhecimento.
REFERNCIAS
ALOG, Datacenters do Brasil. 2014. Disponvel em: <http://www.alog.com.br>.
Acesso em: 4 abril 2014.

AVVIO, Telecom. 2014. Disponvel em: <http://avvio.com.br>. Acesso em: 4 abril


2014.

Balsemo, F. T. Gerncia e Monitoramento de Redes Atravs de Dispositivos


Mveis. Trabalho de Concluso de Especializao. 2008. Universidade Federal do
Rio Grande do Sul. Porto Alegre, RS, Brasil.

BANCO CENTRAL DO BRASIL. 2014. Disponvel em: <http://www.bcb.gov.br>.


Acesso em: 4 abril 2014.

BRISA. Gerenciamento de Redes - Uma abordagem de Sistemas Abertos. Makron


Books do Brasil, 1993.

CACTI. 2014. Disponvel em: <http://www.cacti.net/>. Acesso em: 3 maro 2014.

CARVALHO, M. B. Adaptao da Ferramenta Nagios para o Monitoramento de


Servidores Virtuais. 2010. Trabalho de Graduao. Universidade Federal do Rio
Grande do Sul, Porto Alegre, RS, Brasil.

CASE, J.; FEDOR, M.; SCHOFFSTALL, M.; & DAVIN, J. RFC 1067. A Simple
Network Management Protocol.1988. Disponvel em:
<http://tools.ietf.org/html/rfc1067>.

CORREIA, M. F. Gerncia de Redes. Trabalho de Final de Curso. 2004. Unio


Educacional de Minas Gerais, Uberlndia, MG, Brasil.

CROCKFORD, D. JSON(RFC 4627). The application/json Media Type for JavaScript


Object Notation (JSON). 2006. Disponvel em: < http://tools.ietf.org/html/rfc4627>.

DEMOISELLE. Introduo ao Monitoring. 2014. Disponvel em:


http://demoiselle.sourceforge.net/docs/components/junit/reference/2.3.0/html/monitori
ng-introducao.html.

FRANCESCHI, A. S. M. Desenvolvimento de Agentes Autonomos para Gerncia


de Redes de Computadores. 1999. Universidade Federal de Santa Caterina,
Florianpolis, SC, Brasil. Disponvel em:
<http://www.inf.ufsc.br/~barreto/teses/qdalucia.pdf>. Acesso em: 11 maio 2014.

GONALVES, R. F. GAVA, V. L. PESSA, M. S. P. SPINOLA, M. M. Uma proposta


de processo de produo de aplicaes Web. Revista Produo, v. 15, n. 3, p.
376-389, Set./Dez. 2005.

GOOGLE. Google Charts Google Developers. 2014. Disponvel em: <


https://developers.google.com/chart/>.
HARTMANN, V. C. Administrao de Desempenho de Ambientes de Tecnologia
da Informao em Organizaes do Distrito Federal. Dissertao de Mestrado.
2002. Universidade Catlica de Braslia, Braslia, DF, Brasil.

ISO. International Organization for Standardization. 2014. Disponvel em:


<www.iso.org>.

ITU. ITU-T Recommendation X.711, ISO/IEC International Standard 9596-1. A


Common Management Information Protocol. 2014. Disponvel em:
<http://www.itu.int/rec/T-REC-X.711/en/>.

ITU. ITU-T Recommendation x.800, ISO International Standard 7498-2.


OSI Security Architecture. 2015. Disponvel em: <http://www.itu.int/rec/T-REC-X.800-
199103-I/e>

KIOSKEA. Ataque de Servidores Web. 2014. Disponvel em:


<http://pt.kioskea.net/contents/15-ataque-de-servidores-web>. Acesso em: 2 maro
2014.

KUROSE, J. e ROSS, K. Redes de computadores e a internet: uma abordagem


top-down. Editora Addison Wesley. 3ed., So Paulo. 2006.

LIMA, J. R. Monitoramento de Redes com Zabbix. Editora Brasport. 2014.

MENDES, D. R. Redes de Computadores: Teoria e prtica. Novatec, 2007.


Disponvel em: <http://novatec.com.br/livros/redescom/capitulo9788575221273.pdf>.

MINISTRIO DA CULTURA. O crescimento do uso da internet no mundo supera


previses e assusta pesquisadores. 2008. Disponvel em:
<http://www.cultura.gov.br/>. Acesso em: 2 maro 2014.

MONIT. 2014. Disponvel em: <http://www.mmonit.com/monit/>. Acesso em: 3 maro


2014.

NAGIOS. 2014. Disponvel em: <http://www.nagios.com>. Acesso em: 3 maro 2014.

NAGIOS. The Industry Standard in IT infrastructure Monitoring. 2015. Disponvel


em: <http://www.nagios.com/>.

NMAP. Nmap Free Security Scanner For Network Exploration & Hacking. 2014.
Disponvel em: <nmap.org/>.

OLIVEIRA, T. S. T. Testes de Segurana em Aplicaes Web Segundo a


Metodologia OWASP. Monografia de Graduao. 2012. Universidade Federal de
Lavras. Lavras, MG, Brasil.

OPENSUSE. Cacti. 2014. Disponvel em: <http://pt.opensuse.org/Cacti>. Acesso


em: 3 maro 2014.

PEREIRA, H. F. D. Avaliao de Ferramentas de Monitorizao e Gesto de


Redes. Dissertao de Mestrado. 2009. Universidade de Aveiro, Aveiro, Portugal.
PINGDOM. Internet 2012 in numbers. 2012. Disponivel em:
<http://royal.pingdom.com/2013/01/16/internet-2012-in-numbers/>. Acesso em: 2
maro 2014.

PINHEIRO, J. M. S. Gerenciamento de Redes de Computadores. 2002.


Disponvel em: <http://www.allnetcom.com.br/upload/GerenciamentodeRedes.pdf>.
Acesso em 12 maio 2104.

POLISOFTWARE. Aplicaes Web Conceitos II. 2012. Disponvel em:


<http://polisoftware.wordpress.com/2012/11/05/aplicacoes-web-conceitos-ii/>.
Acesso em 2 maro 2014.

POLYCHRONAKIS, M. MAVROMMATIS, P. PROVOS, N.. Ghost turns Zombie:


Exploring the Life Cycle of Web-based Malware. In First USENIX Workshop on
Large-Scale Exploits and Emergent Threats (USENIX).

PROJETO DE REDES. Gerenciamento de Redes de Computadores: uma breve


introduo. 2014. Disponvel em:
<http://www.projetoderedes.com.br/artigos/artigo_gerenciamento_de_redes_de_com
putadores.php>. Acesso em: 10 maio 2014.

QUEIROZ, D. V.; VIEIRA, J. C. M.; FONSECA, I. E. Deteco de Ataques de


Negao de Servio Utilizando Ferramentas de Monitoramento e Analise de
Trafego.

SHNEIDERMAN, B.PLAISANT, C. Treemaps for space-constrained visualization


of hierarchies, 2009.

SOCOLOFSKY, T. & KALE, C. RFC 1180. A TCP/IP Tutorial - from the Internet
Engineering Task Force.1991. Disponvel em:<http://tools.ietf.org/html/rfc1180>.

SPECIALSKI, Elizabeth Sueli. Gerncia de Redes de Computadores e de


Telecomunicaes. 1999. Disponvel em:
<http://cassio.orgfree.com/disciplinas/gredes/ApostilaGerenciamento.pdf>.

TANENBAUM, Andrew S. Redes de Computadores. 4 Edio. Rio de Janeiro:


Editora Campus, 2003.

TENABLE. Nessus Vulnerability Scanner. 2014. Disponvel em:


<www.tenable.com/products/nessus>.

TELECO, Inteligncia em Telecomunicaes. Gerenciamento e Monitoramento de


Rede I: Teoria de gerncia de redes. 2014. Disponvel em:
<http://www.teleco.com.br/tutoriais/tutorialgmredes1/pagina_3.asp>. Acesso em: 9
maio 2014.

THE WEB APPLICATION SECURITY CONSORTIUM. Web Application Security


Statistics. EUA, 2010. Disponvel em:
<http://projects.webappsec.org/w/page/13246989/Web-Application-Security-
Statistics>. Acesso em: 2 maro 2014.

WIRESHARK. Wireshark Go Deep. 2014. Disponvel em: <www.wireshark.org>.

W3C. XML. Extensible Markup Language. 2008. Disponvel em:


<http://www.w3.org/TR/REC-xml/>.

ZABBIX. 2014. Disponvel em: <http://www.zabbix.com>. Acesso em: 3 maro 2014.

ZABBIX. Product. 2014-b. Disponvel em: <http://www.zabbix.com/product.php>.


Acesso em: 3 maro 2014.

ZABBIX. Zabbix Documentation 2.2. 2014-c. Disponvel em:


<www.zabbix.com/documentation/2.2/manual/installation>. Acesso em: 3 maro
2014.

ZABBIX BRASIL. Casos de Sucesso. 2014-d Disponvel em:


<http://zabbixbrasil.org/?page_id=15>. Acesso em: 4 abril 2014.

ZENOSS. 2014. Disponvel em: <http://www.zenoss.com>. Acesso em: 3 maro


2014.

ZENOSS. Zenoss Service Dynamics. 2014 b. Disponvel em:


<http://www.zenoss.com/solution/service_dynamics>. Acesso em: 3 maro 2014.