Control parental gracias a Raspberry Pi, Squid et SquidGuard
L & rsquo; d & rsquo reciente llegada de un iPod para mi hija 9 años, nos enfrentamos a la dura realidad : Los niños crecen rápido y y rsquo; el acceso a las nuevas tecnologías debe ir entre. D & rsquo; de ahí la necesidad de que y rsquo; un sistema de control de acceso a Internet.
Sin el deseo de convertirse en un dictador o no depender por completo de una herramienta de control parental, todavía tenía que encontrar una solución. El primero es explicar los riesgos, que no son para ser visto cosas, mais rien ne vaut un bon contrôle informatique en plus 🙂
- Por problemas de rendimiento, j & rsquo; han utilizado una distribución minimalista que acababa de d & rsquo; para ser instalado. Puedes encontrar toda la información sobre esta page. Si es necesario, Actualiza tu distribución
apt - actualización && apt - get upgrade y
- Instalar Squid y SquidGuard
apt-get install -y squid3 squidguard
Recuerde que y rsquo; un usuario apoderado se ha creado. Será útil para posicionar correctamente los y rsquo; todos los derechos para el software de funcionamiento.
- Sauvegarde de la configuration de Squid (si d & rsquo; error)
cp /etc/squid3/squid.conf /etc/squid3/squid.conf.origin
- Generar una configuración más ligero mediante la eliminación de muchos (pero útil) Las líneas de comentario.
/etc/squid3/squid.conf.origin gato | v e egrep ' ^.[[:en blanco:]]*#|^$' > /etc / squid3 / squid.conf
- Añadir tu red al final de la lista de las ACL. En casa estoy localmente en el 192.168.1. x. Así que he añadido la siguiente línea
ACL LocalNet src 192.168.1.0/24
- Permiten a las máquinas de la red para conectarse al servidor proxy. Añadir la línea roja. El enlace se realiza con el nombre. Aquí LocalNet.
http_access allow localhost http_access allow LocalNet http_access deny todos
Ahora puede configurar su navegador o sistema operativo para usar al proxy HTTP con la frambuesa Pi ip y el puerto (de forma predeterminada) 3128.
Puede cambiar la configuración de la memoria caché : ubicación, tamaño, etc.. El propósito es principalmente para filtrar el acceso a Internet, sino también d & rsquo; mejorar la navegación. Chez moi j’ai créé un répertoire dédié, de tipo tmpfs de 500Mb. Para no sobrecargar la tarjeta SD, Me sale esto en el directorio de memoria. El caché no debe ocupar 100% este espacio (80% Así es 400Mb ideales).
- Cree el directorio /caché
mkdir / cache
- En el archivo /etc/fstab agregue la línea
tmpfs / cache tmpfs impagos,noatime,nosuid,size = 500m 0 0
- Dans le fichier /etc/squid3/squid.conf ajouter la ligne suivante à la fin du fichier
ufs cache_dir / cache 400 16 256
- Queda por generar el caché y reiniciar Squid
service squid3 stop squid3 -z service squid3 start
Configurar SquidGuard
- Télécharger les listas negras. Acceso Filtrado SquidGuard se basa en listas de dominio, URL o palabras clave. L & rsquo; Universidad de Toulouse mantiene listas actualizadas utilizadas directamente desde SquidGuard.
wget http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz tar -zxvf blacklists.tar.gz
- Instale las listas en el directorio accesible por SquidGuard. No se olvide de cambiar los derechos de SuidGuard puede acceder
mv blacklists /var/lib/squidguard/db/ chown -R proxy:Proxy / var / lib / squidguard / db /
- Cambie la configuración del archivo SquidGuard /etc / squidguard / squidGuard.conf In & rsquo; ejemplo de abajo, tous les accès listés à des sites pornographiques seront bloqués pour tous les utilisateurs sauf les appareils dont les IP du groupe padres. El acceso no autorizado a un archivo son loggués pornaccesses.
dbhome /var/lib/squidguard/db logdir /var/log/squidguard src parents { IP 192.168.1.10 192.168.1.18 192.168.1.30 } dest porno { domainlist listas negras / pornografía / dominios urllist listas negras / pornografía / URL pornaccesses log } acl { padres { pasar todas } por defecto { pasar !porn todo redirigir http://localhost / block.html } }
- Listas negras Insertar en SquidGuard. Tendrá que ejecutar este comando cada cambio de configuración SquidGuard (/etc / squidguard / squidGuard.conf). Ten paciencia, C & rsquo; es relativamente largo en nuestras pequeñas máquinas.
squidGuard -C todo Proxy chown -R:Proxy / var / lib / squidguard / db /
- Agregue la siguiente línea al final del archivo de configuración de Squid /etc / squid3 / squid.conf
url_rewrite_program
/usr/bin/squidGuard
-c
/etc/squidguard/squidGuard.conf
- Puede probar la configuración y SquidGuard calamar y generar los directorios de caché
servicio squid3 parada squid3 -z
- Démarrer Squid
reinicio del servicio squid3
Eso SquidGuard instalado y configurado para bloquear los sitios para adultos
Usted ve que y rsquo; n y error rsquo; no es bueno. De hecho, si d & rsquo; error de configuración devuelve el y rsquo; usuario a la página block.html. A medida que nos hacemos de & rsquo; no han instalado, esto genera un error. Si desea personalizar el mensaje, Yo te aconsejo’instalador Nginx y crear la página block.html con el formato que desee. Esto es lo que I & rsquo; tengo en casa :
Instalar Webmin y calamaris de análisis de registros
- Instalar Webmin. J & rsquo; hicieron que desde el / root (sí sé C & rsquo; ¿no es así …)
webmin mkdir cd webmin / wget http://prdownloads.sourceforge.net/webadmin/webmin-1.760.tar.gz tar zxvf webmin-1.760.tar.gz cd webmin-1.760 / ./setup.sh / usr / local / webmin
- Instale el calamares log Analyzer, muy conveniente para el uso de la información del proxy
apt-get install calamaris
Ahora puede conectar a la ip de tu Raspberry Pi en Puerto 10000. Usted se identifica con el id y contraseña del paso 1. Módulo Squid es en la categoría Servidor. Si desea más rápida la navegación, Sugiero el tema Libre De Estrés.
Otra herramienta de d & rsquo; análisis de largo que I & rsquo; he instalado es LightSquid (una demo está disponible aquí). Permite d & rsquo; tener información al día / mes / usuario, etc.. Muy útil para ver lo que está sucediendo en la red.
Guión actualiza automáticamente las listas negras
Las listas no son fijas para siempre. Se mantienen al día y evolucionan con regularidad (No sé la frecuencia exacta). Por tanto, es necesario descargar y actualizar SquidGuard. Aquí es un script de ejemplo que puede poner en su mesa de cron para ejecutar diaria o semanal :
#!/bin / sh cd / var / lib / squidguard / db listas negras rm -rf wget http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz tar -zxvf blacklists.tar.gz blacklists.tar.gz rm squidGuard -C todo Proxy chown -R:proxy / var / lib / squidguard / db / reinicio del servicio squid3
J & rsquo; han creado este script /etc / cron.daily. L & rsquo; tiempo predeterminado es de 06:25, j & rsquo; han cambiado durante 1 hora en la mañana para asegurarse de que la actualización no se molesta, ya que Squid se reinicia.
URL de configuración de proxy automatique du
Con su servidor web puede distribuir la configuración del proxy para su sistema. Un archivo .pac debe crearse :
- Crear archivo de configuración automática. Se crea en /usr / share / nginx / www y I & rsquo; he llamado proxy.pac. El contenido es una función javascript :
función FindProxyForURL(URL, host) { If ( isInNet(myIpAddress(), "127.0.0.0", "255.0.0.0") || isInNet(myIpAddress(), "192.168.0.0", "255.255.255.0")) { retorno "DIRECTO"; } más { If (shExpMatch(URL, "http:*")) retorno "PROXY 192.168.1.28:3128" ; If (shExpMatch(URL, "HTTPS:*")) retorno "PROXY 192.168.1.28:3128" ; retorno "DIRECTO"; } }
Este archivo da el proxy HTTP y HTTPS. Para la red localhost y lo local, l & rsquo; dispositivo se puede acceder directamente.
- Cambie los archivos de tipos MIME .pac. Añadir al final del archivo /etc/nginx/mime.type
application / x-ns-proxy-autoconfig .PAC;
- Reiniciar Nginx
Reinicio del servicio nginx
- Configurar el dispositivo para utilizar la configuración automática a & rsquo; URL http://<ip de votre frambuesa>/proxy.pac
No hay necesidad de tomar todas las informaciones.
Destinos de scripts de generación basados en listas negras
He aquí un pequeño script para generar las listas de destinos descargados basadas. Puede ayudar a evitar tener cualquier tipo.
#!/bin/sh
SQUIDLIB=/var/lib/squidguard/db
SQUIDLIB_BLACKLISTS=$SQUIDLIB"/listas negras"
If [ -d $ SQUIDLIB_BLACKLISTS ]; entonces
para folderName en `ls $ SQUIDLIB_BLACKLISTS`; hacer
Si [ -d "$SQUIDLIB_BLACKLISTS / $ folderName" ]; entonces
eco "dest $ folderName {"
If [ -e "$SQUIDLIB_BLACKLISTS / $ folderName / dominios" ]; entonces
eco " listas negras domainlist / $ FOLDERNAME / dominios"
fi
Si [ -e "$SQUIDLIB_BLACKLISTS / $ folderName / urls" ]; entonces
eco " listas negras urllist / $ folderName / urls"
fi
eco "}"
fi
hecho
fi
Se trata de ! Ahora voy a mirar el lado de la de Apple Configurator para configurar la configuración de proxy sin que se modifica por la y rsquo; Usuario. Si algunos d & rsquo; de ustedes saben un equivalente para Android, N & rsquo; por favor, compartir en los comentarios sus herramientas.
Pingback: Servidor principal de Frambuesa Pi : Control parental gracias a Raspberry Pi, Squid et SquidGuard - Maison et Domotique()
Pingback: casa de los padres con la Frambuesa Pi, Squid et SquidGuard - Gentil virus de Open Source()