Sei sulla pagina 1di 25

Configurando um proxy-cache usando o squid no ubuntu e

debian (bsico)
Postado em Linux (OS) Network(Servidores) Por julio em 8/06/08
Esse tutorial eu irei ensinar a coni!urar o o "#sico do s$uid% $ue & um 'rox()cac*e % $ue & uma
erramenta undamental 'ara admistradores de redes com tr#e!o extremos 'ara ajudar a diminuir o
consumo do link+
,m exem'lo 'r#tico% se -0 usu#rios ascessarem o mesmo .e" site ele na verdade ser# carre!ado
a'enas uma ve/ no servidor de 'rox( % diminuindo o tr#e!o do link% $ue na maioria das ve/es n0o &
muito lar!o+ outro exem'lo se -0 usu#rios "aixarem -0 ve/es um ar$uivo% ele s1 vai ser realmente
"aixado - ve/ % o resto vai vir do cac*e do 'rox(% isso se a'lica a ima!ens v2deos e outras coisas +
Para esse tutorial & im'ortante $ue voc3 sai"a o "#sico de comandos do console e da estrutura de
diret1rios e iniciali/a40o de 'ro!ramas em modo texto (console) recomendo ler o !uia oca se
$uiser se a'roundar no mundo do sotware livre + Outra coisa % a'renda a usar o !oo!le % ele sem're
l*e trar# res'ostas % antes mesmo de 'ostar em oruns e listas+
5em vamos come4ar +
Passos que vo ser feitos nesse tutorial.
-+ nstalar o programa .
6+ Criar o arquivo i'7Li"erados dentro do diret!rio /etc/s$uid/
8+ "enomear a conf padro .
9+ #aixar e descompactar a conf que eu editei .
:+ "einiciar o squid
6+ $abilitar o proxy no navegador
;+ %estar ver se est funcionando corretamente.
8+ &uvidas consultar o google .
<amos instalar o s$uid +
No u"untu +
sudo apt-get install squid
No de"ian como root+
apt-get install squid
= con 'adr0o dele ica no diret1rio+
/etc/squid
se c*ama s$uid+con
/etc/squid/squid.conf
&ica' caso voc3 $ueira tirar os coment#rios > do ar$uivo s$uid+con
cat squid_original.conf | grep -v ^# | uniq | tee squid.conf
Ent0o vamos 'rimeiro criar um a$uivo e no $ual vamos inserir os ?'s $ue desejamos li"erar no
'rox(% 'ara evitar o uso de seu 'rox( na internet +
sudo touch /etc/squid/ip_Liberados
ou no de"ian
# touch /etc/squid/ip_Liberados
E vamos iserir os i's $ue desejamos + 'ara sa"er o i' da sua m#$uina
sudo ifconfig
julio6@,"untu)Aeskto'BCD sudo iconi!
EsudoF 'assword or julio6B
et*0 Enca'sulamento do LinkB Et*ernet Endere4o de G. 00B-:BH6B65BI8B:6
inet end+B -I6+-68+6:9+60 5castB-I6+-68+6:9+6:: JascB6::+6::+6::+0
endere4o inet6B e80BB6-:B6Be6"BI8:6/69 Esco'oBLink
,P 5KO=AL=SM K,NN?NN J,LM?L=SM JM,B-:00 J&tricaB-
'acotes KOB6:8I8 errosB0 descartadosB0 excessoB0 $uadroB0
Pacotes MOB60680 errosB0 descartadosB0 excessoB0 'ortadoraB0
colisPesB0 tx$ueuelenB-000
KO "(tesB69;;86:; (6-+; J5) MO "(tesBI-::I98 (8+; J5)
?KQB-8 Endere4o de E/SB0x"000
<amos editar o ar$uivo $ue criamos e vamos inserir os i's $ue desejamos +
sudo nano /etc/squid/ip_Liberados
No meu caso esses+
-I6+-68+6:9+-
-I6+-68+6:9+60
-I6+-68+6:9+6
-I6+-68+6:9+8
-I6+-68+6:9+9
-I6+-68+6:9+:
-I6+-68+6:9+-:
O s$uid j# vem com a con dele 'adao e 'ronta 'ara usar
=!ora eu vou mostrar a con a"aixo editada 'or min +
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>Porta Padr0o >>>>>>>>>>>>>>>>>>>>>
*tt'7'ort 8-68
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
*ierarc*(7sto'list c!i)"in R
acl Q,EKS url'at*7re!ex c!i)"in TR
cac*e den( Q,EKS
>>>>>>> Laso exista o ='ac*e evita conlitos >>>>>>>>>>>>>
acl a'ac*e re'7*eader Server U='ac*e
"roken7var(7encodin! allow a'ac*e
>>>>>>>>>>>>Lo!s do S$uid>>>>>>>>>>>>>>>>>>>>>>
access7lo! /var/lo!/s$uid/access+lo! s$uid
cac*e7lo! /var/lo!/s$uid/cac*e+lo! s$uid
>>>>>>>>>>>> veriica o ar$uivo de Gost da ma$uina >>>>>>>>
*osts7ile /etc/*osts
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>Loni!ura40o do cac*e>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>taman*o do cac*e colo$ue o mel*or 'ra seu uso >
cac*e7mem -0 N5
>>>>>>>>>>>> taman*o maximo de ar$uivos na memoria >>>>
maximum7o"ject7si/e7in7memor( -68 V5
>>>>>>>>>>>> taman*o maximo do ar$uivo no cac*e >>>>>>>
maximum7o"ject7si/e 800 J5
minimum7o"ject7si/e 0 V5
cac*e7swa'7low I0
cac*e7swa'7*i!* I:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>Ke!ras de Li"erar O seu ?P >>>>>>>>>>>>>>>
>>>>>>>>>>>> Prote!er a sua rede de usos externos ao s$uid >>>
>>>>>>>>>>>>=cl $ue consulta o ar$uivo >>>>>>>>>>
acl Li"era7?P src W/etc/s$uid/i'7Li"eradosX
>>>>>>>>>>>> Ke!ra $ue li"era a acl Li"era7?P >>>>>>>
*tt'7access allow Li"era7?P
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>Lo! de erros em Portu!ues>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
error7director( /usr/s*are/s$uid/errors/Portu!uese
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>=tuali/ar Lac*e>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
reres*7'attern Ut'B -990 60Y -0080
reres*7'attern U!o'*erB -990 0Y -990
reres*7'attern + 0 60Y 9860
>>>>>>>>>>>>Haixa da rede interna >>>>>>>>>>>>>>
acl all src 0+0+0+0/6::+6::+6::+0
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
acl mana!er 'roto cac*e7o"ject
acl local*ost src -6;+0+0+-/6::+6::+6::+6::
acl to7local*ost dst -6;+0+0+0/8
>>>>>>>>>>>>Partas do SSL 'adr0o >>>>>>>>>>>>>
acl SSL7'orts 'ort 998 > *tt's
acl SSL7'orts 'ort :68 > snews
acl SSL7'orts 'ort 8;8 > rs(nc
>>>>>>>>>>>> Portas Li"eradas >>>>>>>>>>>>>>>>>>
acl Sae7'orts 'ort 80 > *tt'
acl Sae7'orts 'ort 6- > t'
acl Sae7'orts 'ort 998 > *tt's
acl Sae7'orts 'ort ;0 > !o'*er
acl Sae7'orts 'ort 6-0 > wais
acl Sae7'orts 'ort -06:)6::8: > unre!istered 'orts
acl Sae7'orts 'ort 680 > *tt')m!mt
acl Sae7'orts 'ort 988 > !ss)*tt'
acl Sae7'orts 'ort :I- > ilemaker
acl Sae7'orts 'ort ;;; > multilin! *tt'
acl Sae7'orts 'ort 68- > cu's
acl Sae7'orts 'ort 8;8 > rs(nc
acl Sae7'orts 'ort I0- > S.=M
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
acl 'ur!e met*od P,KNE
acl LONNELM met*od LONNELM
*tt'7access allow mana!er local*ost
*tt'7access den( mana!er
*tt'7access allow 'ur!e local*ost
*tt'7access den( 'ur!e
>>>>>>>>>>>>5lo$ueia todas as 'ortas menos as see 'ortas>>>
*tt'7access den( ZSae7'orts
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
*tt'7access den( LONNELM ZSSL7'orts
>>>>>>>>>>>>Li"era Local*ost>>>>>>>>>>>>>>>>>>>>>
*tt'7access allow local*ost
>>>>>>>>>>>>5lo$uear todos i's e acessos externos >>>>>>>
*tt'7access den( all
>>>>>>>>>>>>>> Li"era $ue recarre!ue as '#!inas>>>>>>>>>
*tt'7re'l(7access allow all
>>>>>>>>>>>>Li"era consultas ic'ms >>>>>>>>>>>>>>>>>
ic'7access allow all
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
cac*e7eective7!rou' 'rox(
>>>>>>>>>>>>endere4o de erros do cac*e >>>>>>>>>>>>>>>
coredum'7dir /var/s'ool/s$uid
5aixe a$ui a con +
No console+
cd /etc/squid
Kenomeiar a con 'adr0o
sudo mv squid.conf squid.conf-old
wget http://www.!ulio.info/blog/squid.conf.tar.g"
tar -"vf squid.conf.tar.g"
Keniciar o s$uid+
# /etc/init.d/squid restart
ou
sudo /etc/init.d/squid restart
Lem"rando $ue a con $ue vem no s$uid j# & o suiciente% "asta editar a 'arte $ue li"era acessos
externos +
Para *a"ilitar o 'rox( no nave!ador ireox +
vai em 'reer3ncias do nave!ador +

E coloca o endere4o de i' do seu 'rox( +

(tapa )* "eali+ar a instala,o e configura,o do servidor proxy squid
O s$uid 6+6 'ode ser instalado via a't)!et% 'ois j# 'ossui su'orte a NMLJ nativo+
<amos ao $ue interessaB
) Eetuando o Aownload e a ?nstala40o
> a't)!et install s$uid
) Eetuando "k' do ar$uivo de coni!ura40o ori!inal
> cd /etc/s$uid
> mv s$uid+con s$uid+ori!inal
) Lim'ando todas as lin*as comentadas do s$uid+ori!inal e !erando o s$uid+con
> e!re' )v [U>\UD[ s$uid+ori!inal ] s$uid+con
) Nerando o diret1rio de lo!s e li"erando as 'ermissPes
> mkdir /var/lo!/s$uid
> c*own )K 'rox(+'rox( /var/lo!/s$uid
Editando o ar$uivo s$uid+con e colocando as lin*as a"aixo (=s lin*as em vermel*o s0o as lin*as
utili/adas 'ela autentica40o)
> nano /etc/s$uid/s$uid+con
*tt'7'ort 8-68
cac*e7eective7user 'rox(
cac*e7eective7!rou' 'rox(
cac*e7lo! /var/lo!/s$uid/cac*e+lo!
cac*e7access7lo! /var/lo!/s$uid/access+lo!
cac*e7store7lo! /var/lo!/s$uid/store+lo!
*ierarc*(7sto'list c!i)"in R
acl Q,EKS url'at*7re!ex c!i)"in TR
no7cac*e den( Q,EKS
aut*7'aram ntlm 'ro!ram /usr/"in/ntlm7aut* MESME/AL0- ^*el'er)'rotocol_s$uid)6+:)ntlmss'
aut*7'aram ntlm use7ntlm7ne!otiate o
aut*7'aram ntlm c*ildren -0
aut*7'aram ntlm max7c*allen!e7reuses 0
aut*7'aram ntlm max7c*allen!e7lietime : minutes
aut*7'aram "asic 'ro!ram /usr/"in/ntlm7aut* MESME/AL0- ^*el'er)'rotocol_s$uid)6+:)"asic
aut*7'aram "asic c*ildren :
aut*7'aram "asic realm Ai!ite o LON?N/SENG=
aut*7'aram "asic credentialsttl 6 *ours
aut*7'aram "asic casesensitive o
reres*7'attern Ut'B -990 60Y -0080
reres*7'attern U!o'*erB -990 0Y -990
reres*7'attern +0 60Y 9860
acl all src -I6+-68+88+0/6::+6::+6::+0
acl mana!er 'roto cac*e7o"ject
acl local*ost src -6;+0+0+-/6::+6::+6::+6::
acl to7local*ost dst -6;+0+0+0/8
acl SSL7'orts 'ort 998 :68
acl Sae7'orts 'ort 80 > *tt'
acl Sae7'orts 'ort 6- > t'
acl Sae7'orts 'ort 998 :68 > *tt's% snews
acl Sae7'orts 'ort ;0 > !o'*er
acl Sae7'orts 'ort 6-0 > wais
acl Sae7'orts 'ort -06:)6::8: > unre!istered 'orts
acl Sae7'orts 'ort 680 > *tt')m!mt
acl Sae7'orts 'ort 988 > !ss)*tt'
acl Sae7'orts 'ort :I- > ilemaker
acl Sae7'orts 'ort ;;; > multilin! *tt'
acl LONNELM met*od LONNELM
acl acesso 'rox(7aut* KEQ,?KEA - .olicitando a autentica,o
*tt'7access allow mana!er local*ost
*tt'7access den( mana!er
*tt'7access den( ZSae7'orts
*tt'7access den( LONNELM ZSSL7'orts
*tt'7access allow acesso - /iberando usurios autenticados
*tt'7access allow all
*tt'7re'l(7access allow all
ic'7access allow all
coredum'7dir /usr/local/s$uid/var/cac*e
) Lriando o cac*e e iniciando o s$uid+
> s$uid )/
> s$uid `
) Para utili/ar as re!ras "aseadas em Nru'os do =ctive Airector(% utili/e as se!uintes lin*as no seu
s$uid+conB
external7acl7t('e nt7!rou' YLON?N /usr/li"/s$uid/w"ino7!rou'+'l
acl =llowed.indowsNrou's external nt7!rou' 0rupodo1&
*tt'7access allow =llowed.indowsNrou's
Ae'ois de editar o seu s$uid+con% n0o es$ue4a de recarre!#)loB
> s$uid ^k reconi!ure
KeiniciandoB
> /etc/init+d/s$uid restart
%estes*
Eetue a coni!ura40o do PKOOS no nave!ador (Servidor Prox(B -I6+-68+0+- PortaB8-68) e tente
acessar al!um we"site+
2onitoramento*
Jonitorando o ar$uivo de lo! de acessos do s$uid com o commando tail ^ e vemos $ue
o acesso oi li"erado utili/ando o usu#rio dun*a% $ue & o usu#rio lo!ado na esta40o de tra"al*o+
> tail ^ /var/lo!/s$uid/access+lo!
--;6-6:06I+86: ;:6 -I6+-68+0+-0 MLP7J?SS/600 I696 NEM
nstala,o
Para instalar o S=KN no ,"untu -0+09 LMS Lucid L(nx 'rimeiramente vamos atuali/ar a lista de
'acotes do ,"untu+
sudo a't)!et u'date
='1s a atuli/a40o da lista!em de 'acotes% vamos instalar o 'acote do S=KN no Lucid+
sudo a't)!et install sar!
Configura,o do .1"0 no 3buntu
='1s a insta40o & necess#rio coni!urar o S=KN no ,"untu -0+09 LMS Lucid L(nx 'ara $ue o
mesmo uncione corretamente+
=cesse a 'asta de coni!ura40o do S=KN
cd /etc/sar!
="rir o ar$uivo de coni!ura40o do S=KN com seu editor avorito% nos exem'los a"aixo estarei
usando o vim
sudo vim sar!+con
Laso deseje alterar o idioma do S=KN altere a lin*aB
lan!ua!e En!lis*
'ara
lan!ua!e Portu!uese
Para $ue as '#!inas dos relat1rios !erados 'elo S=KN sejam visuali/adas no nave!ador% &
necess#rio lin4ar a 'asta de sa2da dos relat1rios do S=KN 'ara a 'asta do servidor we"+
sudo ln )s /var/li"/sar! /var/www/
=o se executar o comando sudo sarg os relat1rios s0o !erados% 'or&m a se!uinte mensa!em de erro
a'arece na sa2da da lin*a de comandoB
S=KNB ,nknown o'tion site7user7time7date7t('e ta"le
Para $ue a mesma n0o a'are4a% acesse o ar$uivo de coni!ura40o do S=KN e comente a se!uinte
lin*a do ar$uivoB
site7user7time7date7t('e ta"le
Para !erar os relat1rios do S=KN e veriicar se tudo correu como es'erado executeB
sudo sar!
Para veriicar '#!inas de relat1rio !eradas 'elo S=KN acesse no seu nave!adorB
*tt'B/ip-do-servidor//sar!
.1"0 e o cron do 3buntu
Para $ue o S=KN seja executado autom#ticamente todos os dias% !erando os relat1rios de acesso do
SQ,?A automaticamente & necess#rio alterar o ar$uivo /etc/cron+dail(/sar! 'ara $ue o mesmo
execute o comando corretamente% 'ara isso acesse o ar$uivoB
sudo /etc/cron+dail(/sar!
O scri't de execu40o do S=KN deve icar conorme a"aixoB
>Z/"in/s*
i E )x /usr/"in/sar! Fa t*en
/usr/"in/sar!
i
Para $ue o S=KN execute antes do logrotate do SQ,?A & necess#rio alterar o nome do ar$uivoB
sudo mv /etc/cron+dail(/sar! /etc/cron+dail(/ksar!
=ssim o scri't do S=KN ir# executar lo!o antes do scri't do lo!rotate% !erando os rel#torios
corretamente+
Kemover os scri'ts de executa40o semanal e mensal do S=KNB
sudo rm /etc/cron+weekl(/sar!
sudo rm /etc/cron+mont*l(/sar!
1umentando a seguran,a
Para aumentar a se!uran4a dos relat1rios do S=KN% 'ermitindo a'enas usu#rios autori/ados
acessarem os mesmos% iremos a/er com $ue o servidor we" 'e4a um usu#rio e sen*a 'ara acessar
as '#!inas do S=KN+
=cesse a 'asta com as de sa2da do S=KNB
cd /var/li"/sar!
Lrie o ar$uivo +*taccess nessa 'astaB
sudo vim +*taccess
E% dentro do ar$uivo criado% colo$ue o se!uinte contebdoB
=ut*M('e 5asic
=ut*Name [=cesso restritoZ[
=ut*,serHile /var/li"/sar!/+*t'asswd
re$uire valid)user
=!ora iremos criar o ar$uivo contendo os usu#rios e as sen*as com 'ermiss0o 'ara visuali/ar os
relat1rios do S=KNB
sudo *t'asswd )c /var/li"/sar!/+*t'asswd admin
='1s a executa40o do comando acima% ser# solicitado a sen*a e sua conirma40o 'ara o usuario
admin+
=!ora iremos editar o ar$uivo de coni!ura40o do .ervidor 5eb 1pache
sudo vim /etc/a'ac*e6/*tt'd+con
E adicione as se!uintes lin*asB
>Kelatorio S=KN
=lias /sar! /var/www/sar!
O'tions ?ndexes Julti<iews
=llowOverride =ll
Order allow%den(
=llow rom all
c necess#rio reiniciar o .ervidor 5eb 1pache 'ara as $ue as coni!ura4Pes ten*am eeitoB
sudo /etc/init+d/a'ac*e6 restart
PKOOS MK=NSP=KENME
Lom o Prox( Mrans'arente autentica40o n0o unciona% & necess#rio im'lementar um lin*a de
?PM=5LES 'ara $ue 'ossamos redirecionar o tr#e!o da 'orta 80 'ara a 'orta 8-68+ Para ativar o
'rox( trans'arente% rode o comando a"aixoB
i'ta"les )t nat )= PKEKO,M?NN )i et*0 )' tc' ^d'ort 80 )j KEA?KELM ^to)'ort 8-68
i'ta"les )t nat )= PKEKO,M?NN )i et*0 )' tc' ^d'ort 8080 )j KEA?KELM ^to)'ort 8-68
Para ativar o su'orte ao modo trans'arente dentro do ar$uivo W/etc/s$uid/s$uid+conX colo$ue a
se!uinte lin*a e de'ois reiniciar o servi4o+
sudo !edit /etc/s$uid/s$uid+con
*tt'7'ort 8-68 trans'arent
Salve o ar$uivo
sudo /etc/init+d/s$uid restart
s$uid+con
acl all src 0+0+0+0/0+0+0+0
acl local*ost src -6;+0+0+-/6::+6::+6::+6::
acl redelocal src -0+-+0+0/69
acl mana!er 'roto cac*e7o"ject
acl to7local*ost dst -6;+0+0+0/8
acl SSL7'orts 'ort 998 :68 > *tt's% snews
acl SSL7'orts 'ort 8;8 > rs(nc
acl Sae7'orts 'ort 80 > *tt'
acl Sae7'orts 'ort 6- > t'
acl Sae7'orts 'ort 998 :68 > *tt's% snews
acl Sae7'orts 'ort ;0 > !o'*er
acl Sae7'orts 'ort 6-0 > wais
acl Sae7'orts 'ort -06:)6::8: > unre!istered 'orts
acl Sae7'orts 'ort 680 > *tt')m!mt
acl Sae7'orts 'ort 988 > !ss)*tt'
acl Sae7'orts 'ort :I- > ilemaker
acl Sae7'orts 'ort ;;; > multilin! *tt'
acl Sae7'orts 'ort 68- > cu's
acl Sae7'orts 'ort 8;8 > rs(nc
acl Sae7'orts 'ort I0- > S.=M
acl sectionx 'rox(7aut* KEQ,?KEA
acl 'ur!e met*od P,KNE
acl LONNELM met*od LONNELM
*tt'7access allow mana!er local*ost
*tt'7access allow users
*tt'7access den( redelocal
*tt'7access den( mana!er
*tt'7access allow 'ur!e local*ost
*tt'7access den( 'ur!e
*tt'7access den( ZSae7'orts
*tt'7access den( LONNELM ZSSL7'orts
*tt'7access allow local*ost
*tt'7access den( all
*tt'7re'l(7access allow all
ic'7access allow all
Kedirecionamento do GMMP traic+
et*- L=N
et*0 .=N
-I6+-68+0+- Endere4o da 'laca de rede da L=N
i'ta"les )t nat )= PKEKO,M?NN )i et*- )' tc' )m tc' ^d'ort 80 )j AN=M ^to)destination
-I6+-68+0+-B8-68
i'ta"les )t nat )= PKEKO,M?NN )i et*0 )' tc' )m tc' ^d'ort 80 )j KEA?KELM ^to)'orts 8-68
squid.conf
*tt'7'ort 8-68
visi"le7*ostname Poseidon
> Loni!ura40o do cac*e
cac*e7mem 96 J5
maximum7o"ject7si/e7in7memor( 69 V5
maximum7o"ject7si/e 800 J5
minimum7o"ject7si/e 0 V5
cac*e7swa'7low I0
cac*e7swa'7*i!* I:
cac*e7dir us /var/s'ool/s$uid 6098 -6 6:6
> Locali/a40o do lo! de acessos do S$uid
cac*e7access7lo! /var/lo!/s$uid/access+lo!
> Erros
error7director( /usr/s*are/s$uid/errors/Portu!uese
reres*7'attern Ut'B -: 60Y 6680
reres*7'attern U!o'*erB -: 0Y 6680
reres*7'attern + -: 60Y 6680
acl all src 0+0+0+0/0+0+0+0
acl mana!er 'roto cac*e7o"ject
acl local*ost src -6;+0+0+-/6::+6::+6::+6::
acl SSL7'orts 'ort 998 :68 -0000 60000
acl Sae7'orts 'ort 80 > *tt'
acl Sae7'orts 'ort 6- > t'
acl Sae7'orts 'ort 998 :68 > *tt's% snews
acl Sae7'orts 'ort ;0 > !o'*er
acl Sae7'orts 'ort 6-0 > wais
acl Sae7'orts 'ort -06:)6::8: > unre!istered 'orts
acl Sae7'orts 'ort 680 > *tt')m!mt
acl Sae7'orts 'ort 988 > !ss)*tt'
acl Sae7'orts 'ort :I- > ilemaker
acl Sae7'orts 'ort ;;; > multilin! *tt'
acl Sae7'orts 'ort I0- > S.=M
acl Sae7'orts 'ort II: -98 6: --0 > Email
acl 'ur!e met*od P,KNE
acl LONNELM met*od LONNELM
*tt'7access allow mana!er local*ost
*tt'7access den( mana!er
*tt'7access allow 'ur!e local*ost
*tt'7access den( 'ur!e
*tt'7access den( ZSae7'orts
*tt'7access den( LONNELM ZSSL7'orts
> Hiltros 'or 'alavras e 'or dominios
acl 'roi"idos dstdom7re!ex [/etc/s$uid/secure/"lock[
*tt'7access den( 'roi"idos
> Li"era 'ara a rede local
acl redelocal src -I6+-68+6+0/69
*tt'7access allow local*ost
*tt'7access allow redelocal
> 5lo$ueia acessos externos
*tt'7access den( all
esse a$ui & um scri't de i'ta"les $ue eu i/ uma ve/% nele eu redireciono tudo $ue ta entrando na
'orta do s$uid 'ara a 'orta 80% 'ortanto usando 'rox( trans'arente+ No $ual nao & necessario
coni!urar os clientes+
ec*o [>>>>>>>>>>>>>>>>>>>>>>>>>>[
ec*o [> ?N?L?=NAO H?KE.=LL >[
ec*o [>>>>>>>>>>>>>>>>>>>>>>>>>>[
mod'ro"e i'ta"le7nat
mod'ro"e i'7nat7t'
mod'ro"e i'7conntrack7t'
mod'ro"e i'7conntrack
i'ta"les )H
i'ta"les )H ?NP,M
i'ta"les )H O,MP,M
i'ta"les )H POSMKO,M?NN )t nat
i'ta"les )H PKEKO,M?NN )t nat
i'ta"les )P HOK.=KA =LLEPM
.=N_[et*0[
i'ta"les )t nat )= PKEKO,M?NN )s -I6+-68+6+0/69 )' tc' ))d'ort 80 )j KEA?KELM ))to)'ort 8-68
i'ta"les )t nat )= PKEKO,M?NN )s -I6+-68+6+0/69 )' tc' ))d'ort --0 )j KEA?KELM ))to)'ort 8--0
i'ta"les )= POSMKO,M?NN )t nat )s -I6+-68+6+0/69 )o D.=N )j J=SQ,EK=AE
i'ta"les )t nat )= PKEKO,M?NN )' tc' ))d'ort 8- )i et*0 )j AN=M ))to -I6+-68+6+-B80

ec*o - ] /'roc/s(s/net/i'v9/i'7orward
?PKEAE_-I6+-68+6+0/69
ANS-_600+-6:+-86+-98
ANS6_600+-9I+::+-96
Primeiro descu"ra $ual & a interace et*0 e et*-Z B)
Edite o ar$uivo /etc/network/interaces
O ar$uivo deve icar assim
>> ?nicio do ar$uivo
auto lo
iace lo inet loo'"ack
> ?nterace et*0 conectada ao modem
auto et*0
iace et*0 inet d*c'
> ?nterace et*- conectada ao roteador/swict*
auto et*-
iace et*- inet static
address -I6+-68+-+-
netmask 6::+6::+6::+0
"roadcast -I6+-68+-+6::
network -I6+-68+-+0
>> Him do ar$uivo
Keinicie o servi4oB
> /etc/init+d/networkin! restart
Lrie um ar$uivo c*amado nat+s* e cole isto l# dentroB
ec*o - ] /'roc/s(s/net/i'v9/i'7orward
i'ta"les )H
i'ta"les )t nat )H
i'ta"les )t nat )= POSMKO,M?NN )s -I6+-68+-+0/69 )j J=SQ,EK=AE
Salve e mude as 'ro'riedades do ar$uivo 'ara $ue ele 'ossa ser executadoB
> c*mod dx nat+s*
Execute)oB
> +/nat+s*
ten*o dois ar$uivos $ue rodam na iniciali/a40o
nat e irewall
descri40oB
natB
i'ta"les )H
i'ta"les )H ?NP,M
i'ta"les )H O,MP,M
i'ta"les )H POSMKO,M?NN )t nat
i'ta"les )H PKEKO,M?NN )t nat
mod'ro"e i'ta"le7nat
ec*o - ] /'roc/s(s/net/i'v9/i'7orward
i'ta"les )P HOK.=KA =LLEPM
i'ta"les )t nat )= POSMKO,M?NN )o et*0 )j J=SQ,EK=AE
i'ta"les )= PKEKO,M?NN )t nat )i et*- )' tc' ))d'ort 80 )j KEA?KELM ))to)'ort 8-68
irewallB
ec*o - ] /'roc/s(s/net/i'v9/con/deault/r'7ilter
i'ta"les )= ?NP,M )m state ))state ?N<=L?A )j AKOP
i'ta"les )= ?NP,M )i lo )j =LLEPM
i'ta"les )= ?NP,M )i et*- )j =LLEPM
i'ta"les )= ?NP,M )' tc' ))d'ort 66 )j =LLEPM
i'ta"les )= ?NP,M )' tc' ))s(n )j AKOP
Estou usando o ,"untu -0+09 LMS% $ue aca"ei de atuali/ar a 'artir do I+-0% s$uid 6+;
SM=5LE6(somente como cac*e/we")
o micro tem duas 'lacas de rede
et*0 _ i' ixo% de onde vem a conex0o com a internet
et*- _ conex0o at& um =P com sotware da ='Kouter% coni!urado como "rid!e
e Esta4Pes conectam ao servidor via wireless
=!ora vem o 'ro"lema+
) as esta4Pes conectam f internet% desde $ue estejam coni!uradas 'ara usar o 'rox(% sendo $ue o
mesmo [era[ 'ara ser trans'arente
) se eu tirar o 'rox( nas esta4Pes% n0o *# nave!a40o
) inclu2 as lin*as /nat e /irewall no ar$uivo /etc/rc+local
) $uando inicio o servidor% ten*o $ue reiniciar o s$uid 'ara a conex0o uncionar
ar$uivo rl+local_
/nat
/irewall
/etc/init+d/s$uid restart
exit0
Edite o ar$uivo de coni!ura40o do SQ,?A (no Linux% !eralmente em 6etc6squid6squid.conf) e
acrescente as se!uintes instru4PesB
acl streaming req_mime_type ^video/x-ms-asf
acl musica urlpath_regex -i \.aif$ \.aifc$ \.aiff$ \.asf$ \.asx$ \.avi$ \.au$ \.m3u$ \.med$ \.mp3$
\.m1v$ \.mp$ \.mpv$ \.mpa$ \.mov$ \.mpe$ \.mpg$ \.mpeg$ \.ogg$ \.pls$ \.ram$ \.ra$ \.ram$
\.snd$ \.!ma$ \.!mv$ \.!vx$ \.mid$ \.midi$ \.rmi$
http_access deny musica
http_reply_access deny streaming
Ae'ois & s1 reiniciar o servi4o+ No caso do Ae"ian e ainsB
- 6etc6init.d6squid restart
Na 'r#tica% as =LLs acima "lo$ueiam o #udio e v2deo de r#dios online% download de ar$uivos JP8
($ue 'ossam ser eitos eventualmente via GMMP)% ilmes e demais ormatos $ue so"recarre!am o
seu link+ ,ma o"serva40o im'ortante & $ue no SQ,?A% as re!ras/listas de acesso s0o executadas
sem're se$gencialmente% 'or isso a ordem em $ue elas a'arecem no ar$uivo de coni!ura40o 'ode
inluenciar no com'ortamento do we"'rox(+ ?sso si!niica $ue ao entrar em uma =LL (a condi40o
or verdadeira) o SQ,?A n0o c*eca/executa as 'osteriores+
3buntu 7 .quid Proxy 7 &ansguardian
Ae'ois de andar fs voltas e sem sucesso a tentar 'or um 'rox( !ratuito a uncionar em .indows
com uncionalidade de iltro de contebdos% resolvi virar)me 'ara o Linuxh Neste caso uma
coni!ura40o de ,"untu 6+-0 Ed!( (deskto') d Prox( S$uid e 'ara iltro de contebdos o
AansNuardian+
Lome4andoh
Se a instala40o do ,"untu oi recente ou se ainda n0o se deiniu a 'assword 'ara o root% esta & a
altura 'ara a/3)lo+
sudo 'asswd
Ae se!uida vamos actuali/ar o sistema+
Esta o'era40o vai demorar um 'ouco e 'ode ser necess#rio o cd de instala40o do ,"untu+
sudo a't)!et u'date
sudo a't)!et u'!rade
?nstalar o ='ac*e .e" Server
sudo a'titude install a'ac*e6
Para servir de 'rox( o com'utador ter# de estar coni!urado com i' ixo e n0o 'or d*c'+
Para isso editamos o ic*eiro de coni!ura40o de rede e alteramos 'ara os valores 'retendidos+
sudo !edit /etc/network/interaces
Procurar este texto e alterar 'ara os valores 'retendidos+
> M*e 'rimar( network interace
auto et*0
iace et*0 inet static
address 89).8:;.<=.89>
netmas4 ?;;.?;;.?;;.=
gate@ay 89).8:;.<=.?;=
Nravar% ec*ar o ic*eiro e reiniciar a redeB
sudo /etc/init+d/networkin! restart
?nstala40o do Prox( S$uid+
sudo a'titude install s$uid
Aota* se no im da instala40o tiverem o erro W"#$#%& 'ould not determine fully qualified
hostaname. (lease set )visi*le_hostname+,% a/erB
sudo !edit /etc/s$uid/s$uid+con
Procurar o texto Wvisi*le_hostnameX e acrescentar a lin*aB
visi*le_hostname localhost
Nravar% ec*ar o ic*eiro e reiniciar o s$uidB
sudo /etc/init+d/s$uid restart

Lom isto o S$uid deve estar a uncionar correctamente% 'assamos # instala40o do AansNuardian
sudo a'titude install dans!uardian
Se o comando anterior der um erro a di/er $ue n0o oi encontrado nen*um 'acote com o nome
WAans!uardianX% temos de editar o ic*eiro de sources do a'titude+ Para isso a/emosB
sudo !edit /etc/a't/sources+list
Procurar e tirar o W>X das lin*asB
> de" *tt'B//'t+arc*ive+u"untu+com/u"untu/ ed!( universe
> de" )src *tt'B//'t+arc*ive+u"untu+com/ ed!( universe
Nravar e ec*ar o ic*eiro% de se!uida a/erB
sudo a't)!et u'date
<otar a a/erB
sudo a'titude install dans!uardian
Editar o ic*eiro de coni!ura40o do dans!uardian de maneira a iltrar tudo o $ue 'assa 'elo 'rox(B
sudo !edit /etc/dans!uardian/dans!uardian+con
No incio do ic*eiro 'rocurar a ta! W-.'/."01-234X e alterar 'araB
5 -.'/."01-234
filterip6
filterport67878
proxyip619.8.8.1
proxyport6317
Nravar% ec*ar e reiniciar o dans!uardian
sudo /etc/init+d/dans!uardian restart
=!ora & s1 coni!urar os "rowsers 'ara usarem o 'rox(B

Para testar "asta tentar aceder 'or exem'lo a www+'la("o(+com e deve sur!ir um ecr0 semel*ante a
esteB
.ervidor Proxy (.quid)
,m servidor 'rox( & uma 'e4a im'ortante em uma rede interna $ue ten*a contato com outra
'b"lica% 'ois im'lementa uma s&rie de acilidades e controles+ <eremos% deinitivamente% tudo so"re
ele+
=o inal deste arti!o voc3 ser# ca'a/ deB
?nstalar e coni!urar o servidor 'rox( (s$uid)
Loni!urar o s$uid 'ara atuar como 'rox( trans'arente+
Conceitos de .ervidores Proxy
O o"jetivo 'rinci'al de um servidor 'rox( & 'ossi"ilitar $ue m#$uinas de uma rede 'rivada 'ossam
acessar uma rede 'b"lica% como a ?nternet% sem $ue 'ara isto ten*am uma li!a40o direta com esta+ O
Servidor 'rox( costuma ser instalado em uma m#$uina $ue ten*a acesso direto f internet% sendo $ue
as demais eetuam as solicita4Pes atrav&s desta+ iustamente 'or isto% este ti'o & c*amado de Prox(%
'ois & um 'rocurador% ou seja% sistema $ue a/ solicita4Pes em nome de outros+
Considera,Bes niciais
,tili/aremos duas erramentas de instala4Pes+
= 'rimeira & a ur'mi utili/ada em al!umas distri"ui4Pes como a Jandriva e etc+
= Se!unda & o =PM)NEM utili/ado em outras distri"ui4Pes como ,"untu e etc+
nstala,o do .quid
Para instalar o S$uid no Jandriva Linux% utili/e o ur'miB
#urpmi squid -auto
Para instalar o S$uid no ,"untu% utili/e o a't)!etB
#apt-get install squid
O c1di!o onte do S$uid 'ode ser o"tido no site oicial do 'rojeto listado na se40o [Para sa"er
mais[+
Configurando o .quid
= Loni!ura40o do s$uid ica !ravada em um ar$uivo c*amado s$uid+con% no diret1rio /etc/s$uid+
Entre v#rias o'4Pes de coni!ura4Pes do S$uid% al!umas merecem aten40o es'ecial 'ois deinem o
uncionamento "#sico do 'ro!rama+
http_port n
Esta o'40o & utili/ada 'ara deinir em $uais 'ortas (n) o s$uid es'era 'or conexPes *tt'+ = 'orta
'adr0o & 8-68% mas & 'oss2vel es'eciicar uma outra $ual$uer% de'endendo da necessidade+
(xemploB http_port #$%&
cache_dir 'ipo diret(rio )b*tes +,vel-$ +,vel-%
Esta o'40o serve 'ara deinir em $uais diret1rios ser0o arma/enados os o"jetos+ Mi'o es'eciica o
ti'o de sistema de arma/enamento a ser utili/ado+ =tualmente o ti'o $ue 'ode ser utili/ado com
se!uran4a & us+
Airet1rio es'eciica o nome do diret1rio onde *# o ar$uivo $ue mant&m os metadados dos o"jetos
arma/enados no disco+ Este ar$uivo & utili/ado 'ara recriar o cac*e durante a iniciali/a40o do
S$uid+ J"(tes es'eciica a $uantidade de es'a4o em disco $ue dever# ser utili/ada so" este
diret1rio+
O valor 'adr0o & -00 J5+ N2vel)- e N2vel)6 es'eciicam o nbmero de diret1rios de 'rimeiro e
se!undo n2vel% res'ectivamente% a serem criados% deinindo na o'40o Airet1rio+ Os valores 'adr0o
s0o -6 e 6:6% res'ectivamente+ c 'oss2vel ter v#rios diret1rios 'ara cac*e% inclusive em discos
distindos+
(xemploB cache_dir ufs /var/spool/squid $-- $. %/.
cache_mgr e-mail
Esta o'40o 'ermite es'eciicar o e)mail do usu#rio do sistema $ue rece"er# uma mensa!em caso o
S$uid ven*a a ser encerrado de orma anormal+ Este endere4o tam"&m & mostrado em '#!inas de
erros retornadas aos usu#rios caso% 'or exem'lo% a m#$uina remota n0o 'ossa ser acessada+
(xemploB cache_mgr squid_adm0imasters.com.br
cache_efective_user usuarop1 cache_efective_group grupo
Estas o'4Pes servem 'ara inormar ao S$uid com $ual ?A de usu#rio e de !ru'o% res'ectivamente%
ele deve ser executado% caso seja iniciado como root% $ue & como ele costuma ser iniciado+
(xemplo* cache_efective_user squid
cache_efective_group squid\
cache_mem mem
O s$uid utili/a muita mem1ria 'or ra/Pes de desem'en*o+ c muito mais demorado ler al!o do disco
do $ue diretamente da mem1ria como todos sa"em+ Jas deve)se estar atento ao deinir este valor%
'ois esse 'arjmetro n0o & o total de mem1ria $ue o S$uid usa% ele a'enas 'Pe um limite em um dos
as'ectos da mem1ria+ Jas ele usa mem1ria 'ara outras atividades% assim% & necess#rio reservar
es'a4os 'ara os outros 'rocessos+
Para veriicar $uanta mem1ria o s$uid esta utili/ando% 'odemos utili/ar o comando to'% 'or
exem'lo+
(xemploB cache_mem &)2\
visible_hostname computador
Esta o'40o deine o nome do com'utador $ue a'arece em mensa!ens de erro e em outras
inorma4Pes com'artil*adas entre servidore cac*e+ Lolocar o nome do com'utador local+
(xemplo* visible_hostname 3arede_de_fogo
Para iniciar o servi4o s$uid como su'er usu#rio (root)% o comandoB
#service squid start (Jandriva)\
etc/init.d# ./squid start (,"untu)
Controle de acesso
O controle de acesso do s$uid tem recursos suicientes 'ara deinir com 'recis0o $uais ti'os de
servi4os 'odem ser acessados 'or $uais m#$uinas e em $uais *or#rios+ =s re!ras da lista de controle
de acesso (=ccess Lontrol List ou sim'lismente =LLs) tem uma sintaxe "astante sim'les% e s0o
inclu2das no ar$uivo squid.conf
%ipos de elementos de 1C/*
srcB endere4o ?P de ori!em (cliente)a
dstB endere4o ?P de destino (servidor)a
srcdomainB um dom2nio de ori!em (cliente)a
dstdomainB um dom2nio de destino (servidor)a
srcdom7re!exB 'adr0o de texto% ou ex'ress0o re!ular% $ue conste no contebdo da ori!em
(cliente)a
dstdom7re!exB 'adr0o de texto% ou ex'ress0o re!ular% $ue conste no contebdo do destino
(servidor)a
timeB *ora do dia e dia da semanaa
url7re!exB com'ara40o de ,KL "aseada em ex'ress0o re!ulara
'ortB nbmero da 'orta do destino (servidor)a
m('ortB nbmero da 'orta local na $ual o cliente se conectoua
'rotoB 'rotocolo de transer3ncia (*tt'% t'% etc)a
met*odB m&todo *tt' de re$uisi40o (!et% 'ost% etc)a
"rowserB Lom'ara40o executada "aseada no ca"e4al*o (*eader) do cliente ("rowser)a
identB nome do usu#rioa
src7asB nbmero do Sistema =utknomo da ori!em (cliente)a
dst7asB nbmero do Sistema =utknomo do destino (servidor)a
'rox(7aut*B autentica40o do usu#rio via um 'rocesso externoa
'rox(7aut*7re!exB ex'ress0o re!ular $ue consta em uma autentica40o de usu#rio via um
'rocesso externoa
snm'7communit(B strin! $ue indica o nome da comunidade SNJPa
maxconnB um nbmero m#ximo de conexPes de um mesmo endere4o ?P de clientea
ar'B endere4o Et*ernet (J=L)+
Nem todos os elementos de =LL 'odem ser usados com todas as listas de acessos (descritas a
se!uir)+ Por exem'lo% snmp_communit* s1 ter# si!niicado $uando usado com a lista
snmp_access% "em como% os elementos src_as e dst_as somente ser0o usados na lista
cache_peer_access.
Lada elemento de =LL deve ser relacionado com somente um nome+ ,m elemento =LL com
determinado nome consiste em uma lista de valores+ Quando orem sendo eitos os testes% os
mblti'los valores utili/ar0o o o'erador l1!ico OK+ Em outras 'alavras% um elemento =LL ser#
v#lido% $uando $ual$uer um de seus valores orem verdadeiros+
<oc3 n0o 'ode dar o mesmo nome 'ara dierentes ti'os de elementos =LLs+ ?sto ocasionar# um erro
de sintaxe+
<oc3 'oder# colocar dierentes valores 'ara a mesma =LL em dierentes lin*as+ O S$uid os
com"inar# em uma lista+
/ista de 1cessos*
*tt'7acessB 'ermite clientes *tt' ("rowsers) acessarem a 'orta *tt'+ Esta =LL & a 'rim#riaa
ic'7accessB 'ermite cac*3s [vi/in*os[ a/erem re$uisi4Pes ao seu cac*e atrav&s do 'rotocolo
?LPa
miss7accessB 'ermite a al!uns clientes a/erem encamin*amento (orward) atrav&s de seu
cac*ea
no7cac*eB deine res'ostas $ue n0o dever0o ser arma/enadas no cac*ea
alwa(s7directa controla $uais re$uisi4Pes dever0o ser sem're encamin*adas diretamente aos
servidores de i!ema
never7directB controla $uais re$uisi4Pes nunca dever0o ser sem're encamin*adas
diretamente aos servidores de ori!ema
snm'7accessB controla acesso ao a!ente SNJP do s$uida
cac*e7'eer7accessB controla $uais re$uisi4Pes 'oder0o ser encamin*adas a um servidor de
cac*e vi/in*o+ ('eer)
,ma re!ra de lista de acesso% consite da 'alavra allow ('ermitir) ou den( (ne!ar)% se!uido de uma
lista de nomes de elementos =LL+
,ma lista de acesso consiste em uma ou mais re!ras de acesso+
=s listas de acesso s0o veriicadas na mesma ordem em $ue oram escritas+ = 'es$uisa na lista
termina assim $ue uma re$uisi40o satisa/er uma re!ra+
Se uma re!ra 'ossuir mblti'los elementos de =LL% esta usar# o o'erador l1!ico =NA+ Em outras
'alavras% todos os elementos de uma re!ra 'recisar0o ser validos 'ara $ue esta re!ra seja v#lida+ ?sto
si!niica $ue & 'oss2vel escrever uma re!ra $ue nunca ser# v#lida+ Por exem'lo% um nbmero de
'orta nunca 'oder# ser i!ual a 80 e 8000 ao mesmo tem'o+
<ejam al!uns exem'los 'r#ticosB
Se voc3 $uiser im'edir $ue $ual$uer usu#rio acesse 'a!inas $ue conten*am a 'alavra [cracker[ na
,KL% acrescente as se!uintes lin*as no seu s$uid+conB
acl proibir_crac4er url_rege crac4er\
http_access den* proibir_crac4er
E o "lo$ueio ainda 'ode ser 'ara m#$uinas es'eciicas+ ?ma!ine $ue o usu#rio da m#$uina cujo ?P &
-0+0+0+I: esteja ocu'ando muito a sua rede% transerindo ar$uivos de mbsica em ormato JP8+ Para
"lo$uear este usu#rio es'eciico% use a re!ra como a de "aixoB
acl mp# url_rege mp#\
acl usr_ofensor src $-.-.-.5//%//.%//.%//.%//\
http_access den* usr_ofensor mp#
Se $uiser 'roi"ir todos os usu#rios de acessarem um determinado siteB
acl site_proibido dstdomain .or4ut.com\
http_access den* all site_proibido
Mam"&m & 'oss2vel 'ermitir ou 'roi"ir o acesso em determinados dias e *or#riosB
acl tempo_proibido time )'678 $/:---$.:--\
acl usr_ofensor src $-.-.-.5//%//.%//.%//.%//\
http_access den* usr_ofensor tempo_proibido
= re!ra acima "lo$ueia o acesso f internet 'ara o ?P -0+0+0+I: durante o 'er2odo das -:B00 fs -6B00
*oras+ = o'40o JM.GH indica os dias da semana em in!l3s+ Mam"&m 'ode ser utili/adas as o'4Pes
= e S $ue e$uivalem ao s#"ado e ao domin!o res'ectivamente+
Existem casos $ue uma em'resa !ostaria de li"erar o acesso a internet a'enas durante o *or#rio de
almo4o+
Para isso% a se!uinte re!ra 'oderia ser a'licadaB
acl funcion9rios src $-.-.-.-/-\
acl acesso_almoco time )'678 $%:---$#:--\
http_access allow funcion9rios acesso_almoco\
http_access den* funcion9rios
Ae'endendo do nbmero de dom2nios ou de 'alavras)c*ave listadas em =LLs & aconsel*#vel
construir uma lista em um ar$uivo se'arado e indic#)lo no s$uid+con+ O ar$uivo com uma lista de
dom2nios ou de ex'ressPes re!ulares a serem "lo$ueadas deve conter uma entrada 'or lin*a% como
no exem'loB
Orkut
Pla("o(
Sexo
5lo!
Hotolo!
Laso o ar$uivo seja salvo em /etc/s$uid/sites7'roi"idos% 'or exem'lo 'odemos indic#)lo no ar$uivo
de coni!ura40o do s$uid da se!uinte maneiraB
acl funcion9rios src $-.-.-.-/-\
acl proibidos url_rege :/etc/squid/sites_proibidos: \
http_access den* funcion9rios proibidos
='1s incluir todas as suas re!ras restritivas% n0o se es$ue4a de incluir re!ras es'eciicando $ue tudo
o $ue n0o estiver ex'ressamente 'roi"ido deve ser 'ermitido+ Na coni!ura40o ori!inal do
s$uid+con% as lin*as ser0o como a $ue se!ueB
acl rede_local src $-.-.-.-/%//.-.-.-\
http_access allow all rede_local
Note $ue voc3 deve deinir a lrede7locall como conjunto de endere4o ?P e m#scara $ue mel*or
descrevem a sua rede+
Normalmente o seu squid.conf vir# com lin*as como as $ue se!uemB
#
# ;+<=>' ?@A> @6+ >AL=B<C 7=>= DLL@6 DEE=<< 8>@) ?@A> EL;=+'<
#
http_access den* all
Ela serve 'ara "lo$uear o acesso ao s$uid at& $ue ele seja coni!urado% e & interessante voc3 deix#)
lo como bltima re!ra% 'ois desta orma% se a re$uisi40o n0o satisa/er nen*uma re!ra o s$uid ir#
"lo$ue#)la+
Proxy %ransparente
,tili/ar o 'rox( trans'arente evita $ue o administrador tne*a $ue coni!urar o nave!ador we" de
cada usu#rio da rede% 'ois o uso do 'rox( 'assa a ser des'erce"ido 'ara o usu#rio+ =lem disso% evita
$ue o usu#rio 'ossa desa"ilitar o 'rox( e nave!ar diretamente na internet+
Para iniciarmos a coni!ura40o do s$uid como 'rox( trans'arente% insira ou descomente as
se!uintes lin*as no ar$uivo /etc/s$uid/s$uid+con
httpd_accel_host virtual\
httpd_accel_port &-\
httpd_accel_with_pro* on\
httpd_accel_uses_host_header on
E% como root% execute o comandoB
#iptables -t nat -D 3>=>@A';+F -i eth- -p tcp -dport &- -!
>=G;>=E' --to- port #$%&
Laso o i'ta"les n0o esteja instalado% instale)o antesB
#urpmi iptables -auto
Ou
#apt-get install iptables
Note $ue no exem'lo acima utili/amos a interace de rede et*0 como se osse a interace li!ada na
rede local+ <oc3 deve ada'tar o exem'lo f sua rede+ O exem'lo tam"&m assume $ue o i'ta"les e o
servidor 'rox( est0o sendo executados na mesma m#$uina+ Laso os servi4os estejam em m#$uinas
se'aradas% a lin*a de comando 'ara o i'ta"les & li!eiramente dierenteB
#iptables -t nat -D 3>=>@A';+F -i eth- -p tcp -dport &- -!
>=G;>=E' --to-dest ;3:#$%&
?P ) Aeve ser su"stituido 'elo endereco ?P da m#$uina onde o servidor s$uid esta sento executado+
Para $ue esta re!ra esteja ativa lo!o a'1s a iniciali/a40o do sistema o'eracional% execute em se!uida
os comandosB
#iptables -save H /etc/s*sconfig/iptables\
#ch4config iptables on
=o reiniciar o s$uid (>service s$uid restart ou etc/init+d> +/s$uid restart) os clientes j# 'oder0o
nave!ar normalmente em necessidade de es'eciicar no "rowser $ual servidor 'rox( deve ser
utili/ado+
&icas
N0o es$ue4a de veriicar os ar$uivos de lo! do S$uid $uando n0o estiver conse!uindo
resolver al!um 'ro"lema+ O Airet1rio 'adr0o de arma/enamento dos ar$uivos de lo! &B
/var/log/squid/+ Os 'rinci'ais ar$uivos s0o cac*e+lo!% access+lo! e o s$uid+out% $ue
arma/enam res'ectivamente% inorma4Pes so"re o cac*e do servidor 'rox(% os acessos eitos
atrav&s do 'rox( e mensa!ens de erro emitidas 'elo deamon do S$uid+
=$ueles $ue 'reerem uma interace !r#ica 'ara coni!ura40o de servidores 'odem o'tar
'elo .e"min% um !erenciador de sistema com interace we" $ue cont&m um m1dulo 'ara
!erenciamento do S$uid+ O download do .e"min 'ode ser eito atrav&s do site
sudo nano / etc / network / interaces
auto et*0
iace et*0 inet static
endere4o -I6+-68+-+6:0
netmask 6::+6::+6::+0
rede -I6+-68+-+0
"roadcast -I6+-68+-+6::
!atewa( -I6+-68+-+88
'ost)u' i'ta"les)restore m/ etc / i'ta"les+u'+rules
auto et*-
iace et*- inet static
endere4o -I6+-68+6+-
netmask 6::+6::+6::+0
rede -I6+-68+6+0
"roadcast -I6+-68+6+6::
Eta'a 8+ ?nstale o .e" =dmin (we"min) (O'cional)
w!et *tt'B//'rdownloads+sourceor!e+net/we"admin/we"min7-+:-0)67all+de"
d'k!)install)we"min7-+:-0 67all+de"
sudo a't)!et) install
*tt'sB / / local*ost ?P)ENAEKEnOB -0000
e NotaB Lertii$ue)se de dar 'ermiss0o 'ara o conjunto de re!ras de ?PM=5LES 'ara acessar
we"min so"re a rede+
Eta'a 9+ ?nstalar e Llam=< Llam=< res*clam)
sudo a't)!et install clamav clamav)res*clam
Eta'a :+ O 'rimeiro 'asso & instalar o s$uid 8
sudo a't)!et install s$uid8
editar o ar$uivo de coni!ura40o do s$uid 8 em seu editor avorito
sudo nano / etc/s$uid8/s$uid+con
e deinir a trans'ar3ncia e os *osts 'ermitidos
*tt'7'ort 8-68 trans'arentes
our7networks acl src -I6+-68+6+0/69
acl localnet src -6;+0+0+-/6::+6::+6::+6::
*tt'7access allow our7networks
*tt'7access allow localnet
onde -I6+-68+6+0/69 & a aixa de ?P da rede local+ Provavelmente% voc3 'recisa ajustar o taman*o do
swa'
cac*e7dir us / var/s'ool/s$uid8 ;000 -6 6:6
a$ui o 'rimeiro nbmero indica o taman*o do cac*e em me!a"(tes+ Salve)se altera4Pes e reiniciar o
'rox( s$uid 'or
sudo / etc/init+d/s$uid8 reiniciar
Passo 6+ Edite o / etc / s(sctl+con
sudo nano / etc / s(sctl+con
Aescomente a lin*a $ue 'ermitem o encamin*amento de 'acotes ?Pv9 e ?Pv6
Net+i'v9+i'7orward _ -
Net+i'v6+con+all+orwardin! _ -
Passo ;+ Editar o conjunto de re!ras de i'ta"les e N=M H?LMEK
sudo nano / etc / i'ta"les+u'+rules
e Nat
)= PKEKO,M?NN)i et*-)' tc')m tc')d'ort 80)j AN=M)to)destination -I6+-68+6+-B8-68
)= PKEKO,M?NN)i et*-)' tc')m tc')d'ort 80)j KEA?KELM)to)'orts 8-68
)= POSMKO,M?NN)s -I6+-68+6+0/69)o J=SQ,EK=AE et*0)j
e Hiltro
)= ?NP,M)i lo)j =LLEPM
)= ?NP,M)m state)i et*0)estado realated% ESM=5L?SGEA)j =LLEPM
)= ?NP,M)j =LLEPM et*-
)= ?NP,M)' tc')m tc')d'ort =LLEPM 66)j > 'ermitir usar o ss* 'utt(
)= ?NP,M)' tc')m tc')d'ort =LLEPM -0000)j > 'ermitir acesso we"min
LON)= ?NP,M)j
AKOP)= ?NP,M)j
)= HOK.=KA)i et*-)j =LLEPM
)= O,MP,M)o lo)j =LLEPM
)= O,MP,M)o et*-)j =LLEPM
)= oward)o et*-)j =LLEPM
)= HOK.=KA)s -I6+-68+6+0/69)o et*0)j =LLEPM
)= HOK.=KA)d -I6+-68+6+0/69)m state estado ESM=5L?SGEA% realted)? et*0)j =LLEPM
Passo 8+ Editar rc+local
sudo nano / etc / rc+local
i'ta"les)t nat)= POSMKO,M?NN)s -I6+-68+6+0/69)o J=SQ,EK=AE et*0)j
Eta'a I+ reiniciar o servidor
Passo -0+ Loni!ure a esta40o de endere4o ?P est#tico a/endo o ?P L=N do ,"untu como o
!atewa(+ Lertii$ue)se $ue o endere4o ?P da esta40o de tra"al*o est# dentro da coni!ura40o de rede
de voc3+
Juitas ve/es% de'ois de um !rande tem'o de uso do com'utador ou do servidor% voc3 nota $ue o
consumo de mem1ria est# alto+
?sso acontece 'or$ue muitas ve/es o Linux !uarda um es'a4o na mem1ria cac*e 'ara 'ro!ramas e
comandos $ue oram usados recentemente% 'ara $ue em execu4Pes uturas sejam executados mais
ra'idamente+
No entanto% 'ara li"erar esse es'a4o $ue muitas ve/es & arma/enado sem necessidade e causando
um uso elevado da mem1ria n0o 'recisamos reiniciar o com'utador+
5asta executar o comando a se!uir como rootB
I sync

I echo # > /proc/s*s/vm/drop_caches
O comando s(nc a/ com $ue todo o cac*e do sistema de ar$uivos $ue est# tem'orariamente
arma/enado na mem1ria cac*e% seja des'ejado em disco e li"erado% 'revenindo assim $ue se ten*a
'erda de dados+
Quando escrevemos W8o no ar$uivo /'roc/s(s/vm/dro'7cac*es di/emos 'ara o Vernel li"erar
'a!ecac*e% dentries e inodes+
Se escrevermos W-o% li"eramos a'enas 'a!ecac*e e se escrevermos W6o li"eramos 'a!ecac*e e
inodes+ Nesse caso usaremos o W8o% 'ois ele a/ o 'a'el dos dois anteriores e ainda li"era dentries+
Para visuali/ar a $ueda do uso do c*ac*e% "asta di!itarB
I free -m
Laso $ueira criar um scri't 'ara a/er essa lim'e/a automaticamente determinando um *or#rio
es'ec2ico% crie um ar$uivo c*amado Wlim'ar7memoria7cac*eX+
I cd /usr/bin/
I touch limpar_memoria_cache
I chmod J// limpar_memoria_cache
E insira o se!uinte texto no ar$uivoB
#!/bin/bash
sync
echo # > /proc/s*s/vm/drop_caches
=dicione o ar$uivo na cron% 'ara 'ro!ramar sua execu40o todos os dias ao meio dia+
I crontab -e
=dicione as lin*asB
# mm HH DD MM DS tarefa
-- $% * * * /usr/bin/limpar_memoria_cache
Ondeh
C mmB minutos
C GGB *oras
C AAB dia
C JJB m3s
C ASB dia da semana
C /usr/"in/lim'ar7memoria7cac*eB scri't de lim'e/a da cac*e
Pronto+ Scri't criado e a!endado 'ara execu40o autom#tica+
"einiciando .quid automaticamente com Cron
Para acilitar i$ue lo!ado como root
Lriar um scri't a$ui vai ter o nome de restars$uid+s*
Ele vai ser criado dentro da 'asta /etc/s$uid
Lrie o scri't vi /etc/s$uid/restarts$uid+s*
Edite ele com os se!uintes comandos
>Z /"in/"as*
KESM=KM_[/etc/init+d/s$uid restart[
DKESM=KM
a!ora salve e saia ESL Bw$
=!ora e dar 'ermiss0o 'ara o scri't criado
c*mod dx /etc/s$uid/restarts$uid+s*
=!ora a4a um teste com o comando s* /etc/s$uid/restarts$uid+s*
Ele vai reiniciar o s$uid 'ronto nosso escri'e esta uncionando% a!ora vamos conri!urar o cron 'ara
executar nosso scri't no *orario desejado+
Para editar o Lron de o se!uinte comando
cronta" )e
a!ora um exem'lo de edi40o
:: ; e e e root s* /etc/s$uid/restarts$uid+s*
Pronto a!ora e so salvar com o comando ctrldo e sair com ctrldx
No exem'lo o cron vai reiniciar o s$uid todos os dias as ;B:: da man*0
Esta tudo 'ronto a!ora e so reiniciar o cron ou reinicie seu linux+
sudo apt-get install apache% php/ php/-m*sql phpm*admin php/-pgsql libpq-dev
php-pear php/-sl php/-gd m*sql-server-/.- postgresql-&.# pgadmin# phppgadmin
php/-debug
Em interface grfica, eu te indicaria:
Bluefish
Quanta
GHEdit
!"u

Potrebbero piacerti anche