Trabalho de gerencia de redes.

17
Finalizado (postado no blog BSI2007) Uso indevido da Internet: Um problema de gerência Paula Mayara A. de Sousa 1 , Luma da R. Seixas 1 , Yuko Mitsuya 1 , Danilo Dias 1 , Maic de S. Cardoso 1 , Warlington N. dos Santos 1 1 Bacharelado em Sistemas de Informação - Universidade Federal do Pará Santarém PA – Brazil {paulaalcantara_stm, seixas.luma, xmitsuya, danilohdds, rewangh, warlingtonn}@gmail.com Abstract. Internet has revolutionized the business world, especially in business, but some users use it improperly, can cause problems of integrity and image of the company, which often act in bad faith. The aim of this paper is to provide a management platform that accounts for the use of the Internet in a small network, for auditing purposes. Created a small network exclusively for testing. Through the tools Squid and Sarg, you can collect data on the use of the network, provide support to the manager in making decisions about network configuration and resource allocation to users and user groups. Resumo. Internet tem revolucionado o mundo empresarial, principalmente no ramo dos negócios, porém alguns usuários a utilizam de forma abusiva, podendo causar problemas de integridade e a imagem da empresa, os quais muitas vezes agem de má fé. O objetivo deste artigo é prover uma plataforma de gerência que contabilize o uso da internet numa pequena rede, para fins de auditoria. Criou-se uma pequena rede exclusivamente para testes. Através das ferramentas Squid e Sarg, é possível coletar dados sobre a utilização da rede, fornecer subsídios ao gerente na tomada de decisões a respeito da configuração de rede e alocação de recursos para usuários e grupos de usuários.

Transcript of Trabalho de gerencia de redes.

Page 1: Trabalho de gerencia de redes.

Finalizado  (postado no blog BSI2007)

Uso indevido da Internet: Um problema de gerência

Paula Mayara A. de Sousa1, Luma da R. Seixas1, Yuko Mitsuya1, Danilo Dias1,

Maic de S. Cardoso1, Warlington N. dos Santos1

1Bacharelado em Sistemas de Informação - Universidade Federal do ParáSantarém – PA – Brazil

{paulaalcantara_stm, seixas.luma, xmitsuya, danilohdds,

rewangh, warlingtonn}@gmail.com

Abstract. Internet has revolutionized the business world, especially in business, but some users use it improperly, can cause problems of integrity and image of the company, which often act in bad faith. The aim of this paper is to provide a management platform that accounts for the use of the Internet in a small network, for auditing purposes. Created a small network exclusively for testing. Through the tools Squid and Sarg, you can collect data on the use of the network, provide support to the manager in making decisions about network configuration and resource allocation to users and user groups.

Resumo. Internet tem revolucionado o mundo empresarial, principalmente no ramo dos negócios, porém alguns usuários a utilizam de forma abusiva, podendo causar problemas de integridade e a imagem da empresa, os quais muitas vezes agem de má fé. O objetivo deste artigo é prover uma plataforma de gerência que contabilize o uso da internet numa pequena rede, para fins de auditoria. Criou-se uma pequena rede exclusivamente para testes. Através das ferramentas Squid e Sarg, é possível coletar dados sobre a utilização da rede, fornecer subsídios ao gerente na tomada de decisões a respeito da configuração de rede e alocação de recursos para usuários e grupos de usuários.

1 . Introdução

Com a infinidade de recursos e facilidades que a internet oferece, muitas empresas a utilizam como ferramenta de trabalho. Porém, nem sempre esta ferramenta é bem utilizada pelos funcionários, gerando problemas de segurança, perda de produtividade e lentidão na conexão [1]. O uso indevido dos recursos disponibilizados pelas empresas para que os funcionários possam

Page 2: Trabalho de gerencia de redes.

produzir, é tratado por uma advertência ou por demissão por justa causa. Isto porque, além de gerar perda de produtividade, sites e ferramentas, podem se transformar em grandes causadores de prejuízos para as empresas, seja pelas horas não trabalhadas, como pelos problemas de segurança que acarretam [2].

Segundo a legislação brasileira, o e-mail corporativo, o computador e a conexão são da empresa. Isso significa que tudo que se faz online pode ser monitorado. A empresa tem o direito e o amparo legal para monitorar tudo o que for escrito [3]. Por isso, é necessário o gerenciamento de redes, onde o administrador se dará o direito de monitorar o volume de tráfego na rede, bem como o acesso a páginas web visitadas e a utilização de outros serviços.

Desta forma, é possível gerenciar o uso indevido da internet através de ferramentas que provêem a contabilização da utilização da internet, que está ligada diretamente à uma área funcional da gerenciamento de redes: a gerência de contabilização.

Sendo assim, o objetivo deste trabalho é prover uma plataforma de gerência que contabilize o uso da internet numa pequena rede, para fins de auditoria. As ferramentas escolhidas para compor esta plataforma foram: Squid provendo políticas de acesso, e gerando um arquivo de log para posterior análise de dados, e a ferramenta Sarg por se tratar de uma aplicação onde é possível interpretar e apresentar ao gerente da rede, um relatório sob as condições de acesso a internet dos usuários da rede.

O presente texto está organizado da seguinte forma: na seção 2 é apresentado a descrição do trabalho e o problema a ser gerenciado. A seção 3 refere-se às ferramentas escolhidas para fazer o gerenciamento de contabilização. A seção 4 é reservada para expor o estudo de caso onde é simulado uma pequena rede cujo serviço (acesso a internet) deverá ser monitorado, obedecendo as políticas de acesso devidamente definidas e configuradas. Por fim, são apresentados os resultados obtidos com a utilização das ferramentas.

2 . Definição do Trabalho

Especificar duas ou mais ferramentas que possam ser usadas para o gerenciamento de um problema em comum a estas ferramentas. De forma a definir um problema a ser solucionado, e através das ferramentas escolhidas tentar resolvê-lo. A partir disso, criar um estudo de caso e documentá-lo para fins de divulgar os resultados obtidos.

2.1 Problema

Há uma grande preocupação nas redes a cerca da gerência sobre o uso de serviços oferecidos por ela. Tal preocupação se tornou tão importante, como por exemplo, saber quanto é gasto de papel durante um mês. É obrigação do administrador de redes monitorar o uso de recursos por usuários ou grupos de usuários. Isso se deve a fatores como: O abuso de privilégios, ou sobrecarga na rede causada por um usuário ou grupo de usuários, ou até mesmo usuários que estejam fazendo uso ineficiente da rede, nesse caso o administrador deve propor soluções para melhorar o desempenho. E ainda, dar melhores condições

Page 3: Trabalho de gerencia de redes.

ao administrador para planejar uma futura expansão da rede, devido conhecer as atividades dos usuários [4].

Foram fatores como esse influenciaram a cerca do tema escolhido para esse artigo: A gerência de contabilização. Ela vem justamente para prover meios de forma a se medir e coletar informações a respeito da utilização dos recursos e serviços de uma rede, para obter informações como: a taxa de uso destes recursos, e para garantir que os dados estejam sempre disponíveis quando forem necessários ao sistema de gerenciamento, durante a fase de coleta, ou em qualquer outra fase posterior a esta. Pode -se dizer que esta gerência é de vital importância para que os custos e o volume de recursos utilizados pelos usuários sejam identificados e registrados de forma correta [5].

Dessa forma, foi criada uma rede fictícia para fins de teste para ser monitorada. Possuindo com 3 máquinas clientes e um servidor. Serão simulados acessos indevidos para que possa feita uma posterior auditoria a cerca da utilização da internet nessa rede. O objetivo é poder determinar, que tipo de sites e serviços estão sendo visitados, de quantos bytes foram utilizados para as requisições feitas.

3 . Ferramentas Propostas

Este tópico é reservado para a apresentação das ferramentas propostas, bem como suas características, passos para a instalação e configuração e explicando um pouco sobre seu funcionamento.

3.1 SQUID

Com o aumento massificado no uso da internet por grandes organizações, torna-se necessário a utilização de políticas de segurança que possibilitem um melhor aproveitamento dos recursos disponíveis para um satisfatório funcionamento das mesmas. Tais políticas podem ser criadas através de mecanismos como um servidor proxy.

Um servidor proxy é uma peça importante em uma rede interna que tenha contato com outra pública, pois implementa uma série de facilidades e controles. O objetivo principal de um servidor proxy é possibilitar que máquinas de uma rede privada possam acessar uma rede pública, como a Internet, sem que para isto tenham uma ligação direta com o meio exterior. O Servidor proxy costuma ser instalado em uma máquina que tenha acesso direto à internet, sendo que as demais efetuam as solicitações através desta. Justamente por isto, este tipo é chamado de Proxy, pois é um procurador, ou seja, um sistema que faz solicitações em nome de outros [6].

Para o presente artigo será apresentado o servidor proxy SQUID. O Squid é um servidor Proxy e cache que permite tanto compartilhar o acesso à Web com outros PCs da rede, quanto melhorar a velocidade de acesso através do cache [7]. Porém, o SQUID tem as suas limitações. Ele suporta apenas os protocolos HTTP (Hypertext Transfer Protocol) e FTP (File Transfer Protocol — Protocolo de Transferência de Arquivos), portanto o acesso não é completo.

3.1.1 Instalação e Configuração

Page 4: Trabalho de gerencia de redes.

A instalação do SQUID é muito simples, primeiro é necessário atualizar os pacotes do sistema operacional do servidor e logo em seguida instalá-lo, através dos seguintes comandos:

# apt-get update

# apt-get install squid

A configuração do SQUID é feita através da edição de um único arquivo: o "/etc/squid/squid.conf". Cada opção de configuração no Squid é uma tag, por exemplo, a definição de porta de pedido de cliente HTTP é identificada pela tag http_port [8].

A alteração básica para o SQUID funcionar é descomentar, habilitando os quatro comandos ou linhas em seu arquivo de configuração, como é apresentado abaixo.

http_port 3128

visible_hostname servidor

acl all src 0.0.0.0/0.0.0.0 e http_acess allow all

A primeira linha, define a porta em que o squid espera por conexões HTTP,que no caso a porta padrão é 3128. Em seguida, visible_hostname, define o nome do mesmo servidor da configuração da rede, nesse caso: «servidor». A última linha apresentada, constitui uma política de acesso que indica que todos os endereços IP's incluídos na lista possam usar o proxy[7]. Após feita esta configuração básica, é possível verificar se as alterações foram ativadas reiniciando o servidor SQUID pelo comando:

# /etc/init.d/squid restart

Essas configurações iniciais apenas permitem ativar o proxy. Mas para que ele funcione como Proxy transparente é necessário habilitar o squid e o firewall de forma que o servidor proxy fique escutando todas as conexões na porta 80. Isso evita a configuração manual em cada estação da rede [7].

A ativação do proxy transparente irá direcionar as requisições recebidas na porta 80 para o Squid, para isso é necessário executar o seguinte comando:

# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j \REDIRECT --to-port 3128

Este comando permite, configurar o firewall via NAT (Network Address Translation) através do eth0 do proxy, onde este recebe as requisições de outros micros da rede e redireciona para a porta do SQUID "3128".

# iptables -t nat -A POSTROUTING -s 0/0 -o eth1 -j MASQUERADE

Para permitir que as máquinas da rede interna se comuniquem com a internet, o comando acima define que a interface eth1 deverá ter seu endereço de origem alterado e mascarado.

Page 5: Trabalho de gerencia de redes.

Após a ativação do firewall e squid é preciso criar as políticas de acesso "acl's" da rede local de duas maneiras:

por domínios: bloqueia o acesso a sites indesejados

acl nome_arquivo_bloqueados dstdomain nome_dos_sites_proibidoshttp_access deny nome_arquivo_bloqueados

por palavras: bloqueia de acordo com as palavras

acl palavrasproibidas dstdom_regex "/etc/squid/palavrasproibidas"http_access deny palavrasproibidas

Abaixo estão definidas as implementações de configuração realizadas no arquivo squid.conf.

# /etc/squid.conf

http_port 3128 transparent

hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?

no_cache deny QUERY

###################################

cache_mem 80 MB

maximum_object_size_in_memory 64 KB

maximum_object_size 90 MB

minimum_object_size 0 KB

####################################

cache_swap_low 90

cache_swap_high 95

Page 6: Trabalho de gerencia de redes.

# Configuracao do Cache

cache_dir ufs /var/spool/squid/ 2048 16 256

# Arquivo onde sao guardados os logs de acesso do Squid.

cache_access_log /var/log/squid/access.log

error_directory /usr/share/squid/errors/Portuguese

visible_hostname servidor

refresh_pattern ^ftp: 1440 20% 10080

refresh_pattern ^gopher: 1440 0% 1440

refresh_pattern . 15 20% 4320

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl SSL_ports port 443 563

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 563 # https, snews

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280 # http-mgmt

acl Safe_ports port 488 # gss-http

Page 7: Trabalho de gerencia de redes.

acl Safe_ports port 591 # filemaker

#acl Safe_ports port 777 # multiling http

#acl Safe_ports port 901 # SWAT

acl purge method PURGE

acl CONNECT method CONNECT

http_access allow manager localhost

http_access deny manager

http_access allow purge localhost

http_access deny purge

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

acl bloqueados url_regex -i "/etc/squid/bloqueados"

http_access deny bloqueados

# A acl "proibidos" é usada para fazer bloqueio baseado em palavras

acl proibidos dstdom_regex "/etc/squid/proibidos"

http_access deny proibidos

# Bloquear Streaming

# acl streaming rep_mime_type ^video/x-ms-asf

# acl proibir_musica urlpath_regex -i \.aif \.aifc \.aiff \.asf \.asx \.avi \.au \.m3u \.med \.mp3 \.m1v \.mp2 \.mp2v \.mpa \.mov \.mpe \.mpg \.mpeg \.ogg \.pls \.flv

# acl proibir_musica2 urlpath_regex -i \.ram \.ra \.ram \.snd \.wma \.wmv \.wvx \.mid \.midi \.rmi

# http_access deny streaming proibir_musica proibir_musica2

Page 8: Trabalho de gerencia de redes.

# acl flash url_regex -i \.flv \.torrent

# http_access deny flash

acl redelocal src 10.123.123.0/24

#delay_pools 1

#delay_class 1 2

#delay_parameters 1 24576/24576 12288/12288

#delay_access 1 allow redelocal

http_access allow localhost

http_access allow redelocal

http_access deny all

As palavras e sites bloqueados são armazenados em um arquivo localizado em /etc/squid/ nome_arquivo_bloqueados.

O comando cache_dir ufs /var/spool/squid/ 2048 16 256, define o diretório onde o cache será armazenado no diretório “/var/spool/squid” onde a primeira seqüência de números é o espaço destinado ao cache, o segundo informa a quantidade de diretórios a serem criados, e a terceira seqüência de números, informa a quantidade subdiretórios. O comando cache_access_log /var/log/squid/access.log, define o diretório onde ficarão os logs de acessos dos usuários. Esses arquivos por sua vez são muito complicados de serem interpretados pelo administrador de redes. A solução encontrada para poder traduzir esses logs é justamente utilizar uma ferramenta que possa facilitar a sua visualização [9]. A qual é proposta no próximo tópico.

3.2. SARG

O SARG (Squid Analize Reports Generator) é um interpretador de logs para o Squid, desenvolvido pelo brasileiro Pedro Orso. Cada acesso que passa pelo Squid, fica registrado em arquivo de log que não é bem legível para o administrador de rede. O SARG, portanto, permite visualizar o log de acessos dos usuários, mostra onde e o que os eles estão fazendo na Internet. Provê muitas informações sobre as atividades dos usuários que usam o Squid, tais como: tempos, bytes trafegados, sites acessados, tempo que passou acessando cada site, data, hora e gráficos o que permite total e completa administração de seus recursos [10].

Page 9: Trabalho de gerencia de redes.

3.2.1. Instalação e Configuração

Para a execução do Sarg foi necessário criar um Servidor Web, no caso, o Apache e ainda foi necessário instalar o php5. A configuração de tais pré-requisitos encontram-se abaixo:

Para a instalação do Servidor Apache e PHP5, foi necessário ir ao terminal e executar alguns comandos, que seguem respectivamente:

# apt-get install apache2

# cd httpd-2.0.63

./configure \

--prefix=/usr/local/apache2 \

--enable-cgi --enable-so \

--enable-rewrite--enable-mime-magic \

--enable-suexec \

--enable-static-rotateslogs \

--enable-spellig \

--enable-log-forensic

# make

# make install

Para instalação do PHP5:

# apt-get install php5

# cd php-5.0.3

./configure --with-apxs2=/usr/local/apache2/bin/apxs \

--with-mysql=/usr/local/mysql --prefix=/usr/local/apache2/php \

--with-config-file-path=/usr/local/apache2/php \

--enable-force-cgi-redirect --disable-cgi –with-z=/usr/include/linux

Page 10: Trabalho de gerencia de redes.

Configurando o Apache2 para dar suporte ao PHP5, é criado um link dentro do diretório /etc/ apontando para /usr/local/apache2.

# cd /etc/

# ln -s /usr/local/apache2

# cd /etc/apache2

Antes de configurar o arquivo original, é necessário fazer uma cópia de segurança do arquivo httpd.conf.

# cp /etc/apache2/conf/httpd.conf /etc/apache2/conf/httpd.conf.original

Editando o arquivo httpd.conf

DirectoryIndex index.html index.html.var index.cgi index.php index.php4 index.php5 default.html default.php blank.html

ServerName 10.123.123.1

LoadModule php5_module modules/libphp5.so

AddType application/x-httpd-php php

AddType application/x-httpd-php-source phps

#ServerTokens

ServerSignatures Off

Logo após, é necessário apenas reiniciar o servidor com:

# /usr/local/apache2/bin/apachectl restart

A instalação do SARG é muito simples apenas um "# apt-get install sarg" no terminal basta para ser completada. O mesmo também pode ser obtido em: http://sarg.sourceforge.net/pt-sarg.php

Com o Sarg, apache2 e o php instalados e configurados, já é possível iniciar a fase de testes. Foram feitos acessos das máquinas clientes a diversas páginas da internet, para poder fazer o gerenciamento do que era acessado.

Page 11: Trabalho de gerencia de redes.

4 . Estudo de caso

Foi implementada uma rede com as seguintes configurações: foi instalado o SO Debian Lenny 5.03 para funcionar como servidor, com o IP 10.123.123.1 na porta eth0 (placa de rede local) e as máquinas clientes foram: 10.123.123.2, 10.123.123.3 e 10.123.123.4.

Como os relatórios emitidos pelo Squid não são muito legíveis, a utilização do SARG foi essencial para fazer a análise do tráfego de informações na rede. As regras utilizadas pelo Squid são descritas acima, na seção 3.1.1.

O monitoramento da rede pode ser observado no decorrer das imagens abaixo:

Fig 1. Tela inicial do sarg no navegador

Page 12: Trabalho de gerencia de redes.

Nessa figura é possível observar a quantidade de máquinas na rede e quanto cada uma está consumindo.

Fig 2. Tabela mostrando os sites visitados pelos usuários

A figura 2 possibilita verificar quais sites foram mais visitados pelos usuários. E a seguir é mostrado um relatório de acesso por cada usuário, ou seja, o site que foi acessado e a a partir de que máquina da rede.

A seguir é exibido um relatório com as tentativas de acesso a sites bloqueados pelo Squid.

Page 13: Trabalho de gerencia de redes.

5 . Resultados Obtidos

Através das tabelas apresentadas na seção anterior, pode-se observar que as ferramentas propostas se mostraram bastante eficientes no que foi proposto nesse artigo. Utilizando a ferramenta Squid foi possível bloquear o acesso a alguns sites, os quais foram mostrados na Fig 4. e em se tratando do Sarg, obtive-se o número total de acessos a sites, tempo utilizado por cada usuário, bytes gastos por cada acesso em sites, número de conexões realizadas e sites mais visitados. Observou-se que em média foram gastos 01:50 hs por usuário acessando a internet, 141.92Mb em média gastos por usuário, conexões feitas em média foram de 6.63K.

Referências

[1]. Redação O Estado do Paraná. (2008). “Uso indevido da Internet traz prejuízos para as empresas”. <http://www.parana-online.com.br/canal/tecnologia/news/53285/?noticia=USO+INDEVIDO+DA+INTERNET+TRAZ+PREJUIZOS+PARA+AS+EMPRESAS>. Dezembro/2009.

[2]. ÚnicoNet. “Clientes – Cases”. <http://www.uniconet.com.br/Uniconet/Clientes/cases>. Dezembro/2009.

[3]. Koch, Moisés. (2008). “Um Proposta de Solução de Gerenciamento utilizando Nagius e Cacti”. <http://www.lume.ufrgs.br/bitstream/handle/10183/15980/000695290.pdf?sequence=1>. Dezembro/2009.

[4]. “Perguntas sobre Gerenciamento de Redes”. http://www.gta.ufrj.br/~alexszt/ger/questoes.html. Dezembro/2009.

[5]. Azevedo, Douglas J. Peixoto de. “Gerenciamento na arquitetura OSI”. <http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=181>. Dezembro/2009.

[6]. <http://imasters.uol.com.br/artigo/6220/linux/servidor_proxy_squid/>. Dezembro/2009.

[7]. <http://www.guiadohardware.net/dicas/squid-sarg-monitorando-acesso-web-sua-lan.html>. Dezembro/2009.

[8]. Laureano, Marcos A. Pchek. (2002). “Instalando e Configurando o Squid”. <http://www.mlaureano.org/guias_tutoriais/GuiaInstSquid.htm>. Dezembro/2009.

[9]. Gonzalez, Ary Carlos Rocha e Everton dos Reis. (2009). “Implantação de um servidor na empresa Soares Máquinas e Motores Ltda, para controle de acesso a internet utilizando Software Livre”.

[10]. Robert Lucas. (2007). “Aplicativos Linux para o dia-a-dia”. <http://www.vivaolinux.com.br/artigo/Aplicativos-Linux-para-o-diaadia/?pagina=2>. Dezembro/2009.