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.

raspberry pi parental control

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 🙂

  1. 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
  2. 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.

  3. Sauvegarde de la configuration de Squid (si d & rsquo; error)
    cp /etc/squid3/squid.conf /etc/squid3/squid.conf.origin
  4. 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
  5. 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
  6. 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).

  1. Cree el directorio /caché
    mkdir / cache
  2. En el archivo /etc/fstab agregue la línea
    tmpfs / cache tmpfs impagos,noatime,nosuid,size = 500m 0 0
  3. Dans le fichier /etc/squid3/squid.conf ajouter la ligne suivante à la fin du fichier
    ufs cache_dir / cache 400 16 256
  4. Queda por generar el caché y reiniciar Squid
    service squid3 stop
    squid3 -z
    service squid3 start

Configurar SquidGuard

  1. 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
  2. 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 /
  3. 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
            }
    }
    
  4. 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 /
  5. 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
  6. Puede probar la configuración y SquidGuard calamar y generar los directorios de caché
    servicio squid3 parada
    squid3 -z
  7. Démarrer Squid
    reinicio del servicio squid3

Eso SquidGuard instalado y configurado para bloquear los sitios para adultos

filtrado de calamar squidguard frambuesa pi

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 :

Raspberry Pi proxy squid pantalla de bloques SquidGuard

Instalar Webmin y calamaris de análisis de registros

  1. 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
  2. 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 :

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

  2. Cambie los archivos de tipos MIME .pac. Añadir al final del archivo /etc/nginx/mime.type
    application / x-ns-proxy-autoconfig .PAC;
  3. Reiniciar Nginx
    Reinicio del servicio nginx
  4. 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.

Posiblemente le gustan también....