Gerenciamento do uso indevido da Internet em pequenas redes
1. 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
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.
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 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.
2. 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 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
3. 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
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
4. 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.
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_proibidos
http_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
# 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
5. 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
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
6. # 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
# 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].
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
7. 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
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
8. 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.
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
Nessa figura é possível observar a quantidade de máquinas na rede e quanto cada uma está
consumindo.
9. 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.
Fig 3. Relatório dos sites acessados por cada ip da rede.
10. A seguir é exibido um relatório com as tentativas de acesso a sites bloqueados pelo Squid.
Fig 4. Exibe tentativas de acesso a sites não permitidos
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.
11. [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.