Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumo Este artigo tem como objetivo mostrar a implantao de software livre para
diminuir os gastos com programas proprietrios na empresa. O outro foco deste case
a configurao dos softwares Squid para ser em utilizados de forma autenticada de
modo que cada aluno da instituio possua um nome de usurio e senha
pessoais para o acesso internet nos laboratrios. Assim, havendo necessidade, a
instituio poder indicar exatamente qual usurio utilizou de forma in correta
o seu acesso internet.
Palavra-chave Squid.
Faculdade dos Guararapes Segurana em redes utilizando Squid
1 Introduo
2
Faculdade dos Guararapes Segurana em redes utilizando Squid
2 Fundamentao terica
O Squid gratuito e mantido como um projeto open source. Ele permite que os
administradores implantem um servio de caching proxy para web, acrescentem
controles de acesso (regras), e armazenem at mesmo consult as de DNS.
Proxys como o Squid so utilizados para agilizar o acesso web para os usurios e
tambm para registrar os sites que foram visitados. importante citar que o Squid
apenas um servidor de caching proxy e que no suporta funes com o NAT
(Network Address Translation) que normalmente executado pelo iptables.
SquidGuard
O squidGuard uma ferramenta capaz de filtrar acesso a internet com base em
diferentes critrios:
Filtros de domnios ou URLs com uma performance visivelmente superior a
outras ferramentas;
Filtros baseados em frases associadas pornografia ou consideradas
inapropriadas;
Filtros por figuras(PICS) ou por tipo de contedo s (MIME);
3
Faculdade dos Guararapes Segurana em redes utilizando Squid
3 SquidGuard X SQUID?
Esta regra bastante simples, mas faz parte de praticamente toda configurao segura
do Squid. Ela garante o acesso da rede local (10.1.1.0/24). Na primeira linha, foi
dada o nome de LOCAL NET a` ACL e as sociada a ela todas requisi es com origem
na classe IP da rede local, utilizando o tipo src. Na segunda linha, foi li berado o acesso
s requisies que coincidam com as cara ctersticas da ACL LOCAL NET; e, na
terceira linha, negou-se o acesso a outras mquinas.
Parmetro Descrio
icp access ICP Internet Cache Protocol (WESSELS; CLAFFY, 1997) e
um protocolo UDP que tem c omo objetivo permitir o compar tilhamento de
informaes entre servidores cache. Quando se tem uma hierarquia de
servidores cache configurados, uma da s possibilidades de comunica o
atravs do protocolo ICP. O icp Access responsvel por liberar ou n o o
acesso ICP a uma determinada ACL.
miss access Assim como o icp access, o miss access e usado quando se trabalha dentro
de uma hierarquia de servidores cache. Ele deter mina como ser atendida
a solicitao por um vizinho, de um objeto que n o esteja armazenado
localmente. Em (FONSECA, 1998) so apresentados mais detalhes e
conceitos sobre hierarquias de servidores cache.
cache peer Este parmetro utilizado para limitar ou mesmo direcionar uma
access determinada ACL a um determinado servidor cache. Pode ser utilizado,
por exemplo, quando se deseja que uma determinada rede uti lize um
proxy auth Quando
servidor se
de utiliza
cache especfico.
autentica o no Squid, uma janela solicitando nome de
realm usurio e senha ser apresentada para o usu rio. Nessa janela e apresentado
a identificao do servidor, configurada no par metro proxy auth realm
http access O parmetro
(JUCA http access e responsvel por liber ar ou no o acesso
, 2003).
HTTP a uma determinada ACL.
4
Faculdade dos Guararapes Segurana em redes utilizando Squid
acl O parmetro acl o elemento principal das ACLs, sendo res ponsvel pela
sua implementao.
Neste exemplo, tm-se trs recursos importantes sendo utilizados. O . (ponto) antes
da indicao de um endereo indica nome de dom nio, incluindo todos os seus
servidores.
O sinal de ! (exclamao) funciona como uma negao. No caso, ser permitido o
acesso a qualquer servidor, com exceo daqueles listados no par metro acl. Observe
time Este tipo permite que sejam configuradas regras de acordo com o
dia da semana e o horrio de acesso. Os dias da semana s o indi-
cados por meio de iniciais do dia da semana em lngua inglesa.
A indicao do horrio deve ser feita atrav s de um intervalo.
Sua sintaxe e na forma: acl NOME time [dias da semana]
[hh1:mm1-hh2:mm2]
url regex Pesquisa na URL pela express o regular indicada. Este tipo e
case sensitive, ou seja faz a diferencia o entre strings de caixa
alta e caixa baixa. Caso n o seja de interesse esta caracterstica,
deve-se us-lo com a opo -i.
5
Faculdade dos Guararapes Segurana em redes utilizando Squid
proxy auth Este parmetro faz com que o Squid entenda que deve tra -
balhar com autenticao de usurio atrav s de um sistema
de autenticao externo.
snmp community Este tipo utilizado para controlar o acesso ao Squid atrav s do
protocolo de gerenciamento SNMP (CASE et al., 1990).
maxconn Este tipo permite controlar o nmero mximo de conex es de um
determinado cliente. Para que seja poss vel o uso deste tipo,
deve- se ter o parmetro client db ativo no arquivo de
configurao do Squid, por padro, encontra-se habilitado.
req mime type Mais um tipo que faz uso da express o regular, neste caso para
identificar a string informa da dentro do tipo MIME do cabealho
da requisio.
ainda que foi informada uma lista de itens para o tipo dstdomain. Alguns
administradores, inclusive, preferem criar essa lista em arquivo parte, configurando a
chamada de forma similar a: acl SITES_PROIB dstdomain path/para/arquivo
Nesse caso, path/para/arquivo o caminho local do arquivo com a rela o de
endereos. Esse recurso pode ser utilizado em praticamente todos os tipos de ACLs no
Squid.
Neste exemplo, est sendo liberando acesso integral, com nmero mximo de quatro
conexes simultneas, de segunda a sexta -feira no intervalo que vai das 11 horas s 13
horas.
Neste tipo de controle foi feito uso de um arquivo externo no dire trio etc/ do diretrio
home do Squid, denominado CONT PROIBIDO. Nele ser o colocadas as palavras que
quando encontradas devero barrar o acesso ao site. Al m disso, foi informado ao
Squid para no fazer cache de p ginas geradas dinamicamente via CGI.
6
Faculdade dos Guararapes Segurana em redes utilizando Squid
Muitos programas que utilizam a tecnologia P2P, como kazaa, MSN, entre outros,
utilizam a porta 80 para realizarem a comunica o, o que acaba dificultando seu blo-
queio atravs do firewall. Uma forma de barrar este acesso atrav s do tipo MIME do
cabealho, como mostrado no exemplo anterior, e le objetiva barrar a utiliza o da porta
80 pelo MSN. Nesse exemplo, foram utilizadas express es regulares.
5 Autenticao no Squid
O Squid permite que seja realizado um con trole de acesso baseado em usu rios, ou seja,
os usurios para conseguirem o acesso a internet devem, preliminarmente, se autenticar
no servidor proxy. Essa autentica o pode ser realizada de diversas maneira s, sendo as
mais comuns o formato NCSA (o mesmo utilizado no servidor WEB apache), atrav s
de um PDC Windows NT/2000/2003, atravs de um servidor LDAP, atravs de m -
dulos PAM, entre outros.
Por padro, o Squid no traz configurao de autentica o habilitada, portanto devem
ser realizados alguns ajustes no arquivo squid.conf, mais especificamente nas sesses
referentes a: parmetros de autentica o (auth param) e Lista de Controle (ACL). Para
que o Squid passe a solicita r a autenticao do usu rio, duas linhas devem ser
acrescentadas na lista de controles, so elas:
7
Faculdade dos Guararapes Segurana em redes utilizando Squid
Nesse arquivo, indicado o PDC do dom nio, bem como o BDC (caso exista). Caso
se pretenda, possvel ainda utilizar dois arquivos para controlar os usurios que t m ou
no permisso de acesso a este servio de autentica o. Em nosso ambiente, testes
foram realizados utilizando -se uma rede com apenas um PDC, po r isso repetimos o
nome do servidor na entrada referente ao BDC e no caso no foram utilizados os
arquivos de controle de usurios. Outro detalhe importante que se deve adicionar no
arquivo /etc/hosts do servidor Squid o endereo IP do PDC. Com rela o a lista de
controles, a implementa o similar usada na autenticao NCSA:
auth_param basic program /usr/lib/squid/msnt_auth
auth_param basic children 5
auth_param basic realm Squid Proxy Server
auth_param basic credentialsttl 4 hours
Para utilizar PAM para a autenticao dos usurios, aps a comp ilao do mdulo,
necessria a configura o do arquivo squid dentro de /etc/pam.d, com as seguintes
linhas:
auth required /lib/security/pam_pwdb.so shadow nullok
account required /lib/security/pam_pwdb.so
8
Faculdade dos Guararapes Segurana em redes utilizando Squid
ou
No primeiro caso, o Calama ris ir gerar todos os relatrios poss veis e imprimi-los
na tela do terminal. No segundo exemplo, solicitado que ele gere todas as estatsticas
(parmetro -a) no formato html (parmetro -F html), no diretrio indicado. possvel
consultar exemplos de relat rios em formato TXT no endereo http://cord.de/tools/
squid/calamaris/calamaris-2.out.
O SARG Squid Analysis Report Generator e uma ferramenta desenvolvida em C, por
um brasileiro, que permite acompanhar atrav s de relatrios os sites acessados pelo seus
usuarios.
Os relatrios gerados pelo SARG s o de simples compreens o e bem completos no que
se prope, alm do usurio e do site acessado ele apresenta ainda informaes como
total de conexes, bytes tra fegados, se o acesso a determina do site foi negado, data e
horrio de acesso e etc. Atualmente em sua verso 2.0.4, tem op o para mais de 18
idiomas, entre eles o Portugus, sendo parte integrante das principais distribui es
Linux e considerado hoje uma das principais ferramentas de an lise de logs do Squid.
O download do SARG pode ser feito diret amente no http://sarg.sourceforge.net/.
Sua configurao tamb m simples, o nico arquivo de configurao bem
documentado, facilitando a configura o.
9
Faculdade dos Guararapes Segurana em redes utilizando Squid
7 ESTUDO DE CASO
Neste captulo ser abordado o que necessrio para um bom entendimento do case,
bem como a antiga topologia de rede antiga pela qual ser demonstrada a
necessidade da aplicao do trabalho.
7.1 A Instituio
A escolha pelo Squid como soluo ocorreu devido s seguintes caractersticas: licena
GPL, documentao satisfat ria na internet, facilidade no intercmbio de informaes
com outros usurios atravs de listas de discuss o, grande flexibilidade no controle de
acesso a WEB. O Squid deveria atender ao seguinte escopo em suas ACLs:
1. Acesso totalmente liberado para a diretoria, sem restrio de hor rios e sites;
2. Acesso para administrao e coordenao, com restrio a alguns sites;
3. Acesso aos alunos restrito a sites de trabalho e restrito ao hor rio de trabalho;
4. Relatrios dirios de acesso de todas as m quinas.
10
Faculdade dos Guararapes Segurana em redes utilizando Squid
8.1 Squid
8.2 SquidGuard
Esta ferramenta ser responsvel pelo filtro de contedo navegado pela internet,
j que o squidGuard no possui funo de caching proxy. Para fazer com que ele
atuasse como filtro tivemos que alter ar algumas linhas no seu arquivo de
configurao que fica localizado no diretrio /usr/local/squidGuard, no arquivo
squidGuard.conf. A primeira alterao que tem que ser feita a de comentar a linha
UNCONFIGURED, a segunda modificao qu e temos que fazer no arquivo na linha
onde se encontra Filterip = 10.1.1.2, que o IP da maquina que ficar responsvel
pela filtragem do contedo navegado na internet. E por final, temos que atribuir
as portas para as seguintes linhas que so Filterport = 3128 que ser a
porta responsvel pela filtragem do contedo navegado, e a Proxyport = 8080 que ser
a porta responsvel pela funo de cachin g proxy. Percebe-se que a porta que
atribumos para a Proxyport tem que ser a mesma atribuda no arquivo Squid.conf,
pois o Squid que tem a funo de fazer caching proxy , e por esta porta
que o SquidGuard se comunica com o Squid.
11
Faculdade dos Guararapes Segurana em redes utilizando Squid
#range local
NETLOCAL2=10.1.2.0/255.255.240.0
NETLOCAL=10.1.1.0/255.255.240.0
#eth local
ILOC=eth2
#eth externa
IEXT=eth1
###fim
$FW -F
$FW -X
$FW -t nat -F
$FW -t nat -X
$FW -P INPUT DROP
$FW -P OUTPUT ACCEPT
$FW -P FORWARD DROP
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
# Estabilizar as conexes
$FW -t filter -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
$FW -t filter -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
## Mascaramento...
#$FW -A POSTROUTING -t nat -o $IEXT -j MASQUERADE
#MSTSC
12
Faculdade dos Guararapes Segurana em redes utilizando Squid
#iptables -t nat -A PREROUTING -i $IEXT -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.40:3389
#iptables -A FORWARD -s 192.168.0.40/24 -p tcp --dport 3389 -j ACCEPT
##--**////////////////////////////////////////////////////////////////////////////////////////////////////////////////////** --##
#--SERVICOS INTERNOS
##--**////////////////////////////////////////////////////////////////////////////////////////////////////////////////////** --##
##Servicos internos
$FW -A INPUT -p tcp --dport 22 -j ACCEPT
$FW -A INPUT -p tcp --dport 5017 -j ACCEPT
$FW -A INPUT -p tcp --destination-port 5017 -j ACCEPT
$FW -A INPUT -i $ILOC -p tcp --dport 3128 -j ACCEPT
$FW -A INPUT -i $ILOC -p udp --dport 53 -j ACCEPT
$FW -A INPUT -i $ILOC -p tcp --dport 80 -j ACCEPT
###liberar tudo
#$FW -t nat -A PREROUTING -i $ILOC -d 0/0 -j ACCEPT
#$FW -A FORWARD -i $ILOC -d 0/0 -j ACCEPT
##--**///////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////**--##
#--MAQUINAS EM NAT
##--**////////////////////////////////////////////////////////////////////////////////////////////////////////////////////** --##
##############################
#####REDE - ADM LIBERACAO FULL
###############################
#--servidor
$FW -t nat -A PREROUTING --match mac --mac-source 6C-F0-49-F0-95-98 -p ALL -j ACCEPT
$FW -A FORWARD --match mac --mac-source 6C-F0-49-F0-95-98 -d 0/0 -j ACCEPT
$FW -A POSTROUTING -s 10.1.1.1/255.255.240.0 -t nat -o $IEXT -j MASQUERADE
#--server
$FW -t nat -A PREROUTING --match mac --mac-source 00-1D-7D-F4-18-CF -p ALL -j ACCEPT
$FW -A FORWARD --match mac --mac-source 00-1D-7D-F4-18-CF -d 0/0 -j ACCEPT
$FW -A POSTROUTING -s 10.1.1.5/255.255.240.0 -t nat -o $IEXT -j MASQUERADE
#--wireless
$FW -t nat -A PREROUTING --match mac --mac-source 00-1F-33-E4-91-1F -p ALL -j ACCEPT
$FW -A FORWARD --match mac --mac-source 00-1F-33-E4-91-1F -d 0/0 -j ACCEPT
$FW -A POSTROUTING -s 10.1.1.12/255.255.240.0 -t nat -o $IEXT -j MASQUERADE
############################
###REDE LABORATORIO
############################
ifconfig eth2:1 10.1.2.1 netmask 255.255.240.0
iptables -A INPUT -s 10.1.2.0/255.255.240.0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -s 10.1.2.0/255.255.240.0 -p tcp --dport 3128 -j ACCEPT
#####################
###FIM LABORATORIO
#####################
##--**////////////////////////////////////////////////////////////////////////////////////////////////////////////////////** --##
#--SITES LIBERADOS EM NAT
##--**////////////////////////////////////////////////////////////////////////////////////////////////////////////////////** --##
##--**////////////////////////////////////////////////////////////////////////////////////////////////////////////////////** --##
#--LIBERANDO CAIXA
##--**////////////////////////////////////////////////////////////////////////////////////////////////////////////////////** --##
$FW -t nat -A PREROUTING -s $NETLOCAL -d portaljudicial.caixa.gov.br -p ALL -j ACCEPT
#saida
$FW -A FORWARD -s $NETLOCAL -d portaljudicial.caixa.gov.br -p ALL -j ACCEPT
$FW -A POSTROUTING -d portaljudicial.caixa.gov.br -t nat -o $IEXT -j MASQUERADE
13
Faculdade dos Guararapes Segurana em redes utilizando Squid
#redirecionamentos
$FW -t nat -A PREROUTING -i $ILOC -p tcp --dport 80 -j REDIRECT --to-port 3128
$FW -t nat -A PREROUTING -i $ILOC -p tcp --dport 8080 -j REDIRECT --to-port 3128
$FW -t nat -A PREROUTING -s 10.1.2.0/255.255.240.0 -p tcp --dport 80 -j REDIRECT --to-port 3128
$FW -t nat -A PREROUTING -s 10.1.2.0/255.255.240.0 -p tcp --dport 8080 -j REDIRECT --to-port 3128
#$FW -A FORWARD -s 10.1.2.0/255.255.240.0 -d 0/0 -j DROP
##--**////////////////////////////////////////////////////////////////////////////////////////////////////////////////////** --##
#--FECHANDO O RESTO!
##--**//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////**--##
14
Faculdade dos Guararapes Segurana em redes utilizando Squid
9 CONCLUSO
ANLISE E RESULTADOS
Estes fatos comprovam que antes do co ntrole de acesso, a utiliza o dos recursos era
feita indiscriminadamente e n o apenas para as finalidades a que se destinavam, o que
acabava gerando transtornos e custos indiretos, como lentid o no link, chamados de
suporte entre outros. Al m disso, os resultados obtidos comprovaram a efic cia do
Squid para controle de acesso internet.
A implantao deste caso permitiu instituio de ensino ter uma rastreabilidade em
relao s aes de suas estaes de trabalho ligados internet. Uma das questes
de maior prioridade que foi solucio nada. Este monitoramento reduziu a tentativa de
aes ilcitas por seus funcionrios e alunos, uma vez que os mesmos foram
informados que suas aes esto sendo monitoradas. Caso o usurio seja flagrado
acessando sites indevidos ou tenta do burlar o proxy, o seu acesso ser bloqueado
e suspenso, seguindo o regimento interno da empresa.
Assim como uns dos principais problemas da rede da empresa foi solucionado,
pois os programas de p2p (peer -to- peer) tiveram as suas portas devidamente
bloqueadas, com uma automatizao no arquivo de configurao do Squid, o
mesmo est distribuindo de forma igual para todas as estaes de trabalhos, uma
velocidade padro de navegao e um limite mximo de dow nload.
Com trabalhos futuros pretende -se fazer o monitoramento da rede utilizando a
ferramenta nagios, para que possam ser gerados grficos de consumo da banda, de
trafego da rede, assim como tambm qual o protocolo, mais requisitado na re de.
Alem disso melhoramos a forma de visualizar os logs, utilizando a ferramenta de
gerao de relatrios via web, que o SARG, que faz uma comunicao com os
logs gerados pelo Squid e mostrando tudo em uma pagina de internet.
15
Faculdade dos Guararapes Segurana em redes utilizando Squid
Referncias
http://www.squid-cache.org/
http://sarg.sourceforge.net/
http://cord.de/tools/squid/calamaris/
http://www.squidguard.org/
http://www.ietf.org
http://www.gnu.org/licenses/gpl.html
http://squid.visolve.com/squid/squid24s1/squid24s1.pdf
http://www.academiacrista.com.br
16