Sicheres Internet mit Squid

Das Kind will/kann/darf ins Internet, aber wie schützt man es vor den Gefahren?

Mittlerweile ist mein Junior fast 9 Jahre alt und hat seinen ersten eigenen PC (ne alte Intel-DualCore-Gurke mit 4GB RAM).
Was installiert ihm der IT’ler-Papa da auf der Kiste?
Windows XP fällt wegen fehlendem Support und der deswegen vorhandenen Sicherheitslücken definitiv aus. Win7 oder Win8 bzw. Win8.1? Ich glaub die Kosten für die Lizenzen lohnen da kaum. Also blieb nur der Blick ins Linux-Lager. Edubuntu schien mir ne gute Wahl weils für Kinder zwischen 6 und 12 Jahren konzipiert ist.

Also fix die ISO-Datei (https://www.edubuntu.org/download) gedownloadet und installiert.
Da Papa ja beruflicher Weise nen Admin ist hat er für sich natürlich einen Account mit administrativen Rechten erstellt. Gleich darauf bekam der Junior seinen eigenen Account als eingeschränkter User angelegt und als Autologon konfiguriert. Schließlich wollen Knirpse ja kein Passwort eingeben. Das kostet ja nur sinnlos Zeit ;) …

Soweit … so gut … aber wie sperre ich dem Junior die bösen Untiefen des WorldWideWeb?
Durch meine Arbeit in der Schulabteilung des CTL hatte ich viel mit der paedML des Landes Baden-Württemberg zu tun. Dort kommt zu Jugendschutzzwecken der SQUID-Proxy zum Einsatz. Natürlich kann und darf ich als Privatperson nicht dem Landesserver anzapfen, aber die Idee mit dem SQUID schien mir verlockend. Also installieren wir ihn. Dafür hatte ich einen alten Raspberry Pi „rumliegen“ der schon über ein installiertes Raspian Jessie verfügte. Brauchte also nur noch der Squid drauf.

Fix nen Terminal geöffnet und den Befehl „sudo apt-get install squid“ eingetippt. Dadurch installiert man nach Eingabe des Passworts (mit sudo bekommt man für den jeweiligen Befehl temporäre Adminrechte) den SQUID3 (bestehende Internetverbindung vorausgesetzt).
Damit ist der erste Schritt getan. Nun muss man dieses Stück Software natürlich noch konfigurieren.
Google ist ja mein Freund und so zog ich die allwissende Suchmaschine zur Recherche heran. Wortfilter? Whitelist? Blacklist?
Für Wortfilter (hätt ich mir was scripten müssen) fehlte mir die Lust und die Zeit. Ne Blacklist pflegen? Ich glaub das würd in der heutigen Zeit unwahrscheinlich viel Zeit fressen herauszufinden welche Seiten kindergefährdend sind. Weiterhin läuft man Gefahr dass einem doch die ein oder andre Seite durch die Lappen geht und der Junior diese dann doch findet.
Also eine Whitelist. Nur dort eingetragene Webseiten-URLS lässt der SQUID passieren, der böse (oder weniger böse) Rest des WWW muss draußen bleiben. Nen paar Anregungen bot Google mir. Ich hab sie zusammengefasst und mir ne eigene Whitelist gebastelt.
Doch ohne Konfiguration interessiert SQUID sich nicht für die Whitelist. Also ran an den Speck und bissel was konfiguriert. Dazu passen wir die squid.conf im Verzeichnis /etc/squid3/ an unsere Bedürfnisse an oder erstellen sie neu.

Hier hab ich mal meine squid.conf hochgeladen. Im Endeffekt verbiete ich dort alle Ports außer denen die als Safe_Ports gekennzeichnet sind. Weiterhin verbiet ich alles andre außer den bei der Whitelist (muss unter /etc/squid3/whitelist.txt liegen) eingetragenen URLs. Nebenher ist noch konfiguriert was SQUID so tut, unter anderem dafür das ich auch mal nachschauen kann ob der Junior doch verbotene Sachen ansurfen wollte ;) …

Und hier ist meine aktuelle Whitelist zu finden.
Diese muss wie oben schon beschrieben im Pfad /etc/squid3/ liegen und whitelist.txt heissen.

Im Firefox sollte man sich natürlich noch die Mühe machen und die Webseiten aus der Whitelist als Lesezeichen anlegen. Schon habens die Junioren einfacher.

Wichtig ist auch dem Rechner noch ne feste IP zuzuweisen, damit man zum Beispiel mit Bitvise SSH Client (http://www.bitvise.com/ssh-client?gclid=CN68iYCh6sUCFSrpwgodURoAzA) jederzeit schauen kann ob der Junior surft oder die Whitelist aktualisieren kann … und und und …
Damit der SQUID auch korrekt arbeiten kann muss dem Firefox natürlich noch mitgeteilt werden, das er seine Anfragen an den Proxy zu richten hat. Dies geschieht im Menüpunkt „Einstellungen“ -> „Erweitert“ -> „Netzwerk“ -> „Verbindung“ -> „Einstellungen“. Hier trägt man die IP des Rechners und den benutzten Port (Standard ist 3128) bei allen Protokollen ein.
Danach sollte der Firefox nur noch die Webseiten der Whitelist ansurfen können und bei allen andren ne Meldung bringen, das der Zugriff verboten ist.

Noch ein wichtiger Hinweis: Bei jeder Änderung der SQUID-Konfiguration muss der SQUID mit folgendem Befehl (in nem Terminal) neu gestartet werden: sudo squid3 reload

So weit … so gut … hoffentlich …