Sei sulla pagina 1di 16

Segurana de redes utilizando Squid

Alcides Silva, Nilton Santos, Rozeilda Silva, Wandornyer George .

Graduandos do Curso Superior em Tecnologia em Redes de Computadores pela


Faculdade dos Guararapes
Rua Comendador Jos Didier, N 27, Piedade CEP 5 4440-160 Jaboato dos Guararapes
- PE

Abstract - This paper aims at implementation of free software to reduce spending on


proprietary software company. The other focus of this case is the configuration of the
Squid software to be used in authenticated fo rm so that each student of the institution
have a username and password for personal access to the internet in the labs. Thus,
when necessary, the institution can indicate exactly which user incorrectly used its
access to the internet.
Keyword - Squid.

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

Com o avano dos incidentes de segurana da informao e o rpido desenvolvimento


da internet no meio corporativo, a preocupao com a mesma cada vez maior.
A poltica de segurana uma pea fundamental quando queremos tornar um ambiente
computacional mais seguro. Uma poltica de segurana consiste num conjunto formal
de regras que devem ser seguidas pelos utilizadores dos recursos de uma organizao.
(RFC 2196, 2010). Uma das preocupaes que deve ser abordada na poltica de
segurana diz respeito ao controle de acesso, ou seja, o que o usurio pode ou no estar
fazendo. Os mecanismos para este controle no devem ser abordados pela poltica de
segurana, mas devem ser implementados de maneira que se faa cumprir o que nela
determinado.
pensando em todos estes problemas que vem a idia de implementar aes que
reduzam a incidncia de abusos na rede da empresa . Este conjunto de aes o
objetivo geral deste artigo.
Observando um ambiente de trabalho onde a instituio de ensino depende de um
sistema online e possui um grande numero de acessos pelos alunos em seus
terminais, surgiu a necessidade de se resguardar em relao s aes realizadas pe los
alunos dentro de seus laboratrios de informtica. Definiram-se, ento, os objetivos do
trabalho: monitorar e filtrar o contedo visitado na internet, visando uma melhor
utilizao dos terminas disponibilizados pela instituio, possibilitando a identi ficao
do usurio autor de infraes.

2
Faculdade dos Guararapes Segurana em redes utilizando Squid

2 Fundamentao terica

Neste captulo so descritas as definies necessrias das ferramentas que foram


utilizadas para o desenvolvimento do artigo.

2.1 Servidor Proxy

O principal papel de um servidor proxy intermediar a comunicao entre um cliente


qualquer e o servidor de destino responsvel pelo servio solicitado. As requisies
feitas para os clientes sero destinadas ao servidor proxy que processa o pedido
verificando as permisses da lista de acesso e retorna a resposta adequada.
Resumindo:
Cliente solicita conexes na porta 3128 do servidor proxy;
Proxy recebe solicitao e verifica nas listas de acesso as permisses.
Em caso de pgina autorizada, o servi dor proxy estabelece a conexo com o servidor
real de destino, obtm a pgina solicitada pelo cliente e o retorna a pgina solicitada.
Caso exista alguma proibio em alguma lista de acesso, possvel fazer uma pgina
personalizada de acesso proibido.

Squid (Servidor Proxy/ Cache)

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.

2.2 Firewall Iptables

O iptables um filtro de pacotes que funciona baseado em regras que analisam o


endereo e a porta de origem e destino dos pacotes. o firewall n ativo do Linux a
partir da verso 2.4 do Kernel. O iptables utiliza a infra -estrutura do kernel atravs do
Netfilter para saber como filtrar os pacotes corretamente.

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?

A unio do filtro de contedo com o servidor Proxy/cache traz inmeras vantagens


para aumentar o controle no ambiente de rede quando do acesso a internet por
parte de seus usurios.
As caractersticas do Squid e do squidGuard permitem uma integrao bastante
eficiente. O Squid um Proxy extremamente flexvel e muito utilizado. Assim,vrias
ferramentas tm sido criadas com o objetivo de trabalhar em conjunto com o mesmo,
assim como o squidGuard.

4 Mecanismos de controle de acesso

O objetivo desta seo apresentar alguns mecanismos de controle de acesso.

4.1 Controle de Acesso por Endereamento IP


acl LOCAL_NET src 10.1.1.0/24
http_access allow LOCAL_NET
http_access deny all

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.

Tabela 1: Parmetros do Squid

4.2 Controle de acesso pelo nome de dom nio do destino

acl SITES_PROIB dstdomain www.sexy.com.br .playboy.com.br


http_access allow !SITES_PROIB
http_access deny all

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

Tabela 2: Principais Tipos de ACLs no Squid


Tipo Descrio
src Utilizado para indicar endereos IP de origem (IP do cliente), po -
dendo indicar o endereo de um host, uma faixa ou mesmo uma
classe de endereos IP.

dst Indica endereos IP de destino, tamb m pode trabalhar com o


endereo de um host, uma faixa ou uma classe de endereos IP.
Antes de interpretar uma ACL deste tipo, o Squid faz uma con -
sulta DNS para a identificao do IP do endereo que vai
no cabealho da requisi o.

dstdomain Situao semelhante apresentada anteriormente, indica o


domnio de destino. Neste caso, no existe pesquisa reversa ao
servidor DNS para a identificao do IP do cliente, por estar tra-
tando a regra do domnio de destino da requisi o.

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.

4.3 Controle de acesso pelo dia/hora da semana com m ximo de conexo

acl EXEMPLO_T time MTWHF 11:00 -13:00


acl EXEMPLO_M maxconn 4
http_access allow EXEMPLO_T EXEMPLO_M
http_access deny all

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.

4.4 Controle de acesso baseado em pal avras chave

acl PROIBIDO url_regex -i $SQUID-HOME/etc/CONT_PROIBIDO


http_access allow !PROIBIDO
acl QUERY url_regex cgi{} -bin ?
no_cache deny QUERY
http_access deny all

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

Observe que, em uma configurao real, as ACLs s o, normalmente, declaradas no


incio, com regras em seguida. Neste exemplo, optou -se por uma forma alternativa de
apresentao (tambm aceita pelo Squid), com finalidades did ticas.

4.5 Controle por MIME

acl EXEMPLO req_mime_type application/x -msn-messenger$


http_access deny EXEMPLO

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:

acl name proxy_auth REQUIRED


http_access allow name

necessrio agora informar ao Squid a configurao de autentica o que a ACL acima


dever utilizar e para isso deve-se configurar a diretiva auth param, que ir especificar
o tipo de autenticao utilizada. Observe que os mdulos de autentica o devem ser
compilados a parte, sendo encontrados no diret rio $SQUID-SRC/helpers/basic auth.
O processo de instalao desse mdulo extremamente simples, com boa
documentao.
O restante da seo apresenta detalhes de algumas formas de autentica o.
Para uma implementao simples de autentica o, utilizando-se o formato NCSA, as
seguintes linhas devem ser implement adas no arquivo de configurao:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd


auth_param basic children 5
auth_param basic realm Squid Proxy Server
auth_param basic credentialsttl 4 hours

7
Faculdade dos Guararapes Segurana em redes utilizando Squid

Na primeira linha, foi indicado o caminho do mdulo de autenticao qu e ser uti-


lizado e onde ser criado o arquivo de usurios para autentica o. Na segunda linha,
configurou-se quantos processos filhos do m dulo de autenticao podero existir, nu-
mero que deve variar bastante de acordo com o tamanho da rede. Na terceira linha,
informado o ttulo da janela que ir solicitar a senha ao usurio e, por fim, na quarta,
indicado o tempo de vida de uma autentica o bem sucedida. Para criao e insero de
usurios deve ser utilizado o comando htpasswd. Esse comando o mesmo utilizado na
implementao de autentica o nos servidores apache.
Para utilizar a autenticao em servidores PDC (Windows ou SAMBA), necessrio
atentar que, aps a compilao, dois arquivos sero criados no diret rio etc/ do Squid:
msntauth.conf e msntauth.conf.default. O primeiro deve ser edita do de acordo com a
configurao local. Segue-se um exemplo desse arquivo:

# MSNT authenticator configuration file


# NT hosts to use. Best to put their IP
# addresses in /etc/hosts.
server pegasus pegasus eacosa.com
#denyusers /usr/local/squid/etc/msntauth.denyusers
#allowusers /usr/local/squid/etc/msntauth.allowusers

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

No arquivo squid.conf, a implementao semelha nte s implementaes exempli-


ficadas anteriormente, com uma pequena diferen a na primeira linha, onde necessrio
indicar o arquivos de usu rios e senhas, no caso /etc/shadow.

auth_param basic program /usr/lib/squid/pam_auth /etc/shadow


auth_param basic children 5
auth_param basic realm Squid Proxy Server
auth_param basic credentialsttl 4 hours

8
Faculdade dos Guararapes Segurana em redes utilizando Squid

6 Ferramentas de Anlise de Logs do Squid

To importante como controlar o acesso acompanhar e interpretar os logs gerados pelo


Squid. Com uso de ferrament as auxiliares, possvel analisar uma instalao e os
resultados obtidos, possibilitando acompanhament o e refinamento da configura o. Em
nosso conhecimento, destacam -se duas ferramentas: Calamaris e SARG.
O Calamaris uma ferramenta desenvolvida em Perl, sob licena GPL, de uso bastante
simples. Esta ferramenta permite a gerao de relatrios estat sticos ricos em detalhes
em diferentes formatos, en tre eles HTML e TXT e a criao de relatrios n o apenas
para o Squid, mas tambm para outras ferramentas, entre elas: Netcache, Oops! Proxy
Server,
Novell Internet Caching System, entre outros. Sendo desenvolvido em Perl, n o existe a
necessidade de compila o para o uso. O download do arquivo, pode ser feito
diretamente do site1 . O calamaris pode ser execut ado de duas maneiras:

# cat /var/log/squid/access.log | /usr/bin/calamaris -a

ou

# /usr/bin/calamaris -a -F html /var/log/squid/access.log \


> /path/do/destino/

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 ACBV (ACADEMIA CRIST DE BOA VIAGEM), iniciou suas atividades em 1 de


SETEMBRO de 1986, na cidade de RECIFE , sendo, hoje, parte da Igreja Presbiteriana
Memorial, localizada na Rua Herc uliano Pires, 201 - Piedade - Jaboato dos Guararapes
- PE.
Localizada em Recife, estado de Pernambuco, possui duas unidades. A ACBV
atende atualmente mais de oitocentos alunos. Com o tempo, a sua estrutura tanto
administrativa, quanto discente e patrimonial, foi aumentada e melhorada. Foram
ampliadas as estruturas do laboratrio, com reformas nas suas unidades, e melhorias
para atender melhor a demanda dos seus alunos.

7.2 Autenticao no Squid

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.

As linhas de configurao adicionadas na seo adequada do arquivo squid.con f


para atender essas necessidades sao apresentadas abaixo.
acl all src 0.0.0.0/0.0.0.0
acl rede_adm src 10.1.1.0/255.255.240.0
acl rede_laboratorio src 10.1.2.0/255.255.240.0
acl rede_laboratorio time MTWHF 8:00-13:00
acl bloqueio url_regex -i "/etc/squid/bloq.txt"
acl aberto url_regex -i "/etc/squid/nbloq.txt"
http_access allow aberto
http_access deny bloqueio
/usr/local/squidGuard/squidGuard.conf
http_access allow rede_adm
redirect_program /usr/bin/squidGuard
redirect_children 10
http_access allow localhost
http_access allow rede_laboratorio
http_access deny all

10
Faculdade dos Guararapes Segurana em redes utilizando Squid

8 PROCESSO DE INSTALAO E CONFIGURAO

Nesta seo comentado o processo de instalao e configurao das ferramentas


utilizadas no artigo para que se possa mostrar a nova topologia de rede da instituio.

8.1 Squid

O Squid ter a responsabilidade de fazer o caching proxy, o controle de banda de cada


terminal da instituio. Para tanto, foi necessrio alterar o arquivo de configurao
do Squid localizado no diret rio /etc/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.

8.3 Firewall Iptables

O firewall geralmente a nica mquina diretamente conectada a rede externa, mas


cada n da rede pode e deve ter seu prprio firewall ativo. Neste caso sua
funcionalidade est restrita proteo local, incluindo possveis infeces e
proliferaes de malwares na rede interna.
A implementao do firewall iptables tem como objetivo aumentar a segurana das
estaes de trabalho dos usurios da empresa. Para esta aplicao utiliza -se
apenas a tabela filter do iptables.
No primeiro momento, foram feitas as verificaes dos servios que estavam rodando
no servidor. Logo em seguida foi implementado um script que otimiza as construes
das regras de bloqueios de portas e servios.

11
Faculdade dos Guararapes Segurana em redes utilizando Squid

As linhas de configurao do firewall para atender essas necessidades so apresentadas


abaixo.
#!/bin/bash
###variaveis
#caminho iptables
FW=/sbin/iptables

#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

echo 1 > /proc/sys/net/ipv4/ip_forward

# 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

########### redefinicoes do masquerade

#$FW -A POSTROUTING -t nat -o $IEXT -p tcp --dport 110 -j MASQUERADE


#$FW -A POSTROUTING -t nat -o $IEXT -p tcp --dport 587 -j MASQUERADE
#$FW -A POSTROUTING -t nat -o $IEXT -p tcp --dport 80 -j MASQUERADE

## Abre para Broadcast


$FW -A INPUT -i lo -j ACCEPT

#Protecao contra Ping


$FW -A FORWARD -p icmp --icmp-type echo-request -j ACCEPT
$FW -A FORWARD -i $IEXT -p icmp --icmp-type echo-request -j DROP
$FW -A FORWARD -i $ILOC -p icmp --icmp-type echo-request -j ACCEPT

#Protecao contra Ping of Death


$FW -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#Protecao contra ataques Syn-flood


#$FW -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
#Protecao contra Port scanners avanos (nmap)
$FW -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST -m limit --limit 1/s -j ACCEPT

#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

$FW -t nat -A PREROUTING -s $NETLOCAL -d cmt.caixa.gov.br -p ALL -j ACCEPT


#saida
$FW -A FORWARD -s $NETLOCAL -d cmt.caixa.gov.br -p tcp -j ACCEPT

13
Faculdade dos Guararapes Segurana em redes utilizando Squid

$FW -A FORWARD -s $NETLOCAL -d cmt.caixa.gov.br -p udp -j ACCEPT


$FW -A POSTROUTING -d cmt.caixa.gov.br -t nat -o $IEXT -j MASQUERADE

$FW -t nat -A PREROUTING -s $NETLOCAL -d caixa.gov.br -p ALL -j ACCEPT


#saida
$FW -A FORWARD -s $NETLOCAL -d caixa.gov.br -p tcp -j ACCEPT
$FW -A FORWARD -s $NETLOCAL -d caixa.gov.br -p udp -j ACCEPT
$FW -A POSTROUTING -d caixa.gov.br -t nat -o $IEXT -j MASQUERADE

$FW -t nat -A PREROUTING -s $NETLOCAL -d obsupgdp.caixa.gov.br -p ALL -j ACCEPT


#saida
$FW -A FORWARD -s $NETLOCAL -d obsupgdp.caixa.gov.br -p tcp -j ACCEPT
$FW -A FORWARD -s $NETLOCAL -d obsupgdp.caixa.gov.br -p udp -j ACCEPT
$FW -A POSTROUTING -d obsupgdp.caixa.gov.br -t nat -o $IEXT -j MASQUERADE

$FW -t nat -A PREROUTING -s $NETLOCAL -d 200.201.174.207 -p ALL -j ACCEPT


#saida
$FW -A FORWARD -s $NETLOCAL -d 200.201.174.207 -p tcp -j ACCEPT
$FW -A FORWARD -s $NETLOCAL -d 200.201.174.207 -p udp -j ACCEPT
$FW -A POSTROUTING -d 200.201.174.207 -t nat -o $IEXT -j MASQUERADE

$FW -t nat -A PREROUTING -s $NETLOCAL -d 200.152.32.148 -p ALL -j ACCEPT


#saida
$FW -A FORWARD -s $NETLOCAL -d 200.152.32.148 -p tcp -j ACCEPT
$FW -A FORWARD -s $NETLOCAL -d 200.152.32.148 -p udp -j ACCEPT
$FW -A POSTROUTING -d 200.152.32.148 -t nat -o $IEXT -j MASQUERADE

$FW -t nat -A PREROUTING -s $NETLOCAL -d webp.caixa.gov.br -p ALL -j ACCEPT


#saida
$FW -A FORWARD -s $NETLOCAL -d webp.caixa.gov.br -p tcp -j ACCEPT
$FW -A FORWARD -s $NETLOCAL -d webp.caixa.gov.br -p udp -j ACCEPT
$FW -A POSTROUTING -d webp.caixa.gov.br -t nat -o $IEXT -j MASQUERADE

$FW -t nat -A PREROUTING -s $NETLOCAL -d www1.caixa.gov.br -p ALL -j ACCEPT


#saida
$FW -A FORWARD -s $NETLOCAL -d www1.caixa.gov.br -p tcp -j ACCEPT
$FW -A FORWARD -s $NETLOCAL -d www1.caixa.gov.br -p udp -j ACCEPT
$FW -A POSTROUTING -d www1.caixa.gov.br -t nat -o $IEXT -j MASQUERADE

$FW -t nat -A PREROUTING -s $NETLOCAL -d downloads.caixa.gov.br -p ALL -j ACCEPT


#saida
$FW -A FORWARD -s $NETLOCAL -d downloads.caixa.gov.br -p tcp -j ACCEPT
$FW -A FORWARD -s $NETLOCAL -d downloads.caixa.gov.br -p udp -j ACCEPT
$FW -A POSTROUTING -d downloads.caixa.gov.br -t nat -o $IEXT -j MASQUERADE

$FW -t nat -A PREROUTING -s $NETLOCAL -d 200.201.174.204 -p ALL -j ACCEPT


#saida
$FW -A FORWARD -s $NETLOCAL -d 200.201.174.204 -p tcp -j ACCEPT
$FW -A FORWARD -s $NETLOCAL -d 200.201.174.204 -p udp -j ACCEPT
$FW -A POSTROUTING -d 200.201.174.204 -t nat -o $IEXT -j MASQUERADE

#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!
##--**//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////**--##

$FW -A INPUT -p tcp --syn -j ACCEPT


##--**$FW -A INPUT -p tcp --syn -j DROP//////**--##

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

Potrebbero piacerti anche