the-buccaneer
Goto Top

Kindersicherung mit PfSense und Squid (-Guard) für lokale und mobile Verbindungen

Vorneweg: Das hier ist "Infotainement". Es mag die eine oder andere technische Information zur Lösung der Aufgabe, an die ich mich blindwütig herangewagt habe, beinhalten, darum geht es aber nicht wirklich.

Eher soll der alltägiche Wahnsinn im Umgang mit Open Source Software abgebildet werden, wenn man etwas nicht ganz alltägliches realisieren möchte. face-wink

Der Weg ist das Ziel, sagt man und ich befinde mich auf dem Weg. Wo das endet, ist im Moment nicht abzusehen, hoffentlich aber letztlich doch in einer funktionierenden Lösung.

Nachdem ich gezwungenermaßen (Kinder) auf Android Smartphones umsteigen musste und nach einer funktionierenden skalierbaren Kidersicherung gesucht habe, ohne etwas zu finden das mir wirklich gefällt, habe ich mich wider besseren Wissens dazu entschlossen, das selber zu realisieren.

Der Plan lautet wie folgt:

Ein Squid mit Squidguard auf einer existierenden PfSense wird einfach dem Phone als Proxy für alle Belange untergeschoben.
Technisch sollte das realisierbar sein, denkt man. In der Theorie können die Komponenten das jedenfalls.

Dazu wird zuerst der vorhandene Squid auf PfSense mit Squidguard erweitert und auch in der Firewall das WAN-Interface für Squid-Verbindungen auf Port 3128 freigeben. (Wir wollen ja die mobilen Verbindungen auch filtern können)
HTTPS-Filterung wird für den Squid aktiviert, da mittlerweile zuviele völlig datenschutzunrelevante Seiten auf SSL setzen und man daher weder sinnvoll https allgemein sperren, noch allgemein erlauben kann. (?!) Firewall anpassen. User anlegen. Authentifizierung erzwingen, damit wir die Erwachsenen von den Kindern auch trennen können (lokale Authentifizierung reicht hier erstmal.)

Das alles auf meiner Firewall. Aua. Aber es ist ja nur testweise und der Squid hat keine mir bekannte Lücke, dass der berühmte Angreifer die Kontrolle über das System erlangt
Sinnvoll wäre wohl trotzdem, den Proxy zu trennen und auf ein eigenes Interface auszulagern, denn man hostet seine Webseite ja auch nicht auf der PfSense, obwohl die das könnte...


Auf dem Android-Phone wird nun "ProxyDroid" installiert und konfiguriert. Denn das kann alle Datenverbindungen (WLAN und/oder mobil) automatisch über den Proxy leiten und auch die Authentifizierung speichern. Schönes Tool!

In der Theorie sollte dann eben nur noch ein Applocker eingerichtet werden und im Squidguard die erlaubte Welt definiert werden.

In der Theorie...

Die Praxis ist leider eher frustrierend.

Die in Squidguard integrierte Fehlerseite funktioniert nicht, wenn die PfSense-Konfiguration auf https läuft. Es gibt keine Dokumentation zum Thema und die Beiträge in den einschlägigen Foren führen nicht zu einer Lösung. Das Thema ist aktuell tot.
Dass es aber lösbar ist, beweist die in Squid 3.x vorhandene Implementierung des Virenschutzes. Die "Virus gefunden" Fehlerseite ist auch mit einer PfSense hinter https aufrufbar.

Statt der Squidguard Fehlerseite gibt es nur eine Fehlermeldung, dass ein selbstsigniertes Zertifikat in der Kette ist. (Kunststück, das soll ja auch so sein und für ALLE anderen Webseiten, ausser seinem eignen Host akzeptiert der Squid das ja auch)
Bisher ungelöst, aber egal Sperre ging ja. (Und der große Vorteil der Fehlerseite ist, die Möglichkeit, dem eingetragenen Admin eine Nachricht zukommen zu lassen. Dabei wird automatisch der Fehler und damit die gesperrte Domain übernommen, so dass die Kiddies das anfragen können.

Der Squidguard bringt das Webinterface der PfSense manchmal in einen nicht mehr reagierenden Zustand. häufig muss man nach einer Änderung über die Konsole mitt "11" das Webinterface neu starten. Das geht dann, es dauert aber Stunden, bis man das weiss!!!

Gerade während der Erstinstallation muss man vieles probieren und Einstellungen dann wieder verwerfen. Gerade das ist aber eine schlechte Idee mit Squid und Squidguard.

Ich bin bisher mehrfach in Zustände gestolpert, dass entweder überhaupt keine Seite mehr erreichbar war, alle Seiten trotz Filter erreichbar waren oder plötzlich (aktuell) keinerlei https Seiten mehr zugänglich waren. Das ist teils nur durch komplette Neuinstallation der Pakete behebbar, der Squidguard wollte einmal händisch auf die Grundeinstellungen zurückgesetzt werden, da es keine Möglichkeit gibt, bei einer Deinstallation auch die Konfiguration zu löschen. (!!!)

Dass die https-Interception nicht mehr funktioniert, ist im Moment noch ungelöst.

Updates folgen.

e mare desperatio

buc

update:

es ging gestern zwischendrin mal, nachdem ich (glücklicherweise?) 4 stunden mit (meinem) internetzugang auf dem "bürgeramt" auszeit bekam. 2x alles neu installiert. wahrscheinlich ist es besser zuerst den squidguard zu installlieren, dann den squid. hatte sogar die anzeige der fehlerseite mit host, user und grund hinbekommen. (auf ext. webspace)
nun aber, seit heute morgen: keine fehlerseite mehr. filterung funktioniert. aber timeouts im firefox oder anderen. ich befürchte, der squidguard ist weniger stabil, als erwünscht.
definitiv funktioniert die umleitung nicht, da die seite selbst direkt problemlos aufrufbar ist.

abgesehen von den hintergründen der problematik des "sicheren surf-RAUMES" für kinder, die ich hier grad nicht mehr beschreiben kann. (zusammenspiel von whitelists und blacklists bisher ungelöst, das kindernetz ist ein erster praktikabler ansatz durch das integrieren von fragfinn und blinde-kuh)

leider gibt fragfinn seine whitelist nicht heraus. das geht den bürger nichts an, welche internetseiten für kinder tauglich sind...

momentan jedenfalls keine errorpage, aber offenbar filterung. on das nochmal stabil wird? für die pfsense 2.26 wird es wohl kaum noch updates geben...

keep u informed.

im mittelmeer

bucko

Content-Key: 309620

Url: https://administrator.de/contentid/309620

Printed on: April 26, 2024 at 14:04 o'clock

Member: umount
umount Sep 10, 2016 updated at 14:30:38 (UTC)
Goto Top
An ihrer Stelle würde ich statt SquidGuard den Dansguardian nutzen dieser war bis Pfsense 2.2.6 in den Paketquellen enthalten dieser Filtert auch nach Wörtern auf einer Seite. Ich hatte auch schon mehrmals beobachtet das der SquidGuard zum Verarbeiten einer Seite deutlich länger und auch mehr Leistung zieht. Als ich das ganze ohne SquidGuard nutzte war es spürbar besser. Später habe ich den SquidGuard gegen den Dansguardian enfach ersetzt dieser tut heute immer noch in meinem Gäste WLAN mit Downloadsperre seine Wunder.
Member: the-buccaneer
the-buccaneer Sep 30, 2016 at 22:21:28 (UTC)
Goto Top
hoho ein feedback nach über 3000 aufrufen... danke sehr vielmals. face-wink

dansguardian habe ich nach einem (an sich) vielversprechenden test vor wenigen jahren wieder gestrichen, nachdem klar war, dass das package nicht "maintained" wird.

der squidguard ist dem pfsense team näher und offenbar sympathischer und wurde noch diskutiert bzw. entwickelt.
es spricht aber natürlich nix dagegen, den dansguardian einzusetzen "at your own risk"
wie gesagt, erweiterungen um die sich niemand kümmern mag, versuche ich zu vermeiden, denn es gibt immer ein problem, irgendwann.

aktuell mit der pfsense, die schöne erweiterungen als ballast abwirft, weil sich niemand findet. schade.

update zur funktionalität:

das funktioniert!
allerdings auf meinem android nur mit dem vorinstallierten "browser", denn der ist der einzige, der sich für ein in den systemeinstellungen installiertes selbstsigniertes zertifikat interessiert. firefox, chrome etc. blocken ohne die vom pc gewohnte möglichkeit "ausnahme zulassen"
extrem billig und user-unfreundlich.

"google play" ist schwerer freizugeben. da müssen im proxydroid auf dem phone die ip's als ausnahmen definiert werden. das nervt. (nicht zuletzt deshalb, da diese sich jederzeit ändern können)

meist geht es jedenfalls. teils startet aber der proxydroid nicht ordentlich, so dass das komplette internet frei ist. (doof für eine kindersicherung) teils werden vom squid eigentlich freigegebene seiten blockiert. (bisher ungelöst)

die nächste technische herausforderung wäre es, dem squid den "kinderproxy" von fragfinn als parent einzutragen und ihm zu sagen, dass er alle nicht erfolgreichen auflösungen an den squidguard übergeben soll, womit immerhin dieses sehr eingeschränkte deutsche "kindernetz" wie es z.b. an schulen verwendet wird, freigegeben wäre. geht aber offenbar aktuell nicht.
auch dieser neue deutsche "alters-tag" ist mit dem squid nicht realisierbar.

mein ratschlag im moment:

3 möglichkeiten:

1.: internet für kinder unter 14 J. komplett sperren.
2.: immer daneben sitzen, wenn die kids im netz unterwegs sind.
3.: google in den hintern treten, dass die ein "kids-droid" entwickeln, das alle relevanten sicherheitsbedürfnisse für kinder realisiert und das auf allen phones ohne wenn und aber installierbar ist.

alles nicht so realistisch, wobei mein ärger sich in richtung google entwickelt...
sich damit zu verabschieden, dass ein google konto eben erst ab 14 J. einzurichten ist und alles andere heutzutage den eltern zu überlassen ist eben auch nicht gerade freundlich und realitätsnah...

mal sehen, was sich entwickelt...
buc