Sei sulla pagina 1di 15

InstalacinyconfiguradeservidorProxy

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

Potrebbero piacerti anche