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.
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
Eher soll der alltägiche Wahnsinn im Umgang mit Open Source Software abgebildet werden, wenn man etwas nicht ganz alltägliches realisieren möchte.
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 309620
Url: https://administrator.de/knowledge/kindersicherung-mit-pfsense-und-squid-guard-fuer-lokale-und-mobile-verbindungen-309620.html
Ausgedruckt am: 15.04.2025 um 15:04 Uhr
2 Kommentare
Neuester Kommentar
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.