{"id":498,"date":"2010-11-08T14:32:45","date_gmt":"2010-11-08T20:32:45","guid":{"rendered":"http:\/\/www.lastdragon.net\/?p=498"},"modified":"2010-11-09T00:32:52","modified_gmt":"2010-11-09T06:32:52","slug":"proxy-con-filtro-de-contenido-squid-con-squidguard","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=498","title":{"rendered":"Proxy con filtro de contenido ( Squid con SquidGuard )"},"content":{"rendered":"<p>Los 2 archivos claves aqui son squid.conf y squidguard.conf<\/p>\n<p>squid.conf que en la distros basadas en redhat si se instalo con un RPM estara en \/etc\/squid, aunque igual puedes compilarte tu squid&#8230;.<\/p>\n<p>la configuracion en el squid.conf sera muy basica es una simple lista de acceso de que ip podra accesar&#8230;. darle la opcion de ser un proxy transparente y un programa que devolvera 0 y 1 para decidir si abre o no la pagina web&#8230; en este caso sera un programa secundario el que hara el filtrado&#8230;. como el programa hara el filtrado, se permite todo&#8230;..<\/p>\n<p>le indicamos la ruta donde queremos que haga un cacheado de navegacion para acelerar la navegacion de internet y la cantidad de espacio que reservamos para el cachado&#8230;.luego se le dice que reserve 1.5 GB de ram para cachado ram de forma que sea mas rapido que consultar en el disco duro las paginas frecuentes&#8230;. teniendo en cuenta que el equipo tiene 2GB de ram&#8230; dejamos 512 MB para el sistema operativo y el resto para el proxy&#8230; asumiendo que sera un servidor dedicado exclusivamente a proxy, la siguiente linea indica cual es el nombre del host en el que esta y deberia considir con lo que ronponde el comando hostname en la consola&#8230; y por ultimo un lugar y archivo para almacenar los logs para la auditoria de lo que visitan los usuarios, ese log se puede auditar con sarg o webalizer entre otros.<\/p>\n<p>acl all src 192.168.1.0\/255.255.255.0<\/p>\n<p>http_port 3128 transparent<\/p>\n<p>redirect_program \/usr\/squidguard\/bin\/squidGuard -c \/usr\/squidguard\/etc\/squidguard.conf<br \/>\nredirect_children 5<\/p>\n<p>http_access allow all<\/p>\n<p>cache_dir ufs \/var\/spool\/squid 10000 16 256<br \/>\ncache_mem  1512 MB<br \/>\nvisible_hostname proxylastdragon.com<br \/>\naccess_log \/var\/log\/squid\/access.log squid<\/p>\n<p>El squidguard se controla con el archivo squidguard.conf, no es de ley pero fue el nombre que le di en redirec_program en el squid.conf<\/p>\n<p>El archivo tiene 4 niveles<\/p>\n<p>las primeras lineas en el caso del ejemplo 2, son la cabecera indican donde esta el home del squidguard y donde almacenara sus logs<\/p>\n<p>le sigue el bloque de fuente o clientes, que pueden ser usuarios, ips o subredes o redes completas ip, en este ejemplo opte por ip por cada cliente<\/p>\n<p>el siguiente bloque son los destinos, es decir a sitios a los que terminaran las conexiones, un simple all es todo abierto, como podria ser engorroso y complicado configurar todo dentro del mismo archivo se le pone, el nombre de un archivo externo donde estara la lista de url, dominios y frases que con las que se quiere trabajar&#8230;. estas frases solo pueden ser permitidas o no permitas, pero se ve en el siguiente bloque&#8230;.<\/p>\n<p>El siguiente bloque son las listas de acceso&#8230;<\/p>\n<p>son la combinacion de la fuente con el destino y si esta permitido o no, anteponiendo un admiracion ! en el destino se niega, sin la admiracion se permite<\/p>\n<p>los permisos se leen de izquierda a derecha&#8230; por lo que si lo primero que dice es ALL y el siguiente es un !nomessenger suponiendo que tenemos un destino llamado nomessenger y que lo queremos bloquear, este no se va a bloquear por que primero estaba el all y desde ahi ya lo permitimos&#8230;.en la lista de acceso tambien esta una linea de redireccion, que pagina web abrir en caso de un acceso denegado, el squidguard.conf maneja variables pero no las veremos aqui&#8230; con esas variables y rediriguiendolo a un archivo php podemos ademas de mostrarle un acceso denegado al cliente, con programacion en php enviarle un correo al administrador o a nosotros diciendo quien y que pagina prohibida se intento abrir.<\/p>\n<p>En las listas de acceso hay variables especiales por ejemplo in-addr que significa manejar ip. si se le antepone un admiracion, obvio seria negar de forma que !in-addr  significa, acceso denegado a cualquier sitio con ip por ejemplo http:\/\/200.200.1.1\/musica.mp3<\/p>\n<p>\u00bfPara que puede servir? por lo general las redes P2P como kazaa, ares y un largo ETC, incluidos el skype. se llaman entre si por ips no por hostname, basicamente un !in-addr  desactiva cualquier posibilidad de interaccion de redes P2P<\/p>\n<p>el archivo squidguard.conf.<\/p>\n<p>dbhome \/usr\/squidguard\/etc<br \/>\nlogdir \/var\/log\/squid\/squidg<\/p>\n<p>source inetlibre {<\/p>\n<p>}<\/p>\n<p>source basico {<\/p>\n<p>ip 192.168.1.82<\/p>\n<p>}<\/p>\n<p>destination porno {<br \/>\n\tdomainlist porn\/domains<br \/>\n        urllist porn\/urls<br \/>\n        expressionlist porn\/expressions<\/p>\n<p>}<\/p>\n<p>destination lnegra {<br \/>\n        domainlist listanegra.destdomainlist<\/p>\n<p>}<\/p>\n<p>destination accesototal {<br \/>\n\turllist\t\taccesototal.desturllist<br \/>\n}<\/p>\n<p>acl {<br \/>\n\tinetlibre {<br \/>\n\t\t pass accesototal<br \/>\n\t}<\/p>\n<p>\tbasico {<br \/>\n\t\tpass !porno !lnegra !in-addr accesototal<br \/>\n\t\tredirect http:\/\/localhost\/index.html<br \/>\n\t}<\/p>\n<p>\tdefault {<br \/>\n\t\tpass none<br \/>\n\t\tredirect http:\/\/localhost\/index.html<br \/>\n        }<\/p>\n<p>}<\/p>\n<p>Video manual<\/p>\n<p><object width=\"480\" height=\"385\"><param name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/ZuYhgHFNj6s?fs=1&amp;hl=es_MX\"><\/param><param name=\"allowFullScreen\" value=\"true\"><\/param><param name=\"allowscriptaccess\" value=\"always\"><\/param><embed src=\"http:\/\/www.youtube.com\/v\/ZuYhgHFNj6s?fs=1&amp;hl=es_MX\" type=\"application\/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"480\" height=\"385\"><\/embed><\/object><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los 2 archivos claves aqui son squid.conf y squidguard.conf squid.conf que en la distros basadas en redhat si se instalo con un RPM estara en \/etc\/squid, aunque igual puedes compilarte tu squid&#8230;. la configuracion en el squid.conf sera muy basica es una simple lista de acceso de que ip podra accesar&#8230;. darle la opcion de&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-498","post","type-post","status-publish","format-standard","hentry","category-consultoria-y-manuales"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/498","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=498"}],"version-history":[{"count":0,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/498\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=498"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=498"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=498"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}