Anda di halaman 1dari 4

Anais do Encontro Regional de Computao e Sistemas de Informao

EASY SQUID CONFIGURATOR (ESC) UM APLICATIVO


GNOME/LINUX PARA CONFIGURAO DO PROXY SQUID
Henery Luan P. Gomes1, Danny S. Lopes1
1
Residncia em Software Ps-Graduao em Engenharia de Software - Centro de Ps Graduao e
Extenso (CPGE) - FUCAPI
Manaus AM Brazil
heneryluan.pg@gmail.com, danny.lopes@fucapi.br

Abstract. The present work aims at the benefit of the open source community with the development
of an application directed to both domestic and for corporate networks users, whose the main objective is
to allow an easy configuration of the Squid Proxy, since the automation tools of this process
usually require a high level of knowledge by the user, resulting in difficulty of use or not to this for users
with limited knowledge. For this, it is necessary to in-depth analysis of the Squid Proxy and all
its features. From this, the Easy Squid Configurator application was developed in C programming
language using the GTK + toolkit. The tests performed with the application demonstrate that the ESC
provides easy configuration, convenience and friendly graphical interface and easy understand for
GNOME / Linux users.

Resumo. O presente trabalho tem por finalidade o benefcio da comunidade do software livre com o
desenvolvimento de um aplicativo direcionado tanto aos usurios de redes domsticas como para
corporativas, cujo principal objetivo permitir uma fcil configurao do Proxy Squid, pois as
ferramentas de automao deste processo normalmente exigem um alto nvel de conhecimento por parte
do usurio, resultando na dificuldade ou mesmo na no utilizao deste por usurios com conhecimentos
limitados. Para isto, fez-se necessrio a anlise profunda do Proxy Squid e todas as suas
funcionalidades. A partir disto, o aplicativo Easy Squid Configurator foi desenvolvido em linguagem de
programao C utilizando a toolkit GTK+. Os testes realizados com o aplicativo demostram que o ESC
apresenta facilidade para configurao, praticidade e interface grfica amigvel e de fcil entendimento
para os usurios GNOME/Linux.

1. Introduo
O Proxy Squid um mecanismo utilizado pela Internet que pode atender demanda das redes domsticas
e das redes corporativas. Souza e Sousa (2007) destacam que esse mecanismo corresponde a um servidor
Proxy que tem por finalidade a conexo de redes locais Internet provendo a economia da banda passante
e o controle de acesso pelos usurios, desta maneira melhorando os tempos de respostas, fazendo cache
de requisies frequentes de pginas web em uma rede de computadores. Primeiramente, o Squid foi
escrito para funcionar em sistema operacional do perfil do Unix, mas tambm funcionou em sistemas
como Windows e Linux, este ltimo sucessor do sistema operacional Unix.
O Proxy Squid pode ser configurado tanto em nvel de programao das Access Control Lists
(ACL) quanto por meio de ferramentas de automao deste processo. As ferramentas para a configurao
do Proxy Squid normalmente exigem conhecimentos complexos, uma vez que grande parte delas
voltada apenas para redes corporativas e utilizadas em sua maioria por administradores de redes que
possuem total conhecimento tcnico sobre sua utilizao, excluindo os possveis usurios com
conhecimentos limitados.
A grande relevncia desse estudo consiste em beneficiar a sociedade e apresentar o
desenvolvimento de uma ferramenta simples para a configurao do Proxy Squid, pois as ferramentas
existentes apresentam uma configurao muito complexa do mesmo, ocasionando a no utilizao deste
recurso pelos usurios que possuem um menor conhecimento sobre este Proxy. A ferramenta ESC (Easy
Squid Configurator) foi desenvolvida com o propsito de configurar facilmente o Proxy Squid e apresenta
seu desenvolvimento voltado para a plataforma GNOME/Linux utilizando toolkit GTK+ em Linguagem
de programao C.

2. Proxy
Segundo Siewert (2007), o Proxy surgiu da necessidade de ligar a rede local internet, por meio de um
computador que provesse o compartilhamento de internet com os demais computadores, faz-se a seguinte

Manaus, 31 de maio a 02 de junho de 2012 1 ISSN 2238-5096 (CDR)


Anais do Encontro Regional de Computao e Sistemas de Informao

analogia: rede local uma rede interna e a internet uma rede externa, sendo assim, o Proxy o
dispositivo que permite que as mquinas da rede interna se conectem ao mundo externo. O papel
fundamental do Proxy buscar a informao primeiramente no seu cache local e, caso no encontre o
documento requisitado, que faz a busca na internet no site selecionado pela estao de trabalho. Alm
do cache, outra caracterstica muito importante do servidor Proxy so os filtros, pois cabe a eles aplicar
regras pr-determinadas pelo administrador, sobre restries a sites, configurao ou no autenticao dos
usurios e controles de acesso por horrio e data.

3. Os desafios da configurao do Proxy Squid


A configurao de um Proxy Squid ocorre conforme destaca Siewert (2007), o Squid configurado em
um arquivo chamado Squid.conf. Esse arquivo contm informaes como: o endereo e a porta de
comunicao de rede do servidor Proxy e a porta de comunicao utilizada, a configurao para informar
o tipo de Proxy, o tamanho utilizado pelo cache, a rede liberada para acessar o servidor Proxy e os tipos
de ACLs. Estas so lidas de forma sequencial quando o servio do Squid iniciado, portanto, as ACLs
so lidas da mesma forma e no mesmo momento. Caso uma ACL se refira a um arquivo externo, esse
arquivo ser analisado no momento que o servio iniciado. Sendo assim, se houver alguma alterao,
independente do arquivo, o Squid dever ser reiniciado para que as novas configuraes sejam aplicadas.
A princpio, o Proxy Squid deve ser configurado de forma a aceitar acessos dos clientes a
qualquer espcie de contedo. tarefa do mdulo analisador gerar os devidos bloqueios aos contedos
tidos como imprprios. Com o passar do tempo, a filtragem de contedo toma forma de acordo com o
perfil de acesso dos usurios da rede. Desta maneira, a manuteno e criao de novas regras passam a ser
responsabilidade do mdulo analisador e no mais do administrador. Conforme citam Silva e Monteiro
(2009), muitos softwares de servio Proxy provm meios de negar o acesso a certos endereos de Web
Sites (URLs) por intermdio de uma lista negra, propiciando desta maneira uma filtragem de contedos
baseada em regras.

4. A Biblioteca Grfica GTK+ da Plataforma GNOME/Linux


O GTK+ uma biblioteca para criao de GUI (Graphical User Interfaces). De acordo com GTK
PROJECT (2007), originalmente a biblioteca foi criada enquanto ocorria o desenvolvimento do programa
GIMP (GNU Image Manipulation Program). Desde ento, o GTK+ tornou-se um dos mais populares
toolkits em Linux e BSD Unix. Muitos dos softwares GUI na comunidade de software livre so criadas
em Qt ou em GTK+. O GTK+ uma interface de programao de aplicao orientada a objeto, onde o
sistema orientado a objeto criado com o Glib object system (GObject), que uma base para a biblioteca
GTK+. O GObject tambm permite criar ligaes para vrias outras linguagens de programao.
A biblioteca GTK+ pode ser utilizada com outras bibliotecas, so elas: Glib; Pango; ATK; GDK;
GdkPixBuf; e Cairo. A Glib uma biblioteca de utilidades para finalidades gerais. Ela fornece vrios
tipos de dados, permite o relato de erros, registro de mensagens e trabalha com threads e outros recursos
teis de programao. A Pango uma biblioteca que permite internacionalizao. O ATK um toolkit de
acessibilidade. Este toolkit fornece ferramentas que ajudam pessoas fisicamente debilitadas a trabalhar
com computadores. A GDK um invlucro em torno do desenho de baixo nvel e funes de janelas
fornecidas pelo sistema grfico subjacente. A biblioteca GdkPixbuf um toolkit para carregamento de
imagens e manipulao de buffer de pixels. E por fim, o Cairo que uma biblioteca para criao de
grficos vetoriais 2D. Ele foi includo no GTK+ desde a verso 2.8.

5. O aplicativo Easy Squid Configurator


O desenvolvimento do ESC oferece mais uma melhoria no conhecimento e compartilhamento de
experincias comunidade do software livre por meio de um aplicativo que realiza facilmente os
propsitos operacionais bsicos do Proxy Squid. O desenvolvimento do aplicativo foi feito em equipe,
teve incio no final do segundo semestre de 2010 e vem sofrendo maturao ao longo dos anos
posteriores, tendo ainda em desenvolvimento melhorias a serem includas no contexto do aplicativo.
O Easy Squid Configurator foi desenvolvido utilizando a biblioteca grfica GTK (GIMP Tool
Kit), o compilador GCC (GNU C/C++ Compiler), o depurador GDB (GNU Debugger) e o Squid 3. Os
dados estruturados do ESC so armazenados em arquivos, garantindo que o sistema seja simples, de fcil
compreenso do cdigo-fonte e possa ser utilizado sem demasias. Para a melhor visualizao do que
compreende o aplicativo, foi realizada uma anlise estruturada com a elaborao de um Diagrama de
Fluxo de Dados (DFD), utilizando a ferramenta SmartDrawVP.

Manaus, 31 de maio a 02 de junho de 2012 2 ISSN 2238-5096 (CDR)


Anais do Encontro Regional de Computao e Sistemas de Informao

Figura 1. Diagrama de fluxo de dados do aplicativo ESC.


O processo de desenvolvimento do software se deu a partir do Diagrama de Fluxo de Dados,
como pode ser visualizado na Figura 1. Inicialmente, a entidade Administrador pode escolher interagir
com os processos: Configurar Opes de Cache, Criar/Editar/Deletar Grupos, Estipular Limite na Banda
de Internet, Limitar Tamanho do Arquivo para Download e Bloquear/Permitir URLs e Domnios
(Ainda como extenso deste processo Bloquear palavras e/ou Extenses na URL).
A interao entre o Administrador e os processos citados anteriormente geram configuraes que
aps a realizao da anlise lxica para a validao dos dados so armazenadas nos depsitos cache e acl
tambm indicados na Figura 1. Exclusivamente no depsito cache so armazenados unicamente as
informaes de cache, pois elas no so obrigatrias. Saindo desses depsitos em forma de regras, essas
informaes passam por outro processo que as organiza em uma sintaxe que o Squid consiga ler. Durante
a organizao os dados so armazenados em arquivos temporrios no depsito temporrio. Uma vez
organizados e na sintaxe do Proxy, o cdigo armazenado no arquivo de configurao do Squid
(squid.conf). Neste ponto, o ESC aciona o comando squid3 k reconfigure, que faz o Squid reiniciar e
por em ao as novas configuraes.

Figura 2. Telas do aplicativo Easy Squid Configurator.


A Figura 2 mostra as telas do aplicativo ESC, onde possvel visualizar as guias de:
configuraes; ACLs; e opes de acesso. Na tela de configuraes, cabe ao usurio habilitar as opes
para o cache ou no, uma vez habilitadas o cache pode ser realizado em memria, em disco, ou em
ambos. Como extenso deste, tambm possvel criar uma lista negra para o cache. Na tela de ACLs o

Manaus, 31 de maio a 02 de junho de 2012 3 ISSN 2238-5096 (CDR)


Anais do Encontro Regional de Computao e Sistemas de Informao

aplicativo permite ao usurio a adio, edio ou excluso das mesmas, exibindo as ACLs pelo nome
definido para o contexto do usurio e o tipo de ACL, que no aplicativo foram definidos como: Grupos e
Ips; Rejeio por URL; Tamanho de Download; e Tamanho de Banda. Para a exibio na tela de opes
de acesso, as ACLs so separadas pelos tipos definidos no aplicativo de modo que as mesmas que no se
enquadram no tipo Grupos e Ips ficam disponveis no campo denominado regras na tela, caso elas se
enquadrem neste tipo so inseridas no contexto de aplicao ou no aplicao da regra selecionada,
fazendo assim, com que o usurio possa interagir com as regras, grupos e ips da forma desejada para o
seu contexto de rede.
6. Planejamento e execuo dos testes com o aplicativo
Para os testes foram utilizados oito computadores, sendo que um destes foi utilizado como servidor, onde
o mesmo foi o nico a possuir o aplicativo ESC, esperando obter resultados satisfatrios abrangendo as
vrias situaes do cotidiano de redes domsticas e corporativas que o aplicativo prope-se a solucionar,
como bloqueios de URLs, domnios, controle de cache, gerenciamento de banda e download. Todos os
computadores foram interconectados, incluindo o servidor da rede, alguns por meio de cabo par tranado,
e uns atravs de rede sem fio.
A rede foi projetada para conter um servidor e sete clientes. Os clientes foram divididos em trs
tipos de grupos distintos de uma nica rede, de forma a explorar todo o potencial de criao de grupos do
ESC, a cada grupo foi colocada uma caracterstica exclusiva. As caractersticas diferenciam-se em: um
grupo do tipo unitrio (com apenas um computador), um tipo de grupo composto por um intervalo de IPs,
e um ltimo tipo de grupo composto por IPs, podendo ou no estar em intervalos.
Para verificar as funcionalidades do aplicativo ESC, foram realizados vrios testes. Testes esses
que consistem na aplicao de regras ACLs ao Proxy Squid do servidor de Rede, ACLs estas criadas a
partir da automao pelo aplicativo ESC.
Nos testes realizados, apenas o servidor possua conexo com a Internet. Os clientes estavam
conectados ao servidor para acessar a Internet, porm, esse acesso a Internet tinha algumas condies.
Uma delas foi a configurao no browser de cada cliente, para utilizao da porta padro do ESC que a
porta 3128, e o IP do servidor como Proxy. Outra condio era que o cliente estivesse vinculado a um
grupo cadastrado na rede. Cada um destes grupos possua permisses e bloqueios exclusivos, porm,
algumas regras eram aplicadas a todos os grupos. E os restantes dos IPs que no estavam vinculados a
nenhum grupo mantiveram-se bloqueados a qualquer tipo de acesso internet atravs do servidor por
padro.

7. Concluso
Este trabalho apresentou o aplicativo ESC, desenvolvido para redes domsticas e corporativas, com a
finalidade de configurar o Proxy Squid e o intuito de atingir usurios de conhecimentos limitados. No
aplicativo podem ser criados controles de cache, grupos de redes, controle de acesso para esses grupos,
como tambm controle de banda e download para os mesmos.
Foram realizados diversos testes de configurao de ACL, envolvendo diferentes tipos de
controles para validar as funcionalidades do ESC, nestes testes foram efetuados controles de cache,
bloqueios a grupos, lista de sites e domnios proibidos, gerncia de banda e tamanho mximo de arquivos.
Com base nos resultados dos testes realizados e na anlise dos dados, ficou comprovado que o ESC
cumpriu os objetivos de seu desenvolvimento, pois o mesmo configurou com sucesso o Proxy Squid de
modo que todas as regras aplicadas pelo administrador aos grupos da rede funcionaram completamente.

8. Referncias
GTK PROJECT, Gtk Org. The GTK+ Project. [S.1], 2007. Disponvel em: <http://www.gtk.org/>.
Acesso em: 27 de Maio de 2012.
SIEWERT, Vanderson Clayton. Ferramenta Web para Administrao do Servidor Proxy Squid.
Blumenau, 2007. Disponvel em:
<http://www.artigocientifico.com.br/uploads/artc_1202931292_41.pdf>. Acesso em: 01 de Novembro
de 2010.
SILVA, Raphael Arajo; MONTEIRO, Cludio de Castro. Proposta de Modelo Gerador de Regras de
Navegao usando Proxy Squid. Palmas, 2009. Disponvel em:
<http://www.seminfo.com.br/anais/2009/pdfs/seminfo/63438_1.pdf>. Acesso em: 14 de Outubro de
2010.
SOUZA, Pedro Rodrigues; SOUSA, Jackson Rodrigo de. Segurana em Redes: Implementando
Servidores Proxy e Firewall em GNU/Linux. Belm, 2007. Disponvel em: <http://www3.iesam-
pa.edu.br/ojs/index.php/computacao/article/view/159/148>. Acesso em: 31 de Outubro de 2010.

Manaus, 31 de maio a 02 de junho de 2012 4 ISSN 2238-5096 (CDR)

Anda mungkin juga menyukai