Vous êtes sur la page 1sur 6

1

Control Parental con Squid, DansGuardian y SARG Edwind Richzendy Contreras Soto <Richzendy[at]gmail[dot]com> blog: http://www.Richzendy.org *Sustituye el [at] por el simbolo @ y el [dot] por un punto v0.1, 9 de Septiembre del 2007
Este mini HowTo, no pretende ser una guia completa sobre estas 3 herramientas, ya que cada una tiene muchisima tela que cortar, simplemente esta guia relatara la manera de fusionarlas para lograr una funcin en especifico de ellas, debe estar claro que si desea un documento ms detallado o una aplicacin diferente a la tratada ac, debe referirse a otra documentacin ( incluida la documentacin propia de cada una de estas herramientas ), adems debo indicar que se pueden usar otros tipos de proxys y probablemente se obtenga el mismo resultado e incluso estas herramientas no son la unica manera de implementar un filtro de contenido, por ltimo aclaro que no me hago responsable de lo que hagas con tus /dev/hands asi que te recomiendo conectes tu /dev/brain al intentar hacer algo de lo que ac se explica.

Indice Que es un control parental? Que es Squid? Que es DansGuardian? Que es SARG? Escenario Recomendaciones para la instalacin de paquetes Instalacin de Squid Instalacin de DansGuardian Instalacin de SARG Post-Configuracin y uso del Control Parental Personalizacin y mantenimiento de Dansguardian Consideraciones finales Direcciones tiles Copyleft Que es un control parental? Un control parental como su nombre lo indica, literalmente es "control ejercido por los padres", sin embargo ac se ve aplicado directamente a las aplicaciones que pueden permitirle a los padres ejercer control sobre lo que ven sus hijos a travs de Internet, Internet es una tecnologia de muy reciente creacin por lo cual cualquier persona que tenga hijos con edad para usar una computadora probablemente poco conocimiento tenga de que acciones tomar para controlar el uso de este. El Internet es una amplia fuente de conocimiento pero por lo general este se encuentra desatado y sin control y as como encontramos una fuente inmensa de conocimiento, cultura, educacin y noticias, tambien encontramos cosas realmente dainas para un nio, cosas que a su edad probablemente no este preparado para asimilar, tales como: pornografa, sitios violentos, sitios de uso de lenguaje violento y sin moderacin, sitios con imgenes impactantes, sitios con virus, sitios de chat sin moderacin, sitios de pishing y muchas otras cosas ms. Que es Squid? Squid es un programa que sirve de proxy, es decir, hace cache de las pginas visitadas. Al navegar a travs de internet Squid va grabando el contenido de las pginas web que visita ( texto, imgenes, css, etc ...) y lo almacena en el disco duro para que la proxima vez que alguien visite esa pgina, el navegador usara dicha cache y en vez de volverla a descargar desde internet, la ver mucho ms rapido ya que algunas cosas ya las ha descargado y se tienen grabadas en el disco duro. Por lo general Squid se aprovecha mejor como cache para toda una red, en donde hay varios clientes, sin embargo no hay ninguna limitante para que pueda ser usado en un computador personal ( como por ejemplo el que se tratar ac ).

Que es DansGuardian? DansGuardian es un programa que permite hacer un filtrado del contenido que se visita en internet a travs del navegador, este programa en especifico, es uno de los ms completos en su estilo ya que no se basa simplemente en listados de sitios bloqueados, si no que tambin puede evaluar el contenido de algn sitio web basado en palabras claves y expresiones regulares ( incluso de imgenes ), adems su personalizacin y/o configuracin esta basada en archivos de texto plano, lo que facilita enormemente el trabajar con esta herramienta. Que es SARG? SARG es una aplicacin que genera estadisticas en formato html usando como datos los logs de Squid, de toda la navegacin realizada a travs del proxy en un intervalo de tiempo, es una de las herramientas ms completas en ese sentido. Escenario: Tenemos un computador personal en la casa, la cual usa Fedora GNU/Linux como sistema operativo y es usado por varios miembros de la casa (incluidos varios nios y menores de edad ) cada uno con su cuenta de usuario, con acceso a internet, sin embargo no se tiene ningn tipo de supervisin por parte de un adulto en las horas en que navegan los nios y adolescentes. Se desea poder controlar en lo posible lo que ellos pueden ver a travs de internet, a su vez poder tener registro de lo que navegan para posteriormente evaluar en que gastan su tiempo cuando estan usando el computador. Sobre todo se desea que la solucin basada en Squid+DansGuardian+SARG sea segura e infranqueable para que realmente pueda cumplir su cometido, es decir, que el usuario o el grupo de ellos que se planea controlar, no puedan tener manera de saltarse la restriccin impuesta. Recomendaciones para la instalacin de paquetes: Todas las instrucciones de ahora en adelante se harn pensando en que el usuario esta usando fedora como distribucin de GNU/Linux, sin embargo el lector de este how to, podr aplicar todos los pasos a su distribucin propia si conoce su manejador de paquetes y la forma de instalar estos, de todas maneras se harn algunas pequeas referencias para las personas que usan ubuntu o debian, como por ejemplo en vez de usar "yum install" deben usar su equivalente "apt-get install" "aptitude install". A pesar de que en este how to se mayoritariamente la consola de comandos, se recomienda altamente si el lector no es un usuario avanzado o no tiene experiencia con la consola que use el equivalente de herramientas grficas que permiten la mismas funciones, por ejemplo si se es usuario de fedora, use pupplet o yumex para instalar y remover paquetes o si se es usuario de ubuntu o debian use synaptic o gdebi. Si se quiere editar un archivo en vez de usar vim o nano como editores de texto use gedit, kwrite o kate. Instalacin de Squid: Abrir un terminal como root y escribir: [root@andromeda ~]# yum install squid Este comando te instalar la versin ms reciente de Squid disponible en los repositorios de fedora, luego de esto el paquete se encuentra instalado y preconfigurado adecuadamante para el uso que necesitamos, asi que por los momentos no necesitamos editar su archivo de configuracin. Si deseas probar que Squid esta funcionando, solo ejecute el siguiente comando para iniciarlo: [root@andromeda ]# service squid start Nota 1: Si usa ubuntu o debian use el comando: /etc/init.d/squid start Nota 2: Si usas ubuntu,debian o suse debers editar el archivo /etc/squid/squid.conf para agregar la linea visible_hostname y de argumento colocas el nombre de la mquina ( si no sabes cual es, ejecuta el comando hostname ), ejemplo visible_hostname localhost.localdomain Y luego configure su navegador para que navegue a travs del proxy, si usa firefox, ejecute en el men "Editar -> Preferencias y en la ventana que se abre dar click en el botn de "Avanzado", luego en la pestaa de "red" -> Conexin y le da click en el botn "Configuracin", en donde debe seleccionar la opcin "Configuracin manual del proxy"; Donde dice "Proxy HTTP:" coloca la direccin del proxy, que para nosotros sera localhost y el puerto ser el 3128 que es el de defecto de squid, aceptas, cierras y pruebas si puedes navegar normalmente en internet.

Instalacin de DansGuardian: DansGuardian por los momentos an no es parte de los repositorios oficiales de fedora, desconozco los motivos, sin embargo puedes instalarlo via yum si tienes los repositorios de dries configurados ( es la mejor manera si se quiere tener las ltimas actualizaciones del programa ), yo prefiero instalarlo a mano, ya que este paquete no pide ninguna dependencia importante que yo sepa, para instalarlo ejecuta el siguiente comando: [root@andromeda ]# rpm -Uvh http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/fc7/i386/dries/RPMS/dansguardian-2.8.0.61.2.fc7.rf.i386.rpm *Nota 1: Si el link anterior le da error probablemente el link no esta disponible debido a que el paquete cambio de versin, simplemente navegue el repositorio en la siguiente direccin: http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/fc7/i386/dries/RPMS/ y ubique a dansguardian all, luego ejecute el comando rpm -Uvh con dicho link como argumento. *Nota 2: El paquete si se encuentra en los repositorios de ubuntu y de debian, para instalarlo ejecuta "aptitude install dansguardian". Realmente DansGuardian, no ofrece ningn tipo de problema al momento de instalar en Fedora, ni necesita una post-configuracin realmente importante por los momentos, luego de instalar SARG, procederemos a probar todo y a explicar el mantenimiento y post-configuracin que requiere cada una de estas herramientas. Instalacin de SARG: Realmente SARG en su configuracin ms tradicional requiere de un webserver para poder funcionar, sin embargo esto no es obligatorio, ya que se pueden visualizar sus pginas webs directamente de forma local abriendolas desde un browser ( firefox ) como cualquier tipo de archivo, si se desea tener SARG para poder visualizar las estadisticas desde cualquier lado remotamente se debe instalar un webserver y se recomienda para ello lighttpd o thttpd ya que ambos son muy livianos y casi no consumen recursos adems de ser ideales para servir pginas web que estan realizadas enteramente en html. Para instalar SARG, por comodidad usaremos el paquete en formato rpm construido para Fedora Core 6, no hay ningn inconveniente del tipo de vista tecnico que impida dicha accin, sin embargo debido a que SARG no est directamente empaquetado y mantenido por la comunidad de Fedora no tenemos una versin disponible en los repositorios oficiales para Fedora 7, que es la versin actual de Fedora. Sin embargo si desea un paquete ms actualizado y construido especificamente para su arquitectura y versin de Fedora, pueda agarrar el source rpm desde: http://dag.wieers.com/rpm/packages/sarg/sarg-2.2.3-1.rf.src.rpm Y usar rpmbuild para generar su propio rpm, el proceso siguiente es opcional, recuerde que pare efectos de este how to, usaremos el rpm para Fedora Core 6. [root@andromeda ]# rpm -ivh http://dag.wieers.com/rpm/packages/sarg/sarg-2.2.3-1.rf.src.rpm [root@andromeda ]# rpmbuild -ba /usr/src/redhat/SPECS/sarg.spec *Nota: Puede editar el archivo SPEC y cambiar la versin de Fedora y la arquitectura, de ser necesario, tambin debe disponer del paquete rpmbuild ( yum install rpm-build ). Luego instale el rpm que encontrara en algn directorio dentro de /usr/src/redhat/RPMS/ Para instalar SARG ( el rpm de Fedora Core 6 ), simplemente ejecute el siguiente comando: [root@andromeda ]# rpm -ivh http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/fc6/i386/RPMS.dries/sarg2.2.1-1.fc6.rf.i386.rpm Este rpm, viene realmente completo, el comando ejecutable es "sarg", deber ejecutarlo cada vez que desee un reporte al instante, sin embargo sarg en este rpm, contiene algunos archivos para el crontab, los cuales permiten a sarg hacer reportes, diarios, semanales y mensuales de las actividades de proxy.

4
SARG, por los momentos no requiere ningn tipo de post-configuracin, si se desea probar el funcionamiento de SARG, debe anteriormente haber navegado algo usando el proxy Squid, para tener algunos logs generados y ejececutar el siguiente comando: [root@andromeda ]# sarg Luego simplemente colocamos la siguiente direccin en el navegador firefox: /var/www/sarg/ONE-SHOT/ y observaremos un pequeo reporte estadistico generado.

Post-Configuracin y uso del Control Parental Bueno si hemos llegado a este punto sin ningn tipo de problema, ya debemos tener las 3 herramientas instaladas, las cuales no han llevado ningn tipo de configuracin de parte nuestra, esto es debido a que los archivos de configuracin que traen por defecto estas aplicaciones estan realizados para funcionar al menos para un entorno local, como el que planeamos darle ac, si deseamos que por ejemplo SARG nos muestre los reportes en castellano, o DansGuardian nos muestre la pgina de redireccin ( o bloqueo ) en castellano, debemos editar dichos archivos, estos se encuentran en: /etc/squid/squid.conf para Squid /etc/dansguardian/dansguardian.conf para DansGuardian /etc/sarg/sarg.conf para SARG ( en otras distribuciones puede estar en /etc/squid/ ) Una de las cosas a tomar en cuenta en la post-configuracin es la de no dejar el puerto del Squid y el de DansGuardian libres, o visibles desde el exterior ( Internet ), aunque no esten configurados para aceptar peticiones desde all, para evitar esto, debemos agregar las siguientes linea al archivo de configuracin del firewall, que se encuentra en /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -p tcp --dport 3128 -j DROP -A RH-Firewall-1-INPUT -p tcp --dport 8080 -j DROP Nota: Asegurate de colocar dicha linea antes de: -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-hostprohibited COMMIT Si usted no dispone de dicho archivo, generelo con una configuracin minima, con el siguiente utilitario: [root@andromeda ]# system-config-securitylevel Otra cosa a tener en cuenta, es que ahora el puerto para usar el proxy ser el 8080, es decir el puerto del DansGuardian, ya que de esta manera estaremos usando el filtro de contenido, si seguimos usando el puerto 3128 el de defecto de Squid, nos estaremos saltando el filtro de contenido, por lo tanto modifique el puerto del proxy en la configuracin del firefox. As que debemos asegurarnos que los chicos de la casa, no intenten burlar el filtro de contenido al usar squid a travs del puerto 3128 directamente, hay varias maneras de hacerlo, pero para mi, la ms inmediata es evitar que ellos puedan modificar la configuracin del firefox o generar un nuevo perfil de usuario en firefox, para esto, simplemente cambiamos la permisologa y el dueo de dichos archivos: Suponiendo que el usuario se llama fulanito [root@andromeda ]# chown root:root /home/fulanito/.mozilla/firefox

5
[root@andromeda ]# chmod 775 /home/fulanito/.mozilla/firefox El directorio donde se encuentra el perfil de firefox por lo general tiene un nombre aleatoreo, en mi caso: [root@andromeda ]# chown root:root /home/fulanito/.mozilla/firefox/kht9gpwh.default/prefs.js [root@andromeda ]# chmod 775 /home/fulanito/.mozilla/firefox/kht9gpwh.default/prefs.js De esta manera el usuario no podr modificar las configuraciones acerca del proxy, en el navegador firefox. Personalizacin y mantenimiento de Dansguardian Ahora DansGuardian y las dems herramientas se encuentran listas para ser usadas, la configuracin minima de DansGuardian ofrece cierto nivel de proteccin sin embargo a medida que lo estemos usando, nos daremos cuenta que necesita cierta personalizacin, a tal efecto explicaremos un poco como hacerlas. Dansguardian se compone de una serie de archivos de texto, en donde se especifica una serie de parametros que el toma en cuenta para hacer el bloqueo, dichos archivos estan plenamente documentados ( basta con abrirlos y leerlos ) y se encuentran dentro del directorio /etc/dansguardian , entre los cuales tenemos: 1. bannedextensionlist: Este archivo contiene un listado de extensiones de archivos a ser bloqueadas, probablemente usted quiera comentar, las lineas correspondientes a archivos de documentos como .doc, .xls y .ppt 2. bannediplist: Este archivo contiene un listado de direcciones ips a ser evitadas de usar nuestro proxy, debido a que estamos usando el mismo localmente, este archivo no lo utilizaremos 3. bannedmimetypelist: Un truco muy comn para saltarse las restricciones de bannedextensionlist es cambiando las extensiones de los archivos, pero si usamos los Mime Types de los archivos ( la metadata del archivo no cambia asi cambiemos la extensin ), no podrn saltar el filtro, si desea conseguir Mime Types para algn tipo de archivo en especifico revise el archivo /etc/mime.types 4. bannedphraselist: Este archivo mantiene una lista de frases a ser baneadas. 5. bannedregexpurllist: Este archivo es uno de los ms importantes de DansGuardian, ya que permite bloquear sitios basado en expresiones regulares, una de ellas por ejemplo ( que no se encuentra all ) para banear sitios de invite y azar es la siguiente: (poker|casino|kasino|poquer|blackjack) 6. bannedsitelist: Cual direccin ip o dominio que coloquemos aca ser bloqueado inmediatamente ( no es necesario colocar www. http:// ) 7. bannedurllist: En este archivo especificamos url's o direcciones en especifico de un sitio, el cual ser baneado, pero dejando el resto el sitio intacto 8. banneduserlist: Este archivo puede contener un listado de usuarios del proxy baneados, solo es util si tenemos autenticacin de usuarios en el proxy. 9. contentregexplist: Este archivo contiene algunas expresiones regulares ms complejas, pero que no hacen que el sitio sea baneado, si no ms bien reemplazan la expresin encontrada por otra cosa, frase o palabra ( adentro hay un ejemplo interesante para remover pop-ups ). 10. exceptioniplist: Este archivo debe contener un listado de direcciones ips ( de usuarios de una red LAN ), a las cuales el filtro de contenido no afectar, como estamos usandolo localmente, esta funcin no es til. 11. exceptionphraselist: Este archivo debe contener un listado de palabras que si son encontradas en el mismo sitio junto con alguna de bannedphraselist, el sitio no podr ser baneado, por ejemplo si se consigue la palabra sex en el mismo sitio web que education o medical. 12. exceptionsitelist: Ac se especificarn un listado de sitios webs, que no debern ser baneados, probablemente quiera que cualquier sitio .edu .gob no sea bloqueado por el filtro de contenido. 13. exceptionurllist: si se tiene algn sitio baneado completamente, podrs especificar ac un rea en especifico de este, para que pueda ser visualizada ( manteniendo el ban al resto del sitio ). 14. exceptionuserlist: Cualquier usuario que coloques ac no ser afectado por el filtro de contenido. 15. greysitelist: Es muy similar a exceptionsitelist, la unica diferencia es que exceptionsitelist desbanea un sitio por completo, en cambio greysitelist desbanea si el sitio se encuentra bloqueado directamente, pero deja que pueda ser analizado por DansGuardian en sistaxis de contenido. 16. greyurllist: Parecido a greysitelist pero en vez de ser a un sitio completo es a un rea de el, definido por un url. 17. pics: Esto habilita filtraddo de contenido de imgenes basado en sus colores RGB y determinando el nivel de desnudez de la imgen ( en caso de ser una persona ), por razones de rendimiento y que esta funcionabilidad esta considerada an como experimental, desactivarla colocando el valor enablePICS = off 18. weightedphraselist: En este archivo se expecifican las rutas a otros archivos en donde se encuentran listados de palabras y porcentajes de ponderacin de ellas, debido a estos niveles DansGuardian encuentra conveniente banear o no cierta pgina, es decir si se encuentra la palabra sexo en una pgina web, esta no es baneada inmediatamente, debe repetirse cierto numero de veces en dicha pgina para

6
que pueda ocurrir, esto evita que muchos sitios puedan ser baneados accidentalmente, es vlido ir modificando estos valores segn nuestra necesidad a medida que vamos usando el filtro de contenido. Como recomendacin el archivo que ms se usa es el de bannedsitelist, para mantener ordenados los sitios baneados en este archivo se especifican las rutas a otros archivos de texto, los cuales son leidos ( dichos sitios son baneados directamente ), estos archivos pueden ser enriquecidos con tablas de sitios ya establecidas o blacklist ( que otras personas han recopilado ), de esta manera se agiliza el trabajo de DansGuardian, ya que este no tiene que "leer" cada pgina visitada, si no que ya cuenta con algunos listados ya pre-establecidos. Un sitio donde se pueden conseguir estos listados de archivos ( e incluso un script para actualizar el listado automticamente ) o blacklist es: http://urlblacklist.com/?sec=download

Consideraciones finales Podrn haber otras maneras de implementar un filtro de contenido con otros programas, incluso otras maneras de implementarlo con las herramientas ac descritas, si encuentra una mejor, por favor comparta y ayude a mejorar este pequeo manual. Si desea un mejor control de lo que hacen los usuarios de su computador, debera investigar la herramienta sabayon, la cual mezclada con gconf-editor podr ayudarlo a generar perfiles de usuario para gnome, puede conseguir informacin acerca de sabayon en los siguientes links: http://www.gnome.org/projects/sabayon/ http://www.gnome.org/~seth/blog/sabayon Podr encontrar informacin de las cadenas modificables de un perfil de gnome a travs de gconf-editor en: http://www.gnome.org/~bmsmith/gconf-docs/es/index.html No explicamos estas herramientas ac debido a que no es la finalidad de este documento, probablemente me anime a escribir algo sobre estas herramientas en el futuro. Si usted encuentra algn error ortografico, de sintaxis, desea hacer alguna correccin de este manual o simplemente quiere hacer una sugerencia, por favor no dude en comunicarse a mi correo electronico para hacermelo saber. Direcciones tiles: 1. http://www.zensur.freerk.com/index-es.htm#1.1 | Como evitar la censura en Internet 2. http://linsec.ca/bin/view/Main/DansGuardian | Tutorial de DansGuardian en Ingles 3. http://dansguardian.org/downloads/DG2.9.7.1_Squid_Slackware_10.2.pdf | Tutorial en Castellano de DansGuardian en pdf 4. http://dansguardian.org/?page=documentation | Documentacin sobre DansGuardian en el sitio oficial del mismo 5. http://mirrors.evis.net.ph/dansguardian/downloads/detailedinstallation2-spanish.html | Otra guia de DansGuardian en Castellano 6. http://tech.groups.yahoo.com/group/dansguardian/ | Grupo de discusin a travs de lista de correo de DansGuardian 7. http://www.squid-cache.org/ | Sitio oficial de Squid 8. http://bulma.net/impresion.phtml?nIdNoticia=441 | Tutorial sobre Squid en castellano 9. http://www2.idesoft.com/squid/manual.php | Otro Tutorial sobre Squid 10. http://sarg.sourceforge.net/pt-sarg.php | Sitio oficial de SARG 11. http://ferrolmoda.com/ficheros/final/sarg/sarg-0.1-es-ES.pdf | Tutorial sobre SARG en castellano en formato pdf 12. http://www.cantv.net/ciencia/seguridadeninternet/control_parental_info.asp | Control Parental ( Link Informativo ) 13. http://www.el-carabobeno.com/p_pag_not.aspx?art=a120907c07&id=t120907-c07 | Venezuela exige mediante decreto el uso de filtro de contenido en cibers Copyleft:
Puedes copiar parte o todo este tutorial en tu web site o donde quieras con la intencin o fin que mejor te parezca, con tal que dejes el contenido tal cual como esta, si en planeas usar solo alguna parte, por favor en alguna parte menciona el link original de donde se puede descargar este documento para que las personas que lo lean puedan conseguir versiones actualizadas del mismo, con el debido credito de los autores y si lo usas, me sentira agradecido de que me informaras al respecto, para tener una idea de la difusin de este material.