Kindersicherung dank Raspberry Pi, Squid et SquidGuard

L & rsquo; d & rsquo Neuankömmling ein iPod für meine Tochter 9 Jahre, haben wir es mit der harten Realität konfrontiert : Kinder wachsen schnell und & rsquo; Zugang zu neuen Technologien ist beizufügen. D & rsquo; daher die Notwendigkeit & rsquo; ein Steuersystem für den Internetzugang.

Himbeer pi elterliche Kontrolle

Ohne den Wunsch, ein Diktator zu werden oder auf andere verlassen sich ganz auf die elterliche Kontrolle Werkzeug, hatte immer noch eine Lösung zu finden. Die erste ist, um die Risiken zu erklären, dass die Dinge nicht zu sehen, mais rien ne vaut un bon contrôle informatique en plus 🙂

  1. Für Leistungsprobleme, j & rsquo; haben eine minimalistische Distribution, die nur von d & rsquo hatten verwendet, um installiert werden. Sie können alle Informationen zu finden, Diese page. Bei Bedarf, aktualisieren Sie Ihre Vertriebs
    apt - get Update && apt - Get Upgrade y
  2. Installieren Sie Squid und SquidGuard
    apt-get install -y squid3 squidguard

    Denken Sie daran, dass & rsquo; ein Benutzer Vollmacht wurde erstellt. Es wird hilfreich sein, um die & rsquo korrekt zu positionieren; alle Rechte für das Funktionieren Software.

  3. Speichern der Konfiguration von Squid (wenn d & rsquo; Fehler)
    cp /etc/squid3/squid.conf /etc/squid3/squid.conf.origin
  4. Generieren Sie eine leichtere Konfiguration durch Entfernen von vielen (aber nützlich) Kommentarzeilen.
    cat /etc/squid3/squid.conf.origin | V e Egrep ' ^.[[:leer:]]*#|^$' > /etc / squid3 / squid.conf
  5. Fügen Sie Ihr Netzwerk am Ende der Liste von ACLs. Zu Hause bin ich lokal auf die 192.168.1.x. Also hinzugefügt habe ich die folgende Zeile
    ACL-LocalNet src 192.168.1.0/24
  6. Maschinen im Netzwerk zum Herstellen einer Verbindung mit des Proxys zu ermöglichen. Fügen Sie die rote Linie. Die Verknüpfung erfolgt mit dem Namen. Hier LocalNet.
    Http_access allow "localhost"
    Http_access allow LocalNet
    Http_access deny all

Sie können jetzt Ihren Browser oder OS mithilfe den HTTP-Proxy mit dem Raspberry Pi Ip und Port konfigurieren. (Standardmäßig) 3128.

Sie können die Einstellung von Ihrem Cache ändern : Lage, Größe, etc.. Das Ziel ist in erster Linie den Zugang zum Internet zu filtern, sondern auch d & rsquo; Verbesserung Navigation. Zu Hause einen dedizierten Verzeichnis erstellt I, de Typ tmpfs de 500Mb. Nicht die SD-Karte zu überfordern, Ich bekomme dies zu meinem Gedächtnis-Verzeichnis. Der Cache muss nicht zu besetzen 100% dieser Raum (80% So ist ideal 400Mb).

  1. Erstellen Sie das Verzeichnis /Cache
    mkdir / Cache-
  2. In der Datei // Etc/fstab fügen Sie die Zeile
    tmpfs / cache tmpfs defaults,noatime,nosuid,size = 500m 0 0
  3. /etc/squid3/squid.conf In der Datei die folgende Zeile am Ende der Datei
    cache_dir ufs / cache 400 16 256
  4. Es bleibt, um den Cache zu generieren und starten Squid
    Service squid3 stoppen
    squid3 -z
    Service squid3 starten

Konfigurieren SquidGuard

  1. Télécharger les-Blacklists. Filtering Zugang SquidGuard auf Domain-Listen auf der Basis, URLs oder Keywords. L & rsquo; Universität Toulouse hält aktualisierte Listen direkt von SquidGuard verwendet.
    Wget-http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz
    tar -zxvf blacklists.tar.gz
  2. Installieren Sie die Listen in dem durch SquidGuard zugänglich. Vergessen Sie nicht, um die Rechte zu ändern für SuidGuard zugreifen
    mv-Blacklists / var / lib / squidguard / db /
    chown -R Proxy:Proxy / var / lib / squidguard / db /
  3. Ändern Sie die Konfiguration der Datei SquidGuard /etc / squidguard / squidGuard.conf In & rsquo; Beispiel unten, Alle aufgeführten Zugriff auf Porno-Seiten werden für alle Benutzer gesperrt werden ausgenommen Apparate, deren IP-Gruppe Eltern. Unberechtigten Zugriff auf eine Datei sind loggués pornaccesses.
    dbhome / var / lib / squidguard / db
    logdir / var / log / squidguard
    
    src Eltern {
            IP 192.168.1.10 192.168.1.18 192.168.1.30
    }
    dest porn {
            domainBlackLists / Porno / Domains
            urllist Blacklists / Porno / URLs
            log pornaccesses
    }
    
    acl {
            Eltern {
                    Alle übergeben
            }
            Standard {
                    bestehen !porn alle
                    umleiten http://localhost / block.html
            }
    }
    
  4. Betten Sie Blacklists in SquidGuard. Sie müssen den Befehl jedes SquidGuard Konfigurationsänderung ausführen (/etc / squidguard / squidGuard.conf). Seien Sie geduldig, c & rsquo; relativ lang in unserer kleinen Maschinen.
    squidGuard -C alle
    chown -R Proxy:Proxy / var / lib / squidguard / db /
  5. Fügen Sie die folgende Zeile am Ende der Squid-Konfigurationsdatei /etc / squid3 / squid.conf
    url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf
  6. Sie können die Konfiguration und SquidGuard Squid testen und generieren Sie die Cache-Verzeichnisse
    Service squid3 stoppen
    squid3 -z
  7. Démarrer Squid
    Service squid3 Neustart

Das SquidGuard installiert und konfiguriert, um Erwachsenen-Sites blockieren

Himbeer pi squid squidguard Filterungs

Sie sehen, dass & rsquo; n & rsquo Fehler; nicht gut. In der Tat, wenn d & rsquo; Konfigurationsfehler gibt die & rsquo; Benutzer auf die Seite block.html. Wenn wir das tun das und rsquo; nicht installiert haben,, Dies erzeugt einen Fehler. Wenn Sie die Nachricht anpassen möchten, Ich rate Ihnen,’Installations Nginx und erstellen Sie die Seite block.html mit der Formatierung Sie wollen. Hier ist, was I & rsquo; haben zu Hause :

Raspberry Pi-Proxy squid squidguard Block-Bildschirm

Installieren Sie Webmin und calamaris zur Log-Analyse

  1. Installieren Webmin. J & rsquo; tat, von dem / root (ja ich weiß, c & rsquo; ist nicht gut …)
    mkdir webmin
    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. Installieren Sie das Calamaris-Log Analyzer, sehr praktisch für die Nutzung von Proxyinformationen
    apt-get install calamaris

Sie können jetzt an die Ip des Ihr Pi-Himbeere-Port anschließen. 10000. Sie identifizieren sich mit der Id und das Kennwort aus Schritt 1. Squid-Modul ist in der Kategorie Server. Wenn Sie schneller durchsuchen möchten, Ich schlage vor, das Thema Stressfrei.

Ein weiteres Werkzeug, d & rsquo; lange Analyse, die I & rsquo; installiert ist LightSquid (eine Demo verfügbar Hier). Es ermöglicht d & rsquo; haben Informationen pro Tag / Monat / Benutzer, etc.. Praktisch ist, zu sehen, was im Netzwerk passiert.

Script automatisch schwarzen Listen zu aktualisieren

Die Listen werden nicht für immer festgelegt. Sie sind auf dem neuesten Stand gehalten und regelmäßig weiterentwickeln (Ich weiß nicht, die genaue Frequenz). Es ist daher notwendig, Herunterladen und Aktualisieren SquidGuard. Hier ist ein Beispiel-Skript, das Sie in Ihrem cron Tisch legen können, um täglich oder wöchentlich laufen :

#!/bin / sh

cd / var / lib / squidguard / db
rm -rf Blacklists
wget http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz
tar -zxvf blacklists.tar.gz
rm blacklists.tar.gz
squidGuard -C alle
chown -R Proxy:Proxy / var / lib / squidguard / db /
Service squid3 Neustart

J & rsquo; habe erstellt dieses Skript /etc / cron.daily. L & rsquo; Standardzeit ist 06.25 Uhr, j & rsquo; haben für 1 Stunde am Morgen geändert, um sicherzustellen, dass das Update nicht stört, da Squid neu gestartet.

URL de Konfigurations automatique du Proxy

Mit Ihren Web-Server können Sie die Konfiguration Ihres Proxy, um Ihr System zu verteilen. Eine PAC-Datei erstellt werden muss :

  1. Erstellen Sie automatische Konfigurationsdatei. Sie legen es in /usr / share / nginx / www und I & rsquo; genannt haben proxy.pac. Der Inhalt ist eine JavaScript-Funktion :
        function FindProxyForURL(URL, Host) {
            If (
                isInNet(myIpAddress(), "127.0.0.0", "255.0.0.0") ||
                isInNet(myIpAddress(), "192.168.0.0", "255.255.255.0")) {
                Rückkehr "DIRECT";
            } sonst {
                If (ShExpMatch(URL, "http:*"))
                    Rückkehr "PROXY 192.168.1.28:3128" ;
                If (ShExpMatch(URL, "HTTPS:*"))
                    Rückkehr "PROXY 192.168.1.28:3128" ;
                Rückkehr "DIRECT";
            }
        }
    

    Diese Datei gibt die Proxy HTTP und HTTPS. Localhost und dem lokalen Netzwerk, l & rsquo; Gerät kann direkt zugegriffen werden.

  2. Der MIME-Typen PAC-Dateien ändern. Fügen Sie am Ende der Datei /etc/nginx/mime.type
    application / x-ns-proxy-autoconfig PAC-;
  3. Starten Sie Nginx
    Nginx Dienstneustart
  4. Richten Sie Ihr Gerät auf die automatische Konfiguration verwenden, um rsquo &; URL http://<ip de votre Himbeere>/proxy.pac
    Keine Notwendigkeit, jede Information zu nehmen.

Generation Skript Zielen basierend auf Blacklists

Hier ist ein kleines Skript, um die Ziele auf der Basis heruntergeladen Listen erzeugen. Es kann Ihnen helfen zu vermeiden, dass jede Art.

#!/bin / sh

SQUIDLIB = / var / lib / squidguard / db
SQUIDLIB_BLACKLISTS = $ SQUIDLIB"/Blacklists"

If [ -d $ SQUIDLIB_BLACKLISTS ]; Dann
weg folder in `ls $ SQUIDLIB_BLACKLISTS`; machen
wenn [ -d "$SQUIDLIB_BLACKLISTS / $ folder" ]; dann
Echo "dest $ folder {"
			If [ -e "$SQUIDLIB_BLACKLISTS / $ ordnername / Domains" ]; dann
Echo "      domainBlackLists / $ ordnername / Domains"
			fi
wenn [ -e "$SQUIDLIB_BLACKLISTS / $ ordnername / URLs" ]; dann
Echo "      urllist Blacklists / $ folder / Urls"
			fi
Echo "}"
		sein
erledigt
sein

Dies ist ! Ich werde nun an der Seite von Apple Configurator die Proxy-Konfiguration eingestellt aussehen, ohne dass es durch die & rsquo modifiziert; Benutzer. Wenn einige d & rsquo; von euch ein Äquivalent für Android weiß, n & rsquo; bitte in den Kommentaren Ihre Werkzeuge zu teilen.

Sie können auch mögen....