Escolar Documentos
Profissional Documentos
Cultura Documentos
BLUMENAU
2007
2007/1-42
BLUMENAU
2007
2007/1-42
Por
Presidente:
______________________________________________________
Prof. Francisco Adell Pricas, Mestre Orientador, FURB
Membro:
______________________________________________________
Prof. Paulo Fernando da Silva, Mestre FURB
Membro:
______________________________________________________
Prof. Srgio Stringari, Mestre FURB
AGRADECIMENTOS
Deus, pelo seu amor incondicional, graa e pelo dom da vida que me foi concebido.
minha famlia, que direta ou indiretamente, me incentivou para a concluso de mais
essa etapa.
Aos meus amigos, pelos empurres, compreenso nos momentos difceis e cobranas.
A minha tia urea Araldi, pelos incentivos e por acreditar nos meus sonhos e
conquistas.
A Evandro Jos Zipf, pelas dicas e pelo auxlio prestado no desenvolvimento deste.
Aos meus avs, pela sabedoria, longas conversas e por incentivar a fazer e acontecer
diferente.
Ao meu orientador, Francisco Adell Pricas, por ter acreditado na concluso deste
trabalho.
RESUMO
Esse trabalho especifica e implementa uma ferramenta web, que permite configurar o servidor
proxy para GNU/Linux, manipular usurios em seus grupos pr-definidos (VIP, moderado e
restrito). Permite o bloqueio por palavras proibidas, por extenses de arquivos,
monitoramento de log de acesso em tempo real e gerao de relatrios de acesso a Internet.
Palavras-chave: Squid. Proxy. Web. GNU/Linux.
ABSTRACT
This work specifies and implements an web tool, that it allows to configure the server proxy
for GNU/Linux, to manipulate users in its daily pay-define groups (VIP, moderate and
restricted). It allows the blockade for forbidden words, extensions of archives, monitoring of
log of access in real time and generation of access reports the Internet.
Key-words: Squid. Proxy. Web. GNU/Linux.
LISTA DE ILUSTRAES
LISTA DE SIGLAS
OS Operating System
PAM Pluggable Authentication Modules
PHP Hypertext PreProcessor
RBAC Role-Based Access Control
RF Requisito Funcional
RFC Request For Comments
RNF Requisito No Funcional
SARG Squid Analysis Report Generator
SMB Server Message Block
TCC Trabalho de Concluso de Curso
TCP/IP Transmition Control Protocol/Internet Protocol
UC Use Case
UML Unifield Modeling Language
VIP Very Important Person
SUMRIO
1 INTRODUO..................................................................................................................13
1.1 OBJETIVOS DO TRABALHO ........................................................................................14
1.2 ESTRUTURA DO TRABALHO ......................................................................................15
2 GESTO EM REDES ....................................................................................................... 16
2.1 GERNCIA DE REDES DE COMPUTADORES........................................................... 16
2.2 PROXY.............................................................................................................................. 17
2.2.1 Cache............................................................................................................................... 19
2.2.2 Filtros do proxy............................................................................................................... 20
2.2.3 Vantagens e desvantagens de um proxy ......................................................................... 21
2.3 SQUID............................................................................................................................... 22
2.3.1 Autenticao.................................................................................................................... 23
2.3.2 Configurao ................................................................................................................... 24
2.3.2.1 Apache .......................................................................................................................... 24
2.3.2.2 SARG............................................................................................................................ 25
2.3.2.3 Chpasswd...................................................................................................................... 25
2.4 WEBMIN .......................................................................................................................... 25
2.5 CONTROLES DE ACESSO.............................................................................................26
2.5.1 Mecanismos de controle de acesso .................................................................................27
2.5.1.1 DAC.............................................................................................................................. 27
2.5.1.2 MAC ............................................................................................................................. 28
2.5.1.3 RBAC ........................................................................................................................... 29
2.5.2 ACL................................................................................................................................. 30
3 DESENVOLVIMENTO DO TRABALHO .....................................................................31
3.1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO....................... 31
3.2 ESPECIFICAO ............................................................................................................ 32
3.2.1 Caso de uso do acesso usurio ao Squid ......................................................................... 32
3.2.1.1 UC01.1 Acesso web via proxy .................................................................................. 33
3.2.2 Casos de uso do acesso administrador ............................................................................ 34
3.2.2.1 UC02.1 Acessar a aplicao ...................................................................................... 35
3.2.2.2 UC02.2 Configurar parmetros ................................................................................. 36
3.2.2.3 UC2.3 Gerar permisses para linha de comando....................................................... 37
3.2.2.11
13
1 INTRODUO
Com o advento da Internet, o acesso grande rede est sendo utilizado cada vez mais
facilmente como ferramenta de trabalho e para fins diversos. No caso das empresas, cabe ao
administrador da rede fazer o controle dos acessos Internet, visando a segurana da rede
local, fazendo o bloqueio de sites indesejados, de downloads que so ou no permitidos, entre
outros.
Conforme Palma e Prates (2000, p. 9), cada vez mais os administradores tm que
controlar e monitorar o acesso a recursos das redes de computadores. Com isto, surgiram
ferramentas que implementam diversas funes, entre elas o filtro de pacotes, que trabalha na
camada de rede1, e os servidores proxy, que trabalham na camada de aplicao2. Estas
camadas baseiam-se no modelo de referncia Transfer Control Protocol/Internet Protocol
(TCP/IP) e encontram-se descritas em Pricas (2003, p. 35).
Segundo Nemeth et al (2002, p. 44), considerando as ferramentas de administrao de
redes desenvolvidas para GNU/Linux em geral, especificamente em modo console, pode-se
dizer que somente os usurios com um conhecimento mais avanado conseguem manipul-las
e us-las apropriadamente. Conforme Pcmaster (2005), hoje j existem interfaces mais
amigveis para o usurio poder manipular as regras e estabelecer polticas de uso dos recursos
da rede. Porm especificamente para os servidores proxy, as ferramentas so de difcil
entendimento e com uma aparncia nada amigvel, sendo normalmente feitas em shell script.
A proposta deste trabalho consiste em desenvolver uma ferramenta web nos moldes de
um site possibilitando a administrao das polticas de acesso Internet, grupos3 de acessos,
regras e algumas configuraes do servidor proxy Squid, tudo isto com o aumento da
segurana nas alteraes do arquivo de configurao, pois qualquer administrador que no
conhea o Squid ser capaz de configur-lo com simples selees e com o preenchimento de
formulrios. Segundo Baros (2006), o Squid um aplicativo que est sendo melhorado
continuamente, multi-plataforma, possui uma excelente estabilidade nas condies mais
extremas e possui um imenso nmero de analisadores de log. Ele permite melhorar o
Responsvel pelo endereamento e roteamento Internet da rede, possibilitando a conexo entre equipamentos
de rede.
14
desempenho de navegao na Internet com o cache que armazenado localmente no servidor
e implementa mecanismos de segurana nas alteraes das suas configuraes.
A ferramenta desenvolvida neste trabalho utilizou o servidor de pginas web Apache
para poder interagir com o usurio em um browser de Internet e com o Squid Analysis Report
Generator (SARG), desenvolvido no Brasil (ORSO, 2006), para gerar relatrios de acesso dos
usurios. Ao acessar a aplicao ser solicitado um nome de usurio e uma senha, que dar
acesso pgina liberada para fazer a administrao e gerenciamento do servidor proxy Squid,
conforme j descrito anteriormente. Foram utilizadas as seguintes tecnologias para o
desenvolvimento da ferramenta: HyperText Markup Language (HTML), Common Gateway
Interface (CGI) e HyperText PreProcessor (PHP). O emprego destas tecnologias ir melhorar
a interao do usurio, atravs de uma ferramenta visual, com o arquivo de configurao
squid.conf do servidor proxy de software livre Squid, que onde as polticas, grupos de
1.1
OBJETIVOS DO TRABALHO
O objetivo deste trabalho foi desenvolver uma ferramenta visual, atravs de uma
pgina web para fazer a gerncia dirigida especificamente ao servidor proxy Squid.
Os objetivos especficos do trabalho so:
a) facilitar a configurao do servidor proxy para administradores que no conheam
o princpio de funcionamento do Squid;
b) facilitar a interpretao das polticas de utilizao do servidor proxy;
c) definir e configurar as polticas de utilizao;
d) disponibilizar a alterao de usurios nos grupos de acesso Internet prdeterminados pelo administrador da rede;
e) implementar uma pgina com os parmetros pr-configurados do Squid, para
possibilitar ao usurio a configurao necessria para a sua necessidade.
15
1.2
ESTRUTURA DO TRABALHO
A estrutura deste trabalho est dividida em quatro captulos, que sero explanados a
seguir.
No primeiro captulo apresentada a introduo destacando os objetivos almejados e
uma breve explicao sobre o que se pretende com este trabalho.
No segundo captulo apresentada a fundamentao terica do trabalho, abordando os
tpicos de gesto de redes, com alguns de seus conceitos: gerncia de redes de computadores;
servidor proxy; cache e seus tipos: browse cache, proxy cache e transparent proxy cache; os
filtros do proxy; vantagens e desvantagens de um proxy; Squid; autenticao com os mdulos
compatveis com o Squid; configurao do Squid; Apache; SARG; chpasswd; Webmin;
controles de acesso e seus mecanismos e ACL.
No terceiro captulo abordado o desenvolvimento deste trabalho, com as tecnologias
utilizadas e os casos de uso.
Por fim, no quarto captulo apresentada a concluso do trabalho, destacando os
resultados alcanados e as dificuldades encontradas.
16
2 GESTO EM REDES
Segundo Lima (1997), com o aumento da presena das redes de computadores nas
instituies e como conseqncia o aumento da sua importncia, faz-se necessrio a gerncia
das redes de computadores para garantir e prevenir que alguns problemas mais graves
interrompam ou prejudiquem seu desempenho e funcionalidade.
2.1
17
manuteno dos logs de segurana para detectar violaes poltica de segurana;
e) gerncia de contabilidade responsvel pela contabilizao e verificao de
limites da utilizao dos elementos de rede. Monitora quais e quantos recursos da
rede esto sendo utilizados, classificando por quem e quando so utilizados. E
tambm estabelece uma escala de tarifao.
Uma ferramenta que pode ser utilizada para gerenciar, configurar e monitorar um
servidor baseado em softwares livre GNU/Linux, o Webmin, que implementa diversas
funcionalidades que permitem configurar servios e arquivos de configurao atravs de uma
ferramenta web. Atualmente no foi encontrada nenhuma ferramenta comercial que contenha
estas funcionalidades para gerncia de um servidor proxy Squid. Entretanto, esta ferramenta
Webmin freeware e opensource com interface web que permite gerenciar vrios tipos de
servidores (aplicaes) de rede no GNU/Linux, que entre outras funes, permite manipular
algumas configuraes do Squid.
Porm, segundo Pcmaster (2005), esta ferramenta no tem uma linguagem de fcil
compreenso, o que dificulta a administrao do servidor proxy por administradores
inexperientes, sendo que os termos utilizados no Webmin so muito tcnicos. Todos os
servios configurados pelo Webmin devem ser feitos por administradores de sistemas mais
experientes, pois a ferramenta utiliza linguagem tcnica que nem sempre compreendida por
um administrador menos experiente.
Mesmo a gesto de redes de computadores sendo de vital importncia para as
instituies, os administradores de rede ainda precisam de mecanismos com os quais possam
monitorar e limitar as aes dos usurios das redes de computadores, principalmente no que
se refere ao acesso a pginas de Internet.
2.2
PROXY
Em sua grande maioria, os navegadores de pginas web, fazem conexes diretas com a
Internet. Mas h outra forma bem mais interessante de conexo: eles podem ser configurados
para se conectarem atravs de um servidor proxy.
O proxy um servio que est disponvel em um ambiente servidor, que recebe
requisies das estaes de trabalho para conexes Internet, onde seu papel fundamental
buscar a informao primeiramente no seu cache local e caso no encontre o documento
18
requisitado, faz a busca no site solicitado pela estao de trabalho. Na segunda situao, o
endereo Internet que fica registrado no servidor da pgina solicitada, o do servidor proxy,
pois o mesmo o dispositivo que est entre a rede local e a Internet (PROXY, 2007).
Conforme Equipe Conectiva (2001), o servidor proxy surgiu da necessidade de ligar a
rede local grande rede de computadores, a Internet, atravs de um computador que provesse
o compartilhamento de Internet com os demais computadores. Pode-se fazer a seguinte
analogia: rede local uma rede interna e a Internet uma rede externa, sendo assim, o proxy
o dispositivo que permite as mquinas da rede interna se conectarem ao mundo externo.
Como na maioria dos casos as mquinas da rede local no tm um endereo vlido para a
Internet, elas fazem a solicitao de um endereo externo para o servidor proxy, que
encaminha a requisio Internet. Caso no ache o documento solicitado em seu cache de
Internet, o servidor est habilitado a fazer essa consulta, pois o mesmo tem um endereo
vlido na Internet. Sendo assim, pode-se dizer que normal ter um servidor proxy diretamente
ligado Internet e com um endereo vlido.
O diagrama de funcionamento do proxy, pode ser visto na Figura 1.
Um dos elementos mais importante de um servidor proxy o seu cache, alm claro
dos seus filtros de bloqueio ou liberao de sites, as Access Control Lists (ACLs).
19
2.2.1
Cache
20
proxy cache recebe uma solicitao de acesso a um recurso externo, como uma
pgina da Internet, este procura primeiramente em seu cache local e caso no
encontre o recurso solicitado, ele imediatamente faz a requisio Internet
armazenando em seu cache e respondendo a solicitao do cliente. Por este motivo
pode-se afirmar que o web proxy, alm de prover segurana, prov tambm alto
desempenho para o acesso Internet e permite criar filtros, atravs de regras,
dizendo o que permitido e o que proibido. Segundo Watanabe (2000), a
aplicao proxy age como um servio intermedirio entre as estaes e os
servidores remotos de Internet. Eles so utilizados por corporaes que desejam
reduzir a banda de comunicao que utilizam com a Internet;
c) transparent proxy cache segundo Watanabe (2000), utilizado especialmente
por empresas provedoras de acesso Internet, conhecidas como Internet Service
Provider (ISP), porque permite o melhor aproveitamento de banda da Internet e
no necessita fazer nenhuma configurao nas estaes clientes. Conforme Proxy
(2007), uma forma de obrigarem os clientes a utilizarem o proxy, ou seja, alm
das caractersticas do proxy cache, ele implementa de forma transparente, por isso
o nome, polticas de utilizao e permite a coleta de dados estatsticos, entre
outros. A transparncia implementada com a tcnica de encaminhamento de
portas, que uma regra feita diretamente no firewall que faz o redirecionamento
de todo o trfego, por exemplo, HTTP, porta 80, para o proxy. Sendo assim no
importa as configuraes do usurio, pois sua utilizao estar sempre
condicionada a poltica de acesso pr-determinada. O Request For Comments
(RFC)5 3040, define esse mtodo como proxy interceptador.
2.2.2
Filtros do proxy
Documento do Internet Engineering Task Force (IETF), que descreve os padres de cada protocolo da Internet.
21
Conforme Watanabe (2000), os administradores podem criar os filtros dos mais
simples aos mais complexos, contendo regras baseadas em diversos itens, tais como:
a) endereo de rede da estao de trabalho;
b) domnio requisitado;
c) rede de origem ou destino;
d) localizao do objeto requisitado;
e) perodo de acesso pginas de Internet;
f) habilitar ou no a autenticao.
Todos os filtros mencionados acima podem ser utilizados sozinhos, ou ento em
conjunto, mas sempre lembrando que as ACLs so analisadas de forma seqencial. Por
exemplo, se existir uma ACL com duas regras, a primeira bloqueando uma determinada
pgina da Internet e a segunda dando permisso para todas as pginas da Internet, ento a
primeira regra no tem funo alguma, pois a ltima regra invalidou a primeira.
Essas ACLs so utilizadas principalmente por corporaes que queiram permitir
acesso a pginas que sejam de seu real interesse, conforme as regras e a poltica de segurana
implementada na empresa.
2.2.3
22
Segundo Marcelo (2005), algumas das principais desvantagens na utilizao de
servidores proxy, so:
a) poucos servios suportados nem todos os servios tm suporte com os proxies
atuais, sendo assim a relao entre o cliente e o servidor proxy deve ser muito bem
analisada;
b) atualizao de configuraes em clientes carga muito grande de modificaes
e/ou atualizaes em clientes, principalmente em redes locais com grande nmero
de equipamentos. Em ambientes mistos o problema pode ser maior;
c) segurana em protocolos e aplicaes o proxy no garante a segurana de um
cliente para possveis falhas de segurana em protocolos ou aplicaes, sendo
assim necessrio que o proxy seja implementado junto a um firewall.
2.3
SQUID
Conforme Marcelo (2005) e Jesus (2001), o Squid o servidor proxy mais utilizado
atualmente na Internet, implementando todas as caractersticas j mencionadas anteriormente.
Suporta os protocolos de comunicao HTTP, File Transfer Protocol (FTP) e Gopher e
surgiu do projeto Harvest da ARPA. O nome Squid, que na traduo quer dizer lula, foi
utilizado simplesmente para distinguir um projeto do outro.
Segundo Equipe Conectiva (2001, p. 134), o Squid um servidor proxy para os
protocolos j mencionados anteriormente. Portanto o acesso a outros servios como, por
exemplo, o correio eletrnico, deve ser configurado com a ferramenta responsvel pelo filtro
de pacotes, que trabalha diretamente na camada de rede.
Conforme Baros (2006), o arquivo de configurao do Squid chamado squid.conf
est organizado em tags que tratam de todas as configuraes, tais como porta de acesso ao
servidor, programa utilizado para manipulao de senhas, tamanho e estruturao do cache,
definio e manipulao das ACLs, que vo estipular quais so os grupos de usurios a serem
utilizados, quais so os arquivos com os sites proibidos e/ou liberados, quais so as extenses
dos downloads proibidas, entre outras tags.
O que normalmente sofre maiores alteraes, e com mais freqncia, so justamente as
regras definidas na tag ACL, onde podem ser alterados os usurios, como tambm as listas de
sites proibidos e/ou liberados e as extenses dos downloads proibidos.
23
O servidor Squid pode ser obtido no seu site oficial Squid web proxy cache (CHADD,
et al, 2006).
2.3.1
Autenticao
24
2.3.2
Configurao
2.3.2.1
Apache
Conforme Apache HTTP Server (2007), Apache o servidor de pginas web mais
utilizado no mundo, em maro de 2007 o Apache era responsvel pela hospedagem de 58%
de todas as pginas de Internet do mundo. compatvel com sistemas GNU/Linux, Novell
Netware, Microsoft, MAC OS X, entre outros sistemas operacionais.
25
2.3.2.2
SARG
Em Orso (2006) tambm relacionado o projeto open source SARG. A ferramenta faz
a anlise dos logs do Squid e do cache do servidor proxy, informando ao administrador da
rede onde os usurios navegaram, quanto tempo ficaram conectados, que arquivos foram
baixados, qual os horrios de acesso, quem foi o usurio que se autenticou, quais os sites
proibidos que tiveram tentativas de acesso e depois gera os relatrios, que ficam disponveis
em uma pgina de Internet.
2.3.2.3
Chpasswd
Em Orso (2006) relacionado o projeto open source chpasswd, que faz a alterao de
senhas dos usurios do Squid com uma ferramenta para a web, contando com uma lista de
outros colaboradores espalhados pelo mundo. Esta ferramenta foi desenvolvida em perl script
e se comunica com um programa CGI, com o intuito de distribuir uma interface web atravs
de um formulrio para os usurios poderem alterar as suas senhas de acesso para o servidor
proxy.
2.4
WEBMIN
26
Em Pcmaster (2005) relacionada a ferramenta Webmin, que faz gerncia de alguns
servidores (aplicaes) de rede do GNU/Linux, de forma mais intuitiva para administradores
de sistemas com um conhecimento mais avanado, utilizando-se de um browser da Internet.
Ele manipula os servios com certa restrio, ou seja, alguma configurao mais especfica ou
personalizada tem que ser feita diretamente no arquivo de configurao no console. Conforme
Pcmaster (2005), a linguagem utilizada no Webmin muito tcnica, por este motivo exige um
conhecimento mais avanado das configuraes dos servios. Alguns dos servios que podem
ser manipulados pelo Webmin so: Domain Name System (DNS) que o servidor de nomes;
Dynamic Host Configuration Protocol (DHCP) que distribui endereos de rede para os
computadores; Apache que o servidor de pginas para Internet; Postfix que o servidor de
mensagens eletrnicas, Samba que o servidor de arquivos, cadastro de usurios do Samba
do console; entre outros. Normalmente com estes servios configurados somente so:
adicionados usurios para acesso, como o caso do Samba e Postfix; alterado o range de
endereos Internet Protocol (IP), no caso do DHCP; alterado algum registro do servidor DNS;
inserido algum domnio virtual no servidor Apache; entre outros.
2.5
CONTROLES DE ACESSO
27
a) autenticao e identificao so parte de um processo de dois passos,
categorizando quem pode acessar determinado sistema. No passo de identificao
o usurio vai informar quem ele , normalmente por um nome de usurio. No
passo de autenticao ele vai informar uma credencial, por exemplo, uma senha;
b) autorizao define os direitos e permisses dos usurios. Esse processo
executado aps a autenticao do usurio, determinando o que o usurio pode
fazer no sistema;
c) contabilidade coleta as informaes de utilizao dos usurios e dos recursos
disponveis a ele. Esse tipo de informao pode ser utilizada para gerenciamento,
planejamento, entre outros. Existem dois tipos de contabilidade: em tempo real e a
em batch. Na tempo real, as informaes so trafegadas no momento da utilizao
do recurso pelo usurio; na batch, as informaes so gravadas e enviadas aps o
uso, normalmente em tempos pr-determinados. As principais informaes da
contabilidade so a identidade do usurio, o momento de incio de utilizao do
recurso e o seu trmino.
2.5.1
2.5.1.1
DAC
28
Objeto1
Objeto2
Sujeito1
(read)
(read,write,execute)
Sujeito2
(read,write)
Sujeito3
(write)
2.5.1.2
MAC
Segundo Silva (2004), o Mandatory Access Control (MAC) implementa uma poltica
obrigatria, ou seja, as regras de controle de acesso so impostas por uma autoridade central,
normalmente o administrador do sistema, que especifica regras de controle de acesso para
recursos e informaes, garantindo que as mesmas sejam incontornveis. Sendo assim esse
mecanismo bem mais complexo para implementar, pois utiliza poltica multinvel e devido a
sua rigidez com as regras de controle e tambm com relao as limitaes dos seus modelos.
As polticas multinvel so baseadas na classificao que esto submetidos os sujeitos
e os objetos. Uma forma de viabilizar a implementao da poltica multinvel a sugesto de
construir reticulados6 com rtulos de segurana, sendo que os rtulos de segurana contm
nveis de sensibilidade e categoria. As categorias so os compartimentos especficos do
29
sistema que pertencem as informaes de uma determinada organizao. Os nveis de
sensibilidade atribudos s informaes so derivadas diretamente da classificao utilizada.
Os rtulos de segurana7 so o produto vetorial do conjunto de nveis de sensibilidade pelo
conjunto de categorias, sendo que a categoria o conjunto de todos os subconjuntos formados
a partir das categorias pr-definidas no modelo.
2.5.1.3
RBAC
O RBAC tem por objetivo facilitar a gerncia de autorizao, isso por que quando o
usurio tem alguma mudana nas suas atribuies, sendo eliminado de um papel e atribudo a
outro, a manuteno das permisses dos papis no sofre mudanas. Normalmente o RBAC
implementa o princpio de privilgio mnimo, ou seja, um usurio ativa somente o
subconjunto de papis que precisa para acessar determinado recurso ou informao e essa
ativao pode ou no ter restries.
30
2.5.2
ACL
A ACL de um sujeito permite uma fcil reviso dos acessos autorizados dele a um
determinado objeto ou recurso. Outra operao que pode facilmente ser implementada com
uma ACL a revogao de todos os direitos de acesso de um usurio sobre um objeto, para
isto basta substituir a ACL atual por uma lista vazia. Sendo assim, para determinar os acessos
aos quais o sujeito est autorizado, todas as listas de controles do sistema devem ser
percorridas, para fazer a reviso do acesso. A revogao de todos os acessos tambm requer
que todas as listas de controle sejam analisadas e, eventualmente, alteradas.
31
3 DESENVOLVIMENTO DO TRABALHO
3.1
A aplicao permitir configurar o servidor proxy Squid. Pode-se citar como requisitos
principais da aplicao, estipulando-os em Requisitos Funcionais (RF) e Requisitos No
Funcionais (RNF):
a) permitir a alterao do arquivo de configurao do servidor proxy Squid atravs de
formulrios e mltiplas selees utilizando checkboxes e radio buttons (RF);
b) permitir que sejam cadastrados usurios nos grupos: VIP, moderado e restrito
(RF);
c) permitir que as senhas dos usurios da ferramenta sejam armazenadas no sistema
pelo algoritmo MD5, que faz um hash da senha e feito pelo utilitrio MD5 do
GNU/Linux (RF);
d) permitir que o servidor proxy seja reiniciado para aplicar as novas configuraes
(RF);
e) permitir a alterao de usurios de um grupo para outro (RF);
f) permitir a excluso de usurios dos grupos (RF);
g) permitir o cadastro de pginas, extenses de arquivos e palavras proibidas para os
grupos moderado e restrito (RF);
h) permitir o bloqueio de computadores pelos seus endereos de rede (RF);
i)
j)
32
m) permitir a configurao dos parmetros da aplicao estipulando onde os arquivos
de configurao se encontram no servidor (RF);
n) permitir a gerao e visualizao de relatrios de acesso com a utilizao do
SARG (RNF);
o) ser disponibilizado em ambiente web, atravs do servidor Apache 2.0 (RNF);
p) ser implementado usando PHP, CGI e HTML (RNF);
q) utilizar shell script para integrao da ferramenta com o ambiente web (RNF);
r) utilizar a ferramenta Macromedia Dreamweaver para edio de pginas (RNF).
3.2
ESPECIFICAO
3.2.1
Neste captulo ser descrito o caso de uso do servidor proxy, configurado pela
ferramenta web utilizada para administrar o proxy, conforme descrito na Figura 3, no
diagrama de caso de uso do acesso do usurio ao Squid.
33
PCT01 - Acesso Usurio
5 uc
Unregistered
T rial Version EA 6.5 Unr
3.2.1.1
Ator
Usurio.
Pr-condio
Fluxo principal
proxy autenticado;
proxy transparente;
c) navegar na Internet.
Fluxo
alternativo (a)
a) proxy autenticado:
-
b) proxy transparente:
Ps-condio
34
3.2.2
Neste captulo sero descritos os casos de uso da ferramenta web para administrar o
proxy, conforme descrito na Figura 4, no diagrama de caso de uso do acesso do administrador.
uc PCT02 - Acesso Administrador
A 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered
UC02.1 - Acessar a
UC02.2 - Configurar
A 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered
UC02.4 - Criar
configurao do
Squid e reiniciar
A 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered
A 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version
EA 6.5 Unregistered
UC02.5 - Cadastrar
usurios no grupos
A 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered
- Bloquear
A 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA UC02.6
6.5
Unregistered
dow nloads por
extenses
A 6.5Administrador
Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered
UC02.7 - Bloquear
A 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version
EA 6.5 Unregistered
palav ras, sites e
mquinas
A 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered
UC02.8 -
Configurar/gerar
relatrios de acesso
A 6.5 Unregistered T rial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered
A 6 5 Unregistered T rial Version EA 6 5 Unregistered T rial Version EA 6 5 Unregistered
Figura 4 Diagrama de caso de uso da ferramenta web para administrar o proxy
35
3.2.2.1
Pr-condio
Ator
Administrador.
Fluxo
principal
Ps-condio
36
3.2.2.2
Ator
Administrador.
Pr-condio
Fluxo
principal
squid;
NCSA;
htpasswd;
SARG;
sudo;
cache;
ACL;
log;
limpar configurao.
37
3.2.2.3
Ator
Administrador.
Pr-condio
Fluxo principal
mensagem de erro;
c) permisso efetivada;
Fluxo
exceo
(b)
Ps-condio
3.2.2.4
Ator
Administrador.
Pr-condio
Fluxo principal
proxy autenticado;
proxy transparente;
38
d) no campo tamanho do cache em bytes, inserir o tamanho do diretrio de
cache do servidor proxy;
e) no campo rede liberada / mscara, inserir o endereo de rede interna,
com sua respectiva mscara, que ser liberada para acessar a Internet;
f) no campo bloqueio de downloads, marcar a seleo se deseja configurar
o bloqueio de downloads da Internet;
g) no campo bloqueio de sites, marcar a seleo se deseja configurar o
bloqueio de sites Internet;
h) no campo bloqueio de palavras chaves, marcar a seleo se deseja
configurar o bloqueio de palavras chaves Internet;
i)
j)
a) proxy autenticado:
-
b) proxy transparente:
-
Fluxo
alternativo (k)
Ps-condio
Squid configurado.
Quadro 7 Caso de uso criar configurao do Squid e reiniciar
39
3.2.2.5
Ator
Administrador.
Pr-condio
Squid configurado.
Fluxo
principal
b) clicar no link:
-
cadastro de usurios;
consulta / alterao de usurios;
Fluxo
alternativo (b)
a) cadastro de usurios:
-
inserir
mesmo
nome
de
usurio
que
foi
excludo
40
Fluxo exceo
(a)
3.2.2.6
Ator
Administrador.
Pr-
condio
Fluxo
principal
Ps-
condio
definida.
Quadro 9 Caso de uso bloquear downloads por extenses
41
3.2.2.7
Ator
Administrador.
Pr-condio
Fluxo principal
a) palavras;
b) sites;
c) mquinas.
Fluxo
alternativo (a)
Fluxo
alternativo (b)
Fluxo
alternativo (c)
Ps-condio
3.2.2.8
42
Descrio
Ator
Administrador
Pr-condio
Fluxo
principal
b) liberar portas;
c) bloquear portas.
Fluxo
alternativo
(b)
Fluxo
alternativo (c)
Ps-condio
43
3.2.2.9
Ator
Administrador.
principal
b) inserir parte ou o endereo completo dos sites que devem ser bloqueados
na rea de texto, um abaixo do outro;
c) clicar no boto salvar.
Ps-
condio
Quadro 12 Caso de uso liberar sites para grupo restrito
Ator
Administrador.
Pr-condio
Fluxo principal
gerar relatrios;
consultar relatrios.
44
Fluxo
a) gerar relatrios:
alternativo (e)
b) consultar relatrio:
Ps-condio
Ator
Administrador
Pr-condio
Fluxo principal
Ps-condio
3.2.3
Diagrama de atividades
45
uc 5.3 Diagrama de Ativ idades Usurio
EA
6.5 Unregistered T rial Version EA 6.5 Unregistered T rial
46
act 5.4 Diagrama de ativ idades Administrador
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
Configura permisses
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
Configura serv idor proxy
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
EA 6.5
Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
Define e cadastra as
polticas de acesso
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
Define e cadastra
EA 6.5usurios
Unregistered
Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
em seus
grupos de acesso
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
EA 6.5
Unregistered
Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
Configura
SARG, que
gera os relatrios de
acesso
[No]
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
EA 6.5
Unregistered
Trial Version
Personaliza m ensagens
EA 6.5de Unregistered
erro
T rial Version EA 6.5 Gera
Unregistered
Trial V
Reinicia
serv idor proxy
M onitora log de acesso?
relatrios de acesso?
para aplicar alteraes
para os usurios?
[No]
[No]
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
[Si m ]
[Sim ]
[Si m ]
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
Altera fonte html das
os relatrios
mensagens
de erro
EA 6.5 Unregistered Trial Version
EA
6.5 Unregistered T rial
Version
EA 6.5 Visualiza
Unregistered
Trial V
tempo
real
de acesso
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered T rial Version EA 6.5 Unregistered Trial V
3.3
IMPLEMENTAO
47
administrao do Squid. Na implementao da ferramenta as linguagens de programao
PHP, HTML, CGI e shell script. Para o desenvolvimento do layout da pgina foi utilizado o
Macromedia Dreamwaver. Foi feita a integrao com a ferramenta SARG, para que a mesma
possa analisar os logs do Squid e gerar os relatrios de acesso do servidor proxy. Isto foi
implementado com o auxlio do sudo, para poder executar o SARG no console para que os
relatrios sejam gerados na forma de pginas da web, pois somente executado em linha de
comando.
As validaes e testes sero feitos na forma de simulaes, conforme os casos de uso,
de usabilidade e qualidade da ferramenta web para administrao do servidor proxy Squid.
3.3.1
48
3.3.2
Operacionalidade da implementao
49
50
51
52
53
54
55
3.4
RESULTADOS E DISCUSSO
56
Descrio do teste
Validao das mensagens de erros da
ferramenta
Resultado obtido
Foram verificadas todas as mensagens de
erros e possveis excees do programa.
Todas as mensagens foram revistas e
reformuladas conforme a necessidade.
Foi feita a alterao do usurio para outro
grupo de acesso.
Foi feito teste com usurios dos grupos de
acesso restrito e moderado, a requisio a
pgina solicitada foi bloqueada. No caso do
grupo VIP, foi liberada.
Foi feito teste com usurios dos grupos de
acesso restrito e moderado, o download do
arquivo com a extenso cadastrada, foi
bloqueada. No caso do grupo VIP, foi
liberado.
Foi feita a consulta do relatrio de acesso
Internet, que apresentou as pginas acessadas
pelos usurios.
Com a alterao da configurao foi feito
teste de acesso pginas da Internet, e como
a configurao do Squid estava prevendo
outra rede local, no navegou.
Foi feito o acompanhamento do processo de
reinicio do Squid na console do servidor,
pelo log de informao do servidor. Reinicio
foi feito com sucesso.
Uma vantagem importante observada nessa ferramenta web em comparao com seu
correlato chamado prottipo de ferramenta web para gerenciamento de firewall (BORCHEID,
2005), que a ferramenta web implementada aqui no baseada em um filtro de pacotes, mas
sim em um filtro de contedo.
Com relao ao seu correlato chamado Webmin (ZAGO, 2007), a ferramenta web
desenvolvida, oferece uma linguagem mais acessvel e menos tcnica, alm de ser uma
ferramenta bem mais especfica que o correlato.
O correlato chamado SARG (ORSO, 2006), oferece somente a funcionalidade de gerar
os relatrios de acesso do proxy, sendo assim, foi utilizado para essa funo.
57
4 CONCLUSES
Este trabalho teve por objetivo o desenvolvimento de uma ferramenta web que auxilie
na administrao do servidor proxy Squid atravs da web.
Foi desenvolvido uma ferramenta web voltada para a administrao do servidor Squid,
de fcil compreenso mesmo para administradores que tm somente uma noo superficial do
que o Squid, possibilitando fazer a configurao do mesmo por meio de simples selees e
preenchimento de alguns formulrios, conforme necessidade. Possibilitando ainda a utilizao
de grupos de acesso Internet para os usurios, levando em considerao a manipulao das
polticas e controles de acesso a sites, sendo algo totalmente diferente das ferramentas
existentes, que manipulam apenas os servios mais utilizados de forma mais intuitiva para
usurios com um conhecimento mais avanado da plataforma de cdigo aberto GNU/Linux,
como o caso do Webmin.
Sendo assim, o Webmin no muito difundido porque utiliza uma linguagem muito
tcnica (PCMASTER, 2006). A ferramenta desenvolvida por Borscheid (2005) manipula
somente a funo de filtro de pacotes, o que no permite bloquear acessos sites da Internet,
downloads de arquivos, gerncia de usurios, saber especificamente onde os usurios
navegaram e no consegue bloquear aplicaes, como por exemplo, algum jogo diretamente
em um site da Internet.
Conforme Orso (2006), a ferramenta chpasswd somente manipula as senhas de acesso
dos usurios do Squid, trabalhando em conjunto com o utilitrio de console htpasswd. A
alterao muito superficial comparada com as funcionalidades que o Squid oferece, como
por exemplo, alterar alguma poltica de acesso a sites.
O SARG uma ferramenta muito difundida para fazer a integrao com o Squid, por
se tratar do sistema que faz toda a anlise de logs de acesso e que transforma estas
informaes em uma linguagem de fcil entendimento para o usurio, atravs de uma pgina
da Internet.
Com o intuito de facilitar as atividades do administrador de rede, principalmente para
os iniciantes nas configuraes do servidor Squid, a proposta desta ferramenta aumentar a
confiabilidade para evitar que alguma alterao seja feita de forma indevida diretamente no
arquivo de configurao do Squid, principalmente por ser feito no editor de texto nativo do
GNU/Linux, o vi, aumentando a eficincia da manuteno do servidor proxy Squid, pois o
administrador saber exatamente o que est alterando e como esta mudana vai refletir no
58
sistema.
4.1
EXTENSES
59
REFERNCIAS BIBLIOGRFICAS
60
ORSO, P. SARG: Squid Analysis Report Generator. [S.l.], [2006?]. Disponvel em:
<http://sarg.sourceforge.net>. Acesso em: 29 mar. 2006.
PALMA, L.; PRATES, R. TCP/IP: guia de consulta rpida. So Paulo: Novatec, 2000.
PCMASTER. Administrando o Linux pela internet com o Webmin. [S.l.], [2005?].
Disponvel em:
<http://www.linuxnarede.com.br/tutoriais/post_art/fullnews.php?id=view&f_act=fullnews&f_
id=89/>. Acesso em: 22 maio 2006.
PRICAS, F. A. Redes de computadores: conceitos e a arquitetura Internet. Blumenau:
Edifurb, 2003.
PROXY. In: WIKIPEDIA, a enciclopdia livre. [S.l.]: Wikimedia Foundation, 2007.
Disponvel em: < http://pt.wikipedia.org/wiki/Proxy>. Acesso em: 16 abr. 2007.
SAUV, J. P. Gerncia de redes de computadores. [Campina Grande]: Departamento de
sistemas e computao da universidade federal de Campina Grande Paraba, [2002?].
Disponvel em: <http://www.dsc.ufcg.edu.br/~jacques/cursos/2002.1/gr/>. Acesso em: 16 abr.
2007.
SILVA, E. dos S. da. Extenso do modelo de restries do RBAC para suportar
obrigaes do modelo ABC. 2004. 90 f. Dissertao (Mestrado) Programa de PsGraduao em Informtica Aplicada, Pontifcia Universidade Catlica do Paran, Curitiba.
VESPERMAN, J. Autenticao e o squid. [S.l.], [2001]. Disponvel em: <
http://br.geocities.com/cesarakg/AuthenticationAndSquid.html>. Acesso em: 21 abr. 2007.
WATANABE, C. S. Introduo ao cache de web. [Rio de Janeiro], [2000]. Disponvel em:
<http://www.rnp.br/newsgen/0003/cache.html>. Acesso em: 18 abr. 2007.
ZAGO, A. F. FAQ: dicas e indicaes de tutoriais sobre webmin, configurador em ambiente
grfico. [S.l.], [2007?]. Disponvel em: <http://www.zago.eti.br/webmin.txt>. Acesso em: 18
abr. 2007.