EliasRobl Buenas tardes, acá Elías Robles desde Santo Domingo
ismak hola ELias
ismak Comenzamnos?
Raimondi Buenas tardes Eloa ;)
EliasRobl El tema de esta noche ( para ustedes ) es acera de como   lograr filtrar contenido http a partir de squidGuard
ismak La proxima charla es "Content filtering using SquidGuard"
ismak a cargo de Daniel Eli'as Robles
ismak Security Admin, Linux Evangelist, Leader of Linux
ismak SIn mas vamos a "leer" esta interesante charla
EliasRobl Estaré haciendo copy paste desde un texto que he preparado,   por lo que luego de cada párrafo habrá una pausa para cualquier pregunta, si   acaso el protocolo es diferente el moderador me lo hará saber
ismak Os recordmos que las preguntas se realizan en #qc y la   traduccion en redes
EliasRobl Por favor de confirmar el protocolo a seguir
ismak FOr the people taht doesnt understand Spanish, the traslatios is   in #redes
EliasRobl Uno de los mayores retos que como administradores   enfrentamos es el de que nuestros usuarios hagan las cosas que están supuestas   a hacer y no más, por lo menos tenerlos tan en control como sea posible.
EliasRobl En particular uno de los recursos más abusados y   conflictivos es el de acceso a Internet, o como bien se conoce navegar.
EliasRobl A fin de eficientizar el uso de tan apreciado recurso, ancho   de banda, se implementar lo que se conoce como aceleradores o cache http, que   en pocos palabras toman nuestra petición de alguna página, la almacenan en   disco o memoria para así servirlas localmente y no tener que generar otra   solicitud al servidor de web remoto, disminuyendo así el uso de la conexión y   entregando una respuesta mucho más rápida.
EliasRobl Aunque las virtudes de los http cache son conocidas, siendo   uno de los más famosos squid, no representan la solución a todos los   requerimientos que se presentan en un red corporativa, es especial atención lo   amigable de la administración  y la capacidad de reaccionar en función a   ciertas características del url solicitado.
EliasRobl Aunque la experiencia se comenta más a nivel corporativo (   por las dimensiones y políticas) bien que para pequeñas redes y uso casero se   pueden lograr resultados similares con la configuración propuesta
EliasRobl En el mundo unix el http cache mas utilizado es squid, y se   supone un conocimiento y manejo de squid para este tema
EliasRobl En este caso vamos a considerar el caso del redirector más   usado para squid, que se llama squidGuard, que junto con las funciones de   redirección permite también filtrar y crear listas de acceso basadas en   direcciones de origen
EliasRobl Con squidGuard podemos
root hola DANIEL
EliasRobl ·Limitar el acceso al web para algunos usuarios basados en   ciertos dominios o lugares establecidos.
EliasRobl ·Bloquear el acceso a ciertos lugares definidos, los cuales   se les llama blacklists ( listas negras )
EliasRobl Como pueden ver en los dos puntos anteriores es posible   limitar el acceso a tan solo ciertos lugares o por el contrario negar el   acceso a ciertos lugares
EliasRobl En el caso de cuando se niega el acceso se les llama   blacklists y estas listas de direcciones bien pueden ser recopiladas por un   robot o manualmente
EliasRobl Los blacklists se pueden obtener de diversas fuentes, e   individuos e instituciones la proveen grátis
EliasRobl ·Bloquear el acceso a ciertos lugares URLs que contengan   ciertas expresiones, ya sea para todos los usuarios o para una parte de estos.
EliasRobl Mientras en los casos anteriores teníamos listas badas en   nombres de dominios o direcciones, ahora podemos crear expresiones regulares   que nos evalúen la existencia de ciertos strings dentro del url
EliasRobl Esta funcionalidad es muy importante, pues si queremos   restringir que ciertos usuarios no tengan acceso a lugares donde se bajen   archivos mp3 solo tenemos que indicar en un expresion regular que se verifique   la existencia de .mp3 y negar su acceso en los acl
EliasRobl Muchas veces los usuarios gustan saber las direcciones ip de   lugares prohibidos y tienden a violar las restricciones indicando la dirección   ip en vez del fqdn, pero squidguard tiene una función que puede restringir   esta práctica, de manera que se refuerze el uso de nombres de dominios en vez   de direcciones ip
EliasRobl ·Redireccionar las páginas bloquedas hacia un CGI   inteligente que provee un formulario de registro para estos eventos
EliasRobl Muchos archivos son utilizados con frecuencia por los   usuarios de la red, por lo que pudiéramos decir que siempre que alguien busque   winzip.exe sea dirigido a una copia local y así evitar una transferencia   considerable de información
EliasRobl ·Se puede hacer desaparecer los gráficos de los banners   GIF, se imaginan que gran cosa poder eliminar por siempre el anuncio de la   camarita y los molestosos anuncios de doubleclick?
EliasRobl ·Listas de acceso personalizadas basadas en la hora del   día, día de la semana, fecha, etc.
EliasRobl ·Reglas diferentes para cada grupo en particular
EliasRobl ·Mucho, mucho más
EliasRobl Cuando se compara la combinación squid/squidguard con otras   soluciones de Windows es posible lograr la autenticación basada en nombre de   usuario y no tan solo en dirección. Para esto es necesario utilizar unos   helpers en squid, pero traigo esto a colación porque de manera concreta   squidguard crea sus listas de acceso basadas en las direcciones ip de origen
EliasRobl Luego de esta breve introducción me gustaría pasar al canal   de preguntas para dar la oportunidad a algún participante que quisiera saber   algo de lo hasta ahora tratado
EliasRobl Si este no es el protocolo, por favor me lo informa
roger una pregunta: cuanto mas recursos consume la   instalacion/implementacion de squidguard al servidor que proxea ?
EliasRobl Como dije anteriormente, squidGuard es un proceso hijo de   squid, quien por inicia tantos subprocesos como se le indique, en este caso 4   es lo recomendado
EliasRobl Bueno, una de los puntos fuertes de squidGuard es que   utiliza bases de datos de las berkeley, lo cual permite manejar una buena   canidad de record con un minimo de uso de recursos, para esto entremos en la   proxima sección, la de configuración, para poder ver esto con unpoco más de   claridad
EliasRobl Instalando squidGuard
EliasRobl Lamentablemente no he visto distribuciones binarias de este   paquete, pero si alguien quisiera hacerlo y ponerlo a la disposición del grupo   sería de mucha ayuda, por lo que el procedimiento más común se basa en un   archivo *.tar
EliasRobl ** aunque soy amante de los paquetes tipo rpm, recomiendo   que se adquiera primero destreza en la instalación de paquetes a partir de los   fuentes para entonces aprovechar las facilidades de instalación de las   diferentes distribuciones
EliasRobl El procedimiento es bastante claro, por lo que solo   comentaré los aspectos más importantes para que en su momento no tropiecen con   la misma piedra.
EliasRobl Copiar el archico *.tar un directorio y desde allí ejecutar   la descompresión, entonces procedemos al clasico ./configure;make, etc, Pero   antes estas recomedaciones
EliasRobl Crear la estructura de directorios en /usr/local
EliasRobl Los diretorios son /usr/local/squidGuard
EliasRobl Los diretorios son /usr/local/squidGuard/db
EliasRobl y /usr/local/squidGuard/log
EliasRobl Todos estos directorios deben tener permiso de lectura y   escritura por el mismo usuario con que corre squid, recuerden que squidGuard   en un child de squid
EliasRobl Deben tener instalado una base de datos Berkeley DB 2.x
EliasRobl make
EliasRobl make install
EliasRobl Con esto se copiaran el binario en /usr/local/bin
EliasRobl Ahora necesitamos decirle a squid que va a usar a squidGuard   como redirector, al cual habrá de pasar todas las peticiones para su evaluación
EliasRobl redirect_children 4
EliasRobl redirect_program /usr/local/bin/squidGuard -c   /usr/local/squidGuard/squidGuard.conf
EliasRobl Como pueden ver el archivo de configuración es un parámetro   que se le pasa en la linea de redirect_program , por lo que squidGuard.conf   puede estar en cualquier lugar de tu filesyste, siempre que tenga los permisos   adecuados
EliasRobl Yo recomiendo que siempre que se pueda se pongan los   archivos de configuración en /etc/squidGuard, para este y todos los demás   programas, pues así podemos hacer backup a /etc/ sin tener que estar pensando   que existe una configuración en algún lugar remoto
EliasRobl redirect_program /usr/local/bin/squidGuard -c   /usr/local/squidGuard/squidGuard.conf
EliasRobl Eventualemente lo ideal sería -c /etc/squidguard/squidguard.c  onf, para no trotar tanto con las mayúsculas, direcotrios raros y cosas asi
EliasRobl Luego creamos el archivo de configuración   /usr/local/squidGuard/squidGuard.conf, que para fines de prueba podemos hacer   algo como sigue
EliasRobl logdir /usr/local/squidGuard/log
EliasRobl      acl {
EliasRobl  default {
EliasRobl      pass all
EliasRobl  }
EliasRobl      }
EliasRobl    
EliasRobl La primera linea especifica donde residirá el log, que   tambien para fines futuros podemos ponerlo en /var/log
EliasRobl Luego la próxima sección es un acl, que es donde se   especifican las acciones a tomar
EliasRobl Este ejemplo simplmente deja pasar todo, es para fines de   prueba
EliasRobl Si quisieras probar lo contrario solo tienes que poner deny   all, para que nadie pueda navegar
EliasRobl El acl default debe existir siempre
EliasRobl Recuerda dar los permisos necesarios para que el usuario de   squid pueda leer este archivo de configuración
EliasRobl Atención, mucha atención
EliasRobl Cuando existe algún problema de configuración, ya sea en la   formulación del archivo o en los permisos, squidGuard se irá al modo de   emergencia, que en pocas palabras lo deja pasar todo.
EliasRobl Por lo tanto es necesario que siempre que se reinicie squid,   y por consiguiente squidGuard, se haga un tail /usr/local/squidGuard/log/squidG  uard.log para ver que no está en el modo de emergencia, pues de lo contrario   puedes pensar que todo está bien mienstras los usuarios hacen fiesta con la   conexión a Internet
EliasRobl Me gustaría pasar al cana de preguntas para tomar alguna, si   la hay
EliasRobl decía en el canal de preguntas que para que los cambios en   la base de datos apliquen es necesario hacer squid -k reconfigure o   simplemente service squid restart, para que los procesos de squidGuard vuelvan   a crearse y actualizarse las bases de datos
EliasRobl Siempre, siempre, siempre, tail /usr/lcoal/squidGuard/log/squ  idGuard.conf -f para ver el resultado de los cambios
EliasRobl Si dice que está en emergency mode debes revisar el error   que te reporta, que afortunadamente es muy específico
EliasRobl Por otro lado. Vamos a considerar algo más de la   configuración de squid/squidGuard.
EliasRobl ya que en ambos se pueden crear listas de acceso basadas en   direcciones de origen, es mi recomendación que para mejor administración solo   se creen listas en un solo sitio, preferiblemente en squidGuard.conf, y   autorizar a toda nuestra red local a que tenga permiso de navegación, pero los   sources creados en squidGuard entrarán en acción y evaluarán la peticiación
EliasRobl Esto nos evitar tener que hacer cambios en dos lugares,   también tener que corregir errores en dos lugares
EliasRobl Esto se hace regularmente usando la sentencia http_access   allow all en squid.conf
EliasRobl Con tan solo este cambio ya nos podemos olvidar para siempre   de squid.conf y dedicarnos a ser maestros de squidGuard.conf
EliasRobl veamos como se crean las listas negras
EliasRobl Si alguien ha tratado de usar un módulo para webmin, las   listas negras no funcionan correctamente, hay que manejarlas manualmente
EliasRobl dbhome /usr/local/squidGuard/db
EliasRobl para especificar donde estarán las tablas
EliasRobl copiamos en /usr/local/squidGuard/db http://ftp.teledanmark.n  o/pub/www/proxy/squidGuard/contrib/blacklists.tar.gz
EliasRobl Que es la última colección de listas negras
EliasRobl como ya se imagina tar zxvf blacklists.tar.gz y tendremos la   estructura de /usr/local/squidGuard/db/blacklists con todos los archivos
EliasRobl Editamos /usr/local/squidGuard/squidGuard.conf para   especificar las listas negras
EliasRobl Creemos una entrada de destino para los sitios de porn
EliasRobl destination bl_porn {
EliasRobl domainlist blacklists/porn/domains
EliasRobl urllist    blacklists/porn/urls
EliasRobl expressionlist    blacklists/porn/expressions
EliasRobl }
EliasRobl Y así para todas las que nos interesen
EliasRobl Tomen tiempo y vean el contenido de estos archivos
EliasRobl Luego consideremos como crear listar de direcciones de origen
EliasRobl source infosec {
EliasRobl ip 192.168.0.0/24
EliasRobl ip 192.168.1.1-192.168.1.20
EliasRobl }
EliasRobl Siempre tener en cuenta las llaves al inicio y final de cada   declaración
EliasRobl Como medida de seguridad hacemos que el default acl se deny   all
EliasRobl y creamos un acl para el source infosec
EliasRobl acl {
EliasRobl infosec {
EliasRobl pass ! bl_porn all
EliasRobl }
EliasRobl default {
EliasRobl pass none
EliasRobl }
EliasRobl Con esto básicamente tenemos controlado el acceso a porn en   todos los usuarios de infosec
EliasRobl Con esto ya hemos creado un archivo de configuración   bastante sencillo, conteniendo los elementos básicos para nuestro ejemplo
EliasRobl Una seccion de direcciones de origen source {}
EliasRobl Una seccion de lugares a evaluar destination {}
EliasRobl Una accion a tomar acl { infosec { pass ! bl_porn } default   { pass none }}
EliasRobl La idea es que squidguard nos provee una forma sencilla de   evaluar cientos de miles de condiciones los lugares de destino de nuestros   usuarios
EliasRobl Todo este potencial se puede expandir muchísimo si junto con   squid utilizamos algun sistema de autorización de usuarios, para que estos   tengan que poner sus credenciales para tener acceso
EliasRobl Solo piensen en los congestinamientos que suceden cuando   algun genio de la red decide compartir su 'máquina con kaaza para que medio   mundo baje películas y canciones. No hay ancho de banda que valga
EliasRobl El tiempo que se puede recuperar limitando a las personas a   que no usen messenger
EliasRobl poder redireccionar ciertas peticiones a copias locales para   mayor rapidez
EliasRobl Tengo ya varios años utilizando esta combinación y realmente   me siento muy satisfecho, lo he implementado en varias redes de cientos de   usuarios y me funciona perfectamente
EliasRobl El reto acá es entender estos conceptos, que son los mismos   sin importar que tipo de interface tengas
EliasRobl Bien, ahora me gustaría que hicieran preguntas
EliasRobl Otras notas en lo que alguien escribe
EliasRobl en la sección de acl el valor por defecto es pass all, de   manera que aunque no lo escribas todo pasara, dependiendo del contenido   despues de la expresión pass
EliasRobl si squidguard es un redirector, ¿puede aplicarse un proceso   filtrado para la deteccion de virus en las descargas, como con "virulator"?
EliasRobl En el otro canal alguien pregunto:
EliasRobl La respuesta a esto es que no, ya que squidGuard no evalúa   el contenido de los archivos, solo la sentencia que pasa el browser
EliasRobl Es deci, el url
EliasRobl Bueno señores, creo que se me ha agotado el tiempo. Espero   que esta introducción les haya sido útil
ismak muy interesante!!!!
ismak plas plas plas plas plas
ismak plas plas plas plas plas
ismak plas plas plas plas plas
ismak plas plas plas plas plas
ismak plas plas plas plas plas
ismak muchas gracias por la conferencia Elias
ismak y podemos continuar con las preguntas en qc, si alguien quiere   aclarar ideas
EliasRobl Como les dije anteriormente tengo un pequeño foro de   sysadmins al cual pueden subscribirse , si desean,
EliasRobl mailto:linuxsd-subscribe@yahoogroups.com
EliasRobl Bueno, gracias a ustedes por la oportunidad, grata   experiencia esta la de compartir
Ston plas plas plas plas plas plas plas plas plas plas
EliasRobl Manana estare hablando sobre filtrado de paquetes usando   iptables
roger plas plas plas
jaikercit g
roger muy bien elias
jaikercit gracias
Ston xD
EliasRobl Con esta me despido
EliasRobl "Porque de tal manera amó Dios al mundo, que ha dado a su   Hijo unigénito, para que todo aquel que en él cree, no se pierda, mas tenga   vida eterna"
EliasRobl  
EliasRobl Juan 3:16
ismak plas plas plas plas plas
ismak plas plas plas plas plas
ismak plas plas plas plas plas
ismak plas plas plas plas plas
Ston for(;;) { printf("plas ");
Ston }

Generated by irclog2html.pl 2.1 by Jeff Waugh - find it at freshmeat.net!