RouteryProxy
Linux(Ubuntu8.04)Internet
10.0.0.1/8
RouterCisco2600
eth1
192.168.0.2/24
eth0
192.168.0.70/24
Cliente1
Cliente2
10.0.0.2/8
10.0.0.3/8
Buenoinstalaremossquid2.6.STABLE14yaqueeslaltimaversinsoportadaporwebmin1.420.
Descomprimossquid2.6.STABLE14.tar.bz2ywebmin1.420.tar.gz.Entramosaldirectorio
resultantedeladescompresindeltarballdesquidyprocedemosainstalarlo:
./configuresysconfdir=/etc/squid/
make
makeinstall
Vamosalarchivodeconfiguracindesquid(/etc/squid/squid.conf)yenlaltimalineaodespus
deunaACLponemoslosiguiente:
visible_hostnamenombre_de_mi_proxy
Notienequesernecesariamenteelnombredelequipo,porejemplo,yolecoloqualmio
ubuntu_proxy(sinlascomillas).
Luego,comoroot,creamoselgrupoyelusuariosquid:
_#groupaddsquid
_#useraddd/var/log/squids/bin/falsegsquidsquid
Bueno,todobienhastaaqui,ahoranostocacreareldirectoriocache/en/usr/local/squid/var/
Ponemosalusuariosquidcomopropietariodeldirectorioqueacabamosdecrearytambindemosle
permisosdelecturayescritura.
Elsiguientepasoescreartresarhivoseneldirectorio/usr/local/squid/var/logs/:
access.log
cache.log
store.log
Yledamospermisosdelecturayescrituraaestostresarhivos.
Buenolisto,continuamosperoconlainstalacindeWebmin.Entramosaldirectorioresultantedela
descompresindeltarballdewebminyejecutamoselsiguienteejecutable(comorootysenecesita
queelsistematengainstaladoelPerlysuslibrerias):
_#./setup.sh
Yseguimoslasindicacionesdelinstalador.Cuandolterminacolocapordefectoelpuerto10000
comopuertodeescuchadepeticionesparaentraralwebminporweb(yaseaFirefox,Konkeror,
Opera,etc),esdecir,unavezinstaladoelwebminabrimosnuestronavegadorfavoritoycolocamos
enlabarradedireccioneslossiguiente:
http://nombre_de_nuestro_equipo:10000
Ylisto,colocamoselusuarioypassword(figura1)queconfiguramosenlainstalacindeWebmin
yentramosenlaconsoladeadministracindelmismo(figura2).
Figura1
Figura2
Enelmenservidorespodemosverlosserviciosderedejecutandoseenelserver,perosino
apareceelservidorproxySquiddebemosinstalarelmoduloSquidqueseencargadeadministrar
dichoserviciodered.AhhhbuenoperoantessitenemosalWebmineninglspodemospasarloa
EspaolhaciendoclickenWebmin>WebminConfiguration>Language(figura3):
Figura3
Bueno,continuandoconlainstalacindelmodulo,dentrodelWebmin,vamosaWebmin>
ConfiguracindeWebmin>MdulosdeWebmin(figura4):
Figura4
UnavezdentrodeModulosdeWebmin,seleccionamosMduloestndarde
www.webmin.com(figura5)yoprimimoselbotnconlostrespuntospara
seleccionarelmoduloSquid:
Figura5
LuegodeselecionarelmduloSquidhacemosclicenelbotnInstalarMduloy
listo,comienzaladescargaeinstalacindelmdulo.
Ahorayapodemoshacerclicenelmenservidoresyencontraremoselmdulode
configuracindelproxySquid(figura6):
Figura6
EntremosalsubmoduloPuertosyTrabajoenRedparaconfigurarelpuertodeescuchade
nuestroproxy,pordefectovieneconfiguradoconelpuerto3128,cambiemosloalpuerto8080.
CadavezquehagamosuncambioenlaconfiguracindelservidorSquiddebemoshacerclicenel
botnSalvar.
Bien,vamosalapartemsimportante,lasACLs(figura7).
Figura7
EnelmenServidores>SquidServidorProxypodemosverlasACLsquevienenpordefecto
(figura7)yjustoabajoencontramosunbotnparadefinirnuestrasnuevasACLs.
ComenzemosdefiniendounaACLquepermitaaccesoaInternetatodanuestrared,enelmen
contextualdelladodelbotnCrearnuevaACLseleccionemosDireccindeCliente(figura8):
Figura8
Figura9
LeponemosunnombreanuestraACL,enDesdeIPcolocamosladireccindereddenuestra
LAN,elcampoAIPlodejamosenblancoyelcampoMscaradeRedlollenamosconla
mscaradesubreddenuestraLAN.ListolehacemosclicenSalvar.
Figura10
YalaACLquedefinenuestraredestconfigurada,ahoradebemosprogramarsiel
accesoaInternetparaestaredespermitidoodenegado,estolohacemosparandonos
enlasolapaRestriccionesProxy,delmismosubmoduloControldeAcceso
(figura11),yluegohacemosclicenAadirrestriccinproxylocualnocolocaren
otrosubmodulollamadoCrearRestriccindeProxy(figura12),all
seleccionamoslaaccinPermitiryluegoseleccionamoslaACLred_10.0.0.0y
porltimoSalvamos.
Figura11
Figura12
Listo,nosregresamosalsubmoduloControldeAccesosolapaRestricciones
ProxyyalldebemossubiralmenosunnivelhaciaarribalaACLred_10.0.0.0
(todaACLdebequedarencimadelaACLallcuyaaccinesDenegar)con
ayudadelaflechaenelcampoMoverpodemoshacerlo
Figura13
Figura14
PorltimohacemosclicenAplicarcambiosparaquelanuevaACLfuncione.
BloquearpginasporExpresinregulardeservidor.
VamosahacerunaACLquebloqueetodotipodepginasquecontenganensuURLlafrase
rubia.Desdeelprincipio(Indicesquid)entramosaControldeAccesoenelmencontextualde
laparteinferiorseleccionamosExpresinRegulardeServidorWebyluegoclicenCrearnueva
ACL(figura15):
figura15
AlhacerclicenCrearnuevaACLentraremosautomticamentealsubmoduloEditarACL
dentrodelcuallepondremosunnombreanuestranuevaACL,yolallamprohibido,luegoenel
campoExpresionesRegularescolocaremostodotipodefrasesqueseaninapropiadasenlaURL
deunapginaweb,yoamododeejemplocoloqurubiaysexo(unapginacomo
www.rubias19.comserbloqueada,unapginacomowww.sexofree.comtambinserbloqueada)
ycuandoterminemossalvamosyaplicamosloscambios.
figura16
Perohastaaqunollegaestaconfiguracin,ahoraenelmoduloControldeAccesoentramosenla
solapaRestriccionesProxyyseleccionamoslaACLred_10.0.0.0paraaplicarlelacondicin
queacabamosdecrearenlaACLprohibido.AlhacerclicenlaACLred_10.0.0.0elsistema
nosentrarenelsubmoduloEditarRestriccindeProxy(figura17):
EnstemoduloloquehacemosesasociarlaACLred_10.0.0.0conlaACLprohibidodetal
maneraquepermitaelaccesoaInternetatodoslosdelared10.0.0.0/24peroconlaexcepcinde
pginasquecontenganfrasesenlaACLprihibido,entonces
figura17
YaenelmduloEditarRestriccindeProxyenelcampoCoincidirconACLsseleccionamos
laACLred_10.0.0.0yenelcampoNocoincidirconACLs(delapartederechadelmdulo)
seleccionamoslaACLprohibido(siqueremosasociarmsACLslohacemosteniendolatecla
Controloprimidayconelpunterodelmouseselecionamoslsdems).Cuandoterminosesta
parte,salvamos.
Ylisto,yaconesonuestraACLbiencondicionadalucircomosemuestraenlafigura18:
Figura18
Bloqueararchivosporextensin.
EnelsiguienteejercicioveremoscomoconfiguraraSquidparaquebloqueedescargasdearchivos
ejeutablesyarchivosmp3.EntoncesdentrodelmduloSquidenelWebminvamosaControlde
Acceso>ListadeControldeAcceso,seleccionamosdelmencontextual,enlaparteinferiordela
pgina,laopcinExpresinRegulardeRutaURLyluegoclicenCrearnuevaACL.
LeponemosunnombrealaACL,yoenmicasolallambloquea_archivosyenelcampo
expresionesregularesdigitamoslasextensionesdelosarchivosquequeremosbloquear,conel
siguienteformato:
\.exe
\.mp3(todosloscaracteressinespacios)
Yluegosalvamos,laconfiguracinquedarsimilaraladelafigura19.
Figura19
LuegovamosalasolapaRestriccionesProxy(figura20),seleccionamoslaACL
red_10.0.0.0/24
figura20
Enelcuadroizquierdo(figura21)seleccionamoslaACLred_10.0.0.0/24yluego,conlatecla
Controloprimida,seleccionamoslaACLbloquea_archivosdelcuadroderecho(figura21).
Salvamosylisto.
figura21
PodemosexcluiraciertasIPparaquetengandescargasyaccesototalhaciaInternet.
EnelsubmoduloControldeAccesoseleccionamosDireccindeClienteCrearnueva
ACL,buenoesonosllevaalsubmoduloCrearACL(figura22)yallempezamosadefinirlas
IPsquetendrntodoslosprivilegiosparanevegarenlaInternet.
Figura22.SolocolocamoslaIPaddress,sinmscaradeRed,delosequiposquedeben
teneraccesototalhaciaInternet.Sileonfiguramosunamscaraderedenestepasola
configuracinseaplicaratodoslosequiposdeesaredylaintencindeexcluirunequipo
delasACLsnofuncionar.
Ylistosalvamos.SinecesitamosmsequiposconaccesototalaInternetpodemoshacerlo
volviendoaentrarastamismaACL(su_excelencialaqueacabamosdecrear)ynosaparecer
unnuevocampoparaingresarotradireccinIP(figura23).Hacemoslosmismospasospara
ingresarmsIPaddress.
Figura23
YtambinpodriamosconfigurarrestriccionesproxyindividualesaesasIPsquetienen,hastaahora,
accesototalhaciaInternet.
Figura24
EnlaACLsu_excelenciaEstaelprimeraEstalaconfigur
seencuentralasIPquetienenIPqueconfiguramosdespus.
accesototalaInternet.
ConfiguracindelasreglasIPTABLES.
YaquelosProxyServersnosoportanprotocolosdecorreocomoelPOP3,SMPTPeIMAP
debemosconfigurarelfirewallparaqueredireccionehacialaInternetcualquierpeticinde
conexin,deunclientedecorreocomoOutlook,aunservidordecorreoPOP3ySMPTybloquee
elrestodeltrfico,comoeltrficoWeb;claroparaqueesteltimosehagasolopormediodel
proxy.
Ponemosa1enbitdelip_forwardparahabilitarelenrutamientoenelservidorLinux:
_#echo1>/proc/sys/net/ipv4/ip_forward
YlehacemosunNATalasconexionesdepuertosdecorreoyDNSparaquelosclientespuedan
enviaryrecibircorreosensuOutlook:
_#iptablestnatAPOSTROUTINGs10.0.0.0/8oeth0ptcpdport53jMASQUERADE
_#iptablestnatAPOSTROUTINGs10.0.0.0/8oeth0pudpdport53jMASQUERADE
_#iptablestnatAPOSTROUTINGs10.0.0.0/8oeth0ptcpdport25jMASQUERADE
_#iptablestnatAPOSTROUTINGs10.0.0.0/8oeth0ptcpdport110jMASQUERADE
LassiguientesreglasdeIPTABLESlasconfiguramosparapoderusarnuestraswebcamsennuestro
aMSN
_#iptablesAFORWARDs10.0.0.0/8oeth0pudpdport1863jACCEPT
_#iptablesAFORWARDs10.0.0.0/8oeth0ptcpdport1863jACCEPT
_#iptablesAFORWARDs10.0.0.0/8oeth0ptcpdport6891jACCEPT
_#iptablesAFORWARDs10.0.0.0/8oeth0pudpdport6891jACCEPT
_#iptablestnatAPOSTROUTINGs10.0.0.0/8oeth0ptcpdport6891jMASQUERADE
_#iptablestnatAPOSTROUTINGs10.0.0.0/8oeth0ptcpdport1863jMASQUERADE
_#iptablestnatAPOSTROUTINGs10.0.0.0/8oeth0pudpdport1863jMASQUERADE
_#iptablestnatAPOSTROUTINGs10.0.0.0/8oeth0pudpdport6891jMASQUERADE
AunquepodemosconfigurarlasconexionesdeproxyenelaMsnparapoderchatearcomode
costumbre,elvideoolacmaraweb,parausarlosenestetipodeclienetesdemensajeria,nopasan
atravsdelproxyasiquedebemosconfigurarlasreglasIPTABLESqueacabamosdeverparaque
elvideodenuestrascmarasenelaMsnpuedafuncionar(paraelMSNdeMicrosoftseraotro
puerto,yoenelmomentonoscualesasiquequedaenmanossuyasaveriguarlo).Podemois
averiguarlospuertosqueutilizaelaMsnparacmaraswebsiguiendolarutaCuentaPreferencia
Conexin(figura25).AbriresospuertosparalaswebcamsenelaMsnesutilsinecesitamos
hacervideoconferenciasenunaempresa,perosinolasnecesitamosentoncesnoesnecesario
configurarestetipodereglasenfirewallIPTABLES.
Figura25
Proxytransparente
SiloquequeremosesnoincomodaralusuarioconlaconfiguracindelproxyensuInternet
Explorer(sueleocurrirquecuandoelusuariosellevasulaptopacasaconelproxydelaempresa
stenoleentraaInternet,oenunaereopuertolepasalomismo)podemosrecurriraalgollamado
Prxoytransparente,ycomosunombrelodiceelservidorProxyestransparenteparalos
navegadoresdeInternet(MozillaFirefox,InternetExplorerdeMicrosoft,etc),esdecirquenoes
necesarioconfigurarladirecindelproxyenlosclientes,aunqueigualtodoeltrficohaciaInternet
sehacepormediodelServidorProxy,estetrucoselograconfigurandounareglaenelIPTABLES
delmismoservidorydiciendoleaalProxyServerquevaatrabajarcomoProxytransaparente.Para
lograresemododetrabajohacemoslosiguiente:
EnelarchivodeconfiguracindeSquid(squid.conf)ubicamosladiretivahttp_port8080(ahies
dondeseconfiguraelsquidparaqueescuchepeticionesdeconexinporelpuertoquele
indiquemos,pordefectoesepuertoesel3128peroyolecoloquel8080)yalladodejandoun
espaioescribimostransparent:
http_port8080(antes)
http_port8080transparent(despus)
ParaqueseapliqueelcambiodebedetenereiniciarSquid.
DespusmetemoselsiguientecomandoparaqueelRouterfirewallredirijatodoelflujodetrfico
webalpuertodeescuchadelservidorproxyparaqueasseapliquentodaslasACLsquehemos
configurado:
_#iptablestnatAPREROUTINGieth1ptcpdport80jREDIRECTtoport8080
Recordemosquelainterfacederedeth1eslaquerecibeeltrficodelaredLANyeth0
proporcionalasalidaaInternet.
Elsiguientegrfico(figura26)explicardeformasomeracomopasaeltrficodelaLAN
haciaInternetpormediodelRouterProxy:
Internet
RouterProxyLinux
8080
Proxy
eth1
LAN
eth0
Firewall
Figura26.Delladodeeth1
seencuentralaredLANy
delladodeeth0seencuentra
elenlacehaciaInternet.
TrficoWeb(todoloquesalgaporhttp,https,etc)
Trficodecorreo(protocolosPOP3,SMTP,IMAP,clientesdecorreo)
Trficodecmaraswebdeclientesdemensajera(aMsn)
Elsiguientegrfico(figura27)muestraelflujodetrficodelservidorproxyconfigurado
comotransparente:
Internet
RouterProxyLinux
8080
Proxy
TrficoWeb(todoloquesalgaporhttp,https,etc)
Trficodecorreo(protocolosPOP3,SMTP,IMAP,clientesdecorreo)
Trficodecmaraswebdeclientesdemensajera(aMsn)