Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
BasadoenSquid
AlbertoMiguelMoreno
LeonardoAugustoCampos
JuanMarceloCruzBenavides
FlavioRubnCari
FabioAlejandroVilca
DanielAlejandroVelsquez
LaboratoriodeSistemasOperativosII
Tutor:LusTomasWayar
AnalistaProgrmadorUniversitario
UniversidadNacionaldeJujuy
SanSalvadordeJujuy,Agosto2009
InstalacinyConfiguracin
deServidorProxy
BasadoenSquid
versin1.0
12/08/2009
INDICE
ndice.............................................................................................................................................1
Objetivos.......................................................................................................................................2
Esquemapropuesto.......................................................................................................................3
Squid.............................................................................................................................................4
Instalacin...........................................................................................................................4
Configuracin.....................................................................................................................4
Apache..........................................................................................................................................5
Instalacin...........................................................................................................................6
Dansguardian................................................................................................................................6
Instalacin...........................................................................................................................6
Configuracin.....................................................................................................................6
Sarg...............................................................................................................................................7
Instalacin...........................................................................................................................7
Configuracin.....................................................................................................................8
DNS..............................................................................................................................................9
Instalacin..........................................................................................................................10
DHCP...........................................................................................................................................10
Instalacin..........................................................................................................................10
Configuracin....................................................................................................................10
Iptables.........................................................................................................................................12
Configuracin.,,,................................................................................................................12
Agradecimientos..........................................................................................................................13
Objetivos
Ensiguientemanualtienecomoobjetivodetallarlospasosprincipalesdecomoinstalaryconfigurar
unservidorProxy,basadoenSoftwareLibreUbuntu9.04,quepermitirelaccesoaInternetaotras
PC's.EsteservidorpermitirbrindarmayorseguridadalanavegacinporInternet,permitiendoel
registrodetodaslasactividadesrealizadasporlosusuarios,laprohibicindeaccesoadistintas
pginas,yladistribucinautomticadeIP'salasPC'sclientes.
ParacumplirconesteobjetivoseeligicomosolucinlainhalacindelosserviciosSquid3,
Apache2,Dansguardian,SargyDHCP3Server.Estetrabajoconsisteenintegrardichas
aplicacionesparaofrecerunaccesomascontroladoaInternet.
Esquemapropuesto
EnelesquemaqueseproponeconsisteenlainstalacindeunservidorProxybasadoen
GNU/Linux.
EnelservidorLinuxseinstalaraSquidparacumplirlafuncindeProxy,Apacheparaelservicio
Web,Sargquerealizaralosreportedenavegacin,Dansguardiancomofiltrodecontenidosweby
DHCPcomoproveedordeIP'sallasmaquinaclientes.
RespectoalaseguridadSquid,poseeunmecanismodecontroldecontenidoWebmedianteun
esquemadecontroldeacceso(acl).Ademsseproponelautilizacindelosmecanismosque
ofreceSquidparaelcontroldeanchodebandadelaccesoaInternet,permitiendoasunmejoruso
delosrecursos.
Squid
SquidesunservidorProxyparaclientesWebquesoportalosprotocolosHTTP,HTTPSyFTP.El
mismopermitealmacenarlosobjetosaccedidosporlosdiferentesusuariosenunacachedestinada
paraesepropsito,locualposibilitaunaccesomasrpidoaInternet.
Instalacin
BuenoahorapasaremosalainstalacindeSquidlacualessencillasoloaplicandounaslneade
comandosessuficiente.Valeaclararqtodaslasinstalacionesyconfiguracionesquerealizaremos
estemanualserncomoroot
#aptcachesearchsquid3
#aptgetinstallsquid3
DeestamanerayatenemosinstaladoaSquidennuestrosistema
Configuracin
Squidutilizaelficherodeconfiguracinlocalizadoen/etc/squid3/squid.confysepodrutilizarun
editordetextosencilloparasuconfiguracin.
Entramosa/etc/squid3/squid.confparalaconfiguracin
#gedit/etc/squid3/squid.conf
1ParaqueSquidfuncionesdebemoscolocarenladirectivavisible_hostnameelnombredenuestro
equipo
visble_hostnamelocalhost
Remplazamoslocalhostporennombredenuestroequipo
visible_hostname<nombredenuestroequipo>
2LuegoverificaremosqueelpuertodeSquidseaelpredefinidoylohacemostransparentepara
evitarlaconfiguracindelexploradordecadacomputadoracliente.Locualmodificaremosel
http_port3128delasiguientemanera.
http_port3128
http_port192.168.0.1:3128transparent
Nota:noseutilizaraelpuerto8080comoenotrosmanualesquelomencionandebidoaqueeste
puertoserutilizadoparaDansguadian.
4
3Ahoramodificaremoselsiguienteparmetro,elcualseutilizaparaestablecereltamaodecache
eneldiscoduroparaSquid.PordefectoSquidusaunacachede100Mblocualencontraremosla
lneasiguiente:
cache_dirufs/var/spool/squid310016256
Sepuedeincrementareltamaodecachehastadondedeseeeladministrador,mientrasmsgrande
seaelcache,masobjetossealmacenaranensteyporlotantoseutilizaramenosanchodebanda.
Enestecasoledaremos700Mb
cache_dirufs/var/spool/squid370016256
Losnmero16y256significanqueeldirectoriodelcachecontendr16directoriossubordinados
con256nivelescadauno.Noesnecesariolamodificacindeestos.
4Modificaremoselparmetrocache_menelcualestablecelacantidaddememoriaparalosobjetos
detransito,losobjetosfrecuentementeutilizados(Hot)ylosobjetosnegativamentealmacenadosen
cach.Losdatosdeestosobjetossealmacenanenbloquesde4Kb.Esteparmetroespecificaun
limitemximoeneltamaototaldebloquesacomodados,dondelosobjetosdetransitotienen
mayorprioridad.LosobjetivosHotylosnegativamentealmacenadosencachepodrnutilizarla
memorianoutilizadahastasearequerida.PordefectoSquidestablece8Mb.
cache_mem8Mb
loscualespuedensermodificadosdeacuerdoalonecesitado,nosotrosutilizaremos16Mb.
cache_mem16Mb
5Creamosunaclparadansguardiandelasiguientemanera
acldasnguardianscr192.168.0.1
6CerramoseleditorguardandoloscambiosyreiniciamosSquiddelasiguientemanera.
#/etc/init.d/squid3restart
DeestamaneratenemosconfiguradonuestroProxy
Apache
ApacheesunservidorWebHTTPdecdigoabiertoparalaplataformasUNIX,Microsoft,
Macintoshyotras,queimplementaelprotocoloHTTP/1.1ylanociondelsitioweb,elcualse
encargaderesolverlaspeticinesedepaginasdeInternetdeloscliente.
5
Instalacin
ParalainstilacindeApacherealizamoslosiguiente(usaremosApache2)
#aptcachesearchapache2
#aptgetinstallapache2
YasyatenemosinstaladonuestroservidorWeb.
Dansguardian
DansguardianesunfiltrodecontenidosdesitiosWebmuypotentequetrabajaconjuntamentecon
elservidorProxySquid,DansguardiansesitaoactaentreelnavegadorclienteyelProxy
interceptandoymodificandolacomunicacinentreambos.Deestaformafacilitalatareadefiltrado
paginasvisitadasporelusuariodesdeelequipocliente.Alinstalarelpaquetelaconfiguracinpor
defecto,limitalasvisitaslapaginaparamenoresdeedad,tambindisponearchivosde
configuracinparallevaracabounaconfiguracinmaspersonalizada.
Instalacin
ParalainstilacindeDansguardianrealizaremoslosiguiente
#aptgetsearchdansguardia
#aptgetinstalldansguardian
Deestamaneratenemosinstaladoeldansguardian.
Configuracin
Dansguardianutilizacomoficherodeconfiguracinlocalizadoen
/etc/dansguardian/dansguardian.conf,elcualmodificaremosconuneditordetexto.
Abrimos/etc/dansguardian/dansguardian.confparalacorrespondienteconfiguracin
#gedit/etc/dansguardian/dansguardian.conf
1EstablecemoslalneaquecontieneladirectivaUNCONFIGUREDcomouncomentario,para
estoagregamosalprincipiodelalneaun#
UNCONFIGUREDPleaseremovethislineafterconfiguration
#UNCONFIGUREDPleaseremovethislineafterconfiguration
6
2Sinoestamostrabajandoconelantivirusmodificarlalneacorrespondientedesactivandola
opcinycomentarlalneaindicada.
virusscan=on
virusscan=off
virusengine='clamav'
#virusengine='clamav'
3Enlaseccin'NetworkSettings'comprobarqueestnlassiguienteslneas
Filterport=8080
poxyip=192.168.0.1
proxyport=3128
4Modificarelidiomapordefecto,paraestosustituirel'ukenglish'por'spanish'
language='ukenglish'
language='spanish'
5Guardamosloscambios,salimosdeleditoryreiniciamoselservicioDanguardianejecutandola
siguienteorden
#/etc/init.d/dansguardianrestart
Yastenemosconfiguradoadansguardian.
Sarg
Sarg(SquidAnalisysReportGenetator),esungeneradordereportesparaSquidelcualnos
permitirobtenerlosreportesdenavegacindenuestrared,recortndonoslossitiosvisitadospor
usuarios.
Instalacin
ParalainstalacindeSargharemoslosiguiente
#aptgetsearchsarg
#aptgetinstallsarg
DeestamaneratenemosinstaladoSarg,listoparasuconfiguracinparagenerarlosreporte.
7
Configuracin
LaconfiguracindeSargessencillasolohayqmodificarlossiguienteslneas.
Sargutilizacomoficherodeconfiguracinsituadoen/etc/squid/sarg.conf,elcualmodificaremos
coneleditordetexto.
1Abrimos/etc/squid/sarg.confparalaconfiguracin
#gedit/etc/squid/sarg.conf
2Editamoslasiguienteslneas.Lacualessonladeidioma,ellacualremplazaremos'English'por
'Spanish'ylos'access.log'desquidporlos'access.log'dedansguardian.Paraellorelazaremoslo
siguiente
languageSpanish
access_log/var/log/dansguardian/access.log
DespusconfiguramosparaqueloslogsdeDansguardianparaquetenganelformatoSquidpara
queSarglosinterpretesinproblemas,paraellorealizaremoslosiguiente.
4Abrimosyeditamoselfichero/etc/dansguardian/dansguardian.conf
#gedit/etc/dansguardian/dansguardian.conf
5Editamosladirectivalogfileformat.
#logfileformat
#1=dansguardianformat(spacedelimited)
#2=CSVstyleformat
#3=SquidLogFileFormat
#4=Tabdelimited
logfileformat=3
CerramoseleditoryreiniciamosDansguardian
6ParaqnosgeneralapaginaWebconelreportetipearemoslasiguientelnea.
#sarg
7Configuramosaquehorarealizaralosreportesdelda,paraelloabrimosconeleditordetexto
/etc/crontab
#gedit/etc/crontab
8Deestamaneramostraralosiguiente,alocualagregaremoslasiguientelnea'50***root
sarg'
#mhdommondowuser
command
17*
*** rootcd/&&runpartsreport/etc/cron.hourly
256
*** root
testx/usr/sbin/anacron||(cd/&&runpartsreport/etc/cron.daily)
476
**7 root
testx/usr/sbin/anacron||(cd/&&runpartsreport/etc/cron.weekly)
526
1** root
testx/usr/sbin/anacron||(cd/&&runpartsreport/etc/cron.monthly)
50*** root
sarg
Nota:msonlosminutos(059),hlashoras(023),domsonlosdiasdelmes(131),monsonlos
meses(112),dowsonlosdiasdelasemana(17),userusuario(root)ycommandeselcomando
(sarg).*equivaleatodo
DeestamaneraconfiguramosaSargparaqrealiceelreportealos5minitosdelas0horastodoslos
das,todoslosmesesytodoslosdasdelasemana.
9Paraverdichoreporteabrimosunexploradorycolocamos127.0.0.1/saquidreports
Ydeestamaneratenemosconfiguradonuestrogeneradordereportes.
DNS
DNS(DomainNameSystem)SistemadeNombresdeDominioesunservidorquecomotareaes
traducirnombresdedominiodeunadireccinIP.DNSesconjuntodeprotocolosyserviciosparala
identificacin/conversindeunadirecciondeinternetexpresadaenlenguajenaturalporuna
direccinIP.
UnaURL(direccinparaaccederaunapginaweb)estcompuestaporpalabrasseparadaspor
puntos(ej:www.retonet.com.ar),paraaccederalamisma,slosedeberecordarestaspalabras.Esta
direccinURLestasociadaaunnmero(direccinIP)queidentificaelservidorquesehade
contactarparaverla(porej:200.10.123.01).ElservicioDNSseencargadeasociarunadireccin
URLaunadireccinIP.
Instalacin
Paralaintalacionrealizaremoslosiguiente.
#aptcahesearchbin9
#aptgetinstallbin9
DeestamenerainstalamosnuestroservidorDNS
DHCP
DHCP(DynamicHostConfigurationProtocol)esunservidorqueproveedireccionesIPelcual
identificanicamenteacomputadorasdenuestraredparaasasignarlesunIP,siendoasobtenida
automticamentedichasinlanecesidaddequeseaconfiguradaparalamaquinacliente,estofacilita
laconexindelosusuariosquedeseenestarennuestrared,dichasmaquinassonconectadasael
servidorDHCP.
Instalacin
PararealizalainstalacindenuestroservidorDHCPejecutamoslasiguienteslneas.
#aptcacheserachdhcp3server
#aptgetinstalldhcp3server
DeestamaneratenemosinstaladoDHCPennuestracomputadora
Configuracin
LaconfiguracindeDHCPlarealizaremossobrelosarchivosdhcp3serverydhcp.conf
1Configuraremosdhcp3serverelcualestaubicadoen/etc/default/dhcp3serverparaellolo
abrimosconuneditordetexto.
#gedit/etc/default/dhcp3server
2BuscamoslalnealacualdiceINTERFACEyagregamosnuestraplacaderedlacualeseth0
INTERFACE='eth0'
Cerramosguardandoloscambios.
10
3Configuramoslasinterfacesdelared.Paraelloabrimoselarchivo/etc/network/interfacesconel
editordetexto
#geditetc/network/interfaces
4Reemplazamoslaconfiguracinpordefault,porlasiguiente.
autoeth0
ifaceeth0inetstatic
address192.168.0.1
netmask255.255.255.0
network192.168.0.0
broadcast192.168.0.255
gateway192.168.0.0
Ahoraconfiguraremosdhcp.conf.Estearchivocontendrlaredqueserutilizadaparalaasignacin
deIPyelrangodeIPs,quesepodrnasignarconelservicioDHCP.
5Abrimoselarchivodhcp.confcualestaubicadoen/etc/dhcp3/dhcp.confConeleditordetexto
#gedit/etc/dhcp3/dhcp.conf
6Deshabilitamoslaconfiguracinpordefault.Comentandolassiguienteslneas:
#optiondefinitionscommontoallsupportednetworks...
#optiondomainname"example.org";
#optiondomainnameserversns1.example.org,ns2.example.org;
#defaultleasetime600;
#maxleasetime7200;
7Habilitamoslaslneasquenosservirnyconlascualesdefinimosladireccinderedyelrango
deIPselcualserdelaIP192.168.0.11ala192.168.0.255
#Aslightlydifferentconfigurationforaninternalsubnet.
subnet192.168.0.0netmask255.255.255.0{
range192.168.0.11192.168.0.254;
optiondomainnameservers192.168.0.1;
#optiondomainname"internal.example.org";
optionrouters192.168.0.1;
optionbroadcastaddress192.168.0.255;
defaultleasetime600;
maxleasetime7200;
Cerramosyguardamosloscambios.
11
8ReiniciamosnuestroservidorDHCP
#/etc/init.d/dhcp3server
DeestamaneraconfiguramosnuestroDHCP
Iptables
Iptablesesunconjuntodeherramientas(comandos)quelepermitenalusuarioenviarmensajesal
kernel.ElkerneltienetodoelmanejodepaquetesTCP/IPdentrodel,noesalgoapartecomoloes
enotrossistemasoperativos,porlotantotodoslospaquetesquevandestinadosaunLinuxolo
atraviesan,sonmanejadosporelmismokernel,elcualmanejacadapaquetedered,locualnos
permite(atravsdeiptables)decirlealkernelqudebehacerconcadaunodelospaquetes.
Entonces,iptablesesunaformadeindicarlealkernelalgunascosasquedebehacerconcada
paquete,estosehaceenbasealascaractersticasdeunpaqueteenparticular.Porlotanto,sepuede
deciriptablesesunconjuntodecomandosquepermitendecirlealkernelquhacerconciertos
paquetesquecumplanconciertascaractersticas.
Configuracin
Realizaremoslaconfiguracindelaiptablesparaelpreroutingyelpostrouting.
1Ejecutamoslasiguiente,queserefierealpreroutingelcualserefiereaquetodoloqueentrepor
eth0condestinoalpuerto80loenviealpuerto8080
#iptablestnatAPREROUTINGieth0s!192.168.0.1ptcpdport80jDNATto
192.168.0.49:8080
2Luegorealizamosladelpostrouting,esteseencargaradeenmascarartodaslasip'sdelas
maquinasclientesponiendoleselnumerodeipdenuestroservidorparaqpuedansalirainternet
#iptablestnatAPOSTROUTINGs!198.168.0.1oeth0jMASQUERADE
DeestamaneraFinalizamosconlaconfiguracinbsicadeunServidorProxy.
12
AGRADECIMIENTOS
ElgrupoquerealizoestetrabajoagradecealSr.LusTomasWayar,portodalaayuday
conocimientobrindado,loquehizoposiblelafinalizacindeestetrabajo,elcualfueunamuy
buenaexperiencia,tantogrupalcomoindividual.Elgrupoadquiriconocimientocomotambinla
experienciadecomosetrabajaenlavidareal,enfrentandoproblemasysolucionndoloscontotal
eficacia.
13