manual servidor

Upload: leo-campos

Post on 07-Jul-2015

57 views

Category:

Documents


0 download

TRANSCRIPT

InstalacinyconfiguradeservidorProxy BasadoenSquid

AlbertoMiguelMoreno LeonardoAugustoCampos JuanMarceloCruzBenavides FlavioRubnCari FabioAlejandroVilca DanielAlejandroVelsquez

LaboratoriodeSistemasOperativosII

Tutor:LusTomasWayar

AnalistaProgrmadorUniversitario UniversidadNacionaldeJujuy

SanSalvadordeJujuy,Agosto2009

InstalacinyConfiguracin deServidorProxy BasadoenSquid

versin1.0 12/08/2009

INDICEndice.............................................................................................................................................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

1

ObjetivosEnsiguientemanualtienecomoobjetivodetallarlospasosprincipalesdecomoinstalaryconfigurar unservidorProxy,basadoenSoftwareLibreUbuntu9.04,quepermitirelaccesoaInternetaotras PC's.EsteservidorpermitirbrindarmayorseguridadalanavegacinporInternet,permitiendoel registrodetodaslasactividadesrealizadasporlosusuarios,laprohibicindeaccesoadistintas pginas,yladistribucinautomticadeIP'salasPC'sclientes. ParacumplirconesteobjetivoseeligicomosolucinlainhalacindelosserviciosSquid3, Apache2,Dansguardian,SargyDHCP3Server.Estetrabajoconsisteenintegrardichas aplicacionesparaofrecerunaccesomascontroladoaInternet.

2

EsquemapropuestoEnelesquemaqueseproponeconsisteenlainstalacindeunservidorProxybasadoen GNU/Linux. EnelservidorLinuxseinstalaraSquidparacumplirlafuncindeProxy,Apacheparaelservicio Web,Sargquerealizaralosreportedenavegacin,Dansguardiancomofiltrodecontenidosweby DHCPcomoproveedordeIP'sallasmaquinaclientes.

RespectoalaseguridadSquid,poseeunmecanismodecontroldecontenidoWebmedianteun esquemadecontroldeacceso(acl).Ademsseproponelautilizacindelosmecanismosque ofreceSquidparaelcontroldeanchodebandadelaccesoaInternet,permitiendoasunmejoruso delosrecursos.

3

SquidSquidesunservidorProxyparaclientesWebquesoportalosprotocolosHTTP,HTTPSyFTP.El mismopermitealmacenarlosobjetosaccedidosporlosdiferentesusuariosenunacachedestinada paraesepropsito,locualposibilitaunaccesomasrpidoaInternet.

InstalacinBuenoahorapasaremosalainstalacindeSquidlacualessencillasoloaplicandounaslneade comandosessuficiente.Valeaclararqtodaslasinstalacionesyconfiguracionesquerealizaremos estemanualserncomoroot #aptcachesearchsquid3 #aptgetinstallsquid3 DeestamanerayatenemosinstaladoaSquidennuestrosistema

ConfiguracinSquidutilizaelficherodeconfiguracinlocalizadoen/etc/squid3/squid.confysepodrutilizarun editordetextosencilloparasuconfiguracin. Entramosa/etc/squid3/squid.confparalaconfiguracin #gedit/etc/squid3/squid.conf 1ParaqueSquidfuncionesdebemoscolocarenladirectivavisible_hostnameelnombredenuestro equipo visble_hostnamelocalhost Remplazamoslocalhostporennombredenuestroequipo visible_hostname 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

ApacheApacheesunservidorWebHTTPdecdigoabiertoparalaplataformasUNIX,Microsoft, Macintoshyotras,queimplementaelprotocoloHTTP/1.1ylanociondelsitioweb,elcualse encargaderesolverlaspeticinesedepaginasdeInternetdeloscliente.5

InstalacinParalainstilacindeApacherealizamoslosiguiente(usaremosApache2) #aptcachesearchapache2 #aptgetinstallapache2 YasyatenemosinstaladonuestroservidorWeb.

DansguardianDansguardianesunfiltrodecontenidosdesitiosWebmuypotentequetrabajaconjuntamentecon elservidorProxySquid,DansguardiansesitaoactaentreelnavegadorclienteyelProxy interceptandoymodificandolacomunicacinentreambos.Deestaformafacilitalatareadefiltrado paginasvisitadasporelusuariodesdeelequipocliente.Alinstalarelpaquetelaconfiguracinpor defecto,limitalasvisitaslapaginaparamenoresdeedad,tambindisponearchivosde configuracinparallevaracabounaconfiguracinmaspersonalizada.

InstalacinParalainstilacindeDansguardianrealizaremoslosiguiente #aptgetsearchdansguardia #aptgetinstalldansguardian Deestamaneratenemosinstaladoeldansguardian.

ConfiguracinDansguardianutilizacomoficherodeconfiguracinlocalizadoen /etc/dansguardian/dansguardian.conf,elcualmodificaremosconuneditordetexto. Abrimos/etc/dansguardian/dansguardian.confparalacorrespondienteconfiguracin #gedit/etc/dansguardian/dansguardian.conf 1EstablecemoslalneaquecontieneladirectivaUNCONFIGUREDcomouncomentario,para estoagregamosalprincipiodelalneaun# UNCONFIGUREDPleaseremovethislineafterconfiguration #UNCONFIGUREDPleaseremovethislineafterconfiguration6

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.

SargSarg(SquidAnalisysReportGenetator),esungeneradordereportesparaSquidelcualnos permitirobtenerlosreportesdenavegacindenuestrared,recortndonoslossitiosvisitadospor usuarios.

InstalacinParalainstalacindeSargharemoslosiguiente #aptgetsearchsarg #aptgetinstallsarg DeestamaneratenemosinstaladoSarg,listoparasuconfiguracinparagenerarlosreporte.7

ConfiguracinLaconfiguracindeSargessencillasolohayqmodificarlossiguienteslneas. 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

8

7Configuramosaquehorarealizaralosreportesdelda,paraelloabrimosconeleditordetexto /etc/crontab #gedit/etc/crontab 8Deestamaneramostraralosiguiente,alocualagregaremoslasiguientelnea'50***root sarg' #mhdommondowuser 17* 256 476 526 command

*** rootcd/&&runpartsreport/etc/cron.hourly *** root **7 root 1** root testx/usr/sbin/anacron||(cd/&&runpartsreport/etc/cron.daily) testx/usr/sbin/anacron||(cd/&&runpartsreport/etc/cron.weekly) testx/usr/sbin/anacron||(cd/&&runpartsreport/etc/cron.monthly) sarg

50*** root #

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.

DNSDNS(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. 9

InstalacinParalaintalacionrealizaremoslosiguiente. #aptcahesearchbin9 #aptgetinstallbin9 DeestamenerainstalamosnuestroservidorDNS

DHCPDHCP(DynamicHostConfigurationProtocol)esunservidorqueproveedireccionesIPelcual identificanicamenteacomputadorasdenuestraredparaasasignarlesunIP,siendoasobtenida automticamentedichasinlanecesidaddequeseaconfiguradaparalamaquinacliente,estofacilita laconexindelosusuariosquedeseenestarennuestrared,dichasmaquinassonconectadasael servidorDHCP.

InstalacinPararealizalainstalacindenuestroservidorDHCPejecutamoslasiguienteslneas. #aptcacheserachdhcp3server #aptgetinstalldhcp3server DeestamaneratenemosinstaladoDHCPennuestracomputadora

ConfiguracinLaconfiguracindeDHCPlarealizaremossobrelosarchivosdhcp3serverydhcp.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

IptablesIptablesesunconjuntodeherramientas(comandos)quelepermitenalusuarioenviarmensajesal kernel.ElkerneltienetodoelmanejodepaquetesTCP/IPdentrodel,noesalgoapartecomoloes enotrossistemasoperativos,porlotantotodoslospaquetesquevandestinadosaunLinuxolo atraviesan,sonmanejadosporelmismokernel,elcualmanejacadapaquetedered,locualnos permite(atravsdeiptables)decirlealkernelqudebehacerconcadaunodelospaquetes. Entonces,iptablesesunaformadeindicarlealkernelalgunascosasquedebehacerconcada paquete,estosehaceenbasealascaractersticasdeunpaqueteenparticular.Porlotanto,sepuede deciriptablesesunconjuntodecomandosquepermitendecirlealkernelquhacerconciertos paquetesquecumplanconciertascaractersticas.

ConfiguracinRealizaremoslaconfiguracindelaiptablesparaelpreroutingyelpostrouting. 1Ejecutamoslasiguiente,queserefierealpreroutingelcualserefiereaquetodoloqueentrepor eth0condestinoalpuerto80loenviealpuerto8080 #iptablestnatAPREROUTINGieth0s!192.168.0.1ptcpdport80jDNATto 192.168.0.49:8080 2Luegorealizamosladelpostrouting,esteseencargaradeenmascarartodaslasip'sdelas maquinasclientesponiendoleselnumerodeipdenuestroservidorparaqpuedansalirainternet #iptablestnatAPOSTROUTINGs!198.168.0.1oeth0jMASQUERADE DeestamaneraFinalizamosconlaconfiguracinbsicadeunServidorProxy.

12

AGRADECIMIENTOSElgrupoquerealizoestetrabajoagradecealSr.LusTomasWayar,portodalaayuday conocimientobrindado,loquehizoposiblelafinalizacindeestetrabajo,elcualfueunamuy buenaexperiencia,tantogrupalcomoindividual.Elgrupoadquiriconocimientocomotambinla experienciadecomosetrabajaenlavidareal,enfrentandoproblemasysolucionndoloscontotal eficacia.

13