Anmerkung Johannes Albani: Das LMZ hat nun die Anleitung zu JusProgDNS veröffentlicht. Dieser Dienst könnte eine Alternative zur im folgenden Vorgestellten Jugendschutz Filterung darstellen.
Anmerkung Tino Aidam: Wie es scheint, ist die Shalla-Liste zumindest vorrübergehend offline, wann sie wieder online geht ist nicht bekannt.
("Due to personal reasons and the political situation in this country the company Shalla Secure Services has
been closed and in consequence the blacklist service has been stopped.
Sorry for any inconveniences.
Time will tell if we can start in another country again.", http://www.shallalist.de/, 17.03.2022)
Diese Anleitung kann weiterhin mit anderen Blacklists genutzt werden, die an Stelle der Shalla-Liste eingetragen werden können.
Wenn man in der paedML-Linux iPads nach der Anleitung des
LMZ einsetzten will, wird man feststellen, dass Stand heute (08.12.2021) die aktuellste
Anleitung keine wirklich befriedigende Antwort auf die Frage bringt, wie man
denn eine Proxyfilterung für diese umsetzen kann. Glücklicherweise bietet die
von der paedML-Linux eingesetzte Firewall - die pfSense – eine Möglichkeit,
einen Squid-Proxy einzusetzen, um genau das zu erreichen.
Dazu muss man auf der Firewall unter „System/Package
Manager“ die beiden Pakete „squid“ und „squidGuard“ installieren. Squid ist
dabei der eigentliche Proxy und squidGuard der zugehörige Webfilter.
Wenn diese Pakete installiert sind, kann man den Proxyserver
unter „Services/Squid Proxy Server“ konfigurieren.
Hier aktivieren wir nun einige Punkte:
1. Enable Squid Proxy:
Ziemlich selbsterklärend
2. Proxy Interfaces:
Hier wählen wir aus, auf welchen
Interfaces unser Proxy laufen soll. In meinem Fall ist das das IPAD-Netz
(entspricht dem MDM Netz aus der LMZ-Anleitung).
Zumindest bei mir ist der Proxy bereits angewesen und
dem pädagogischen Netz zugewiesen, dies ist aber laut technischem Support LMZ
nicht notwendig, da auf dem Server der paedML-Linux (10.1.0.1) bereits ein
squid-Proxy läuft.
3. Transparent HTTP Proxy:
Damit man keine Einstellungen auf
den iPads machen muss, wir der Proxy als transparenter Proxy aufgesetzt.
4. Transparent Proxy Interface(s):
Hier wählen wir wieder aus, auf
welches Netzwerk wir den Proxy anwenden wollen. In meinem Fall das IPAD-Netz.
Da wir nicht nur HTTP-Anfragen abfangen wollen (die meisten
„interessanten“ Webseiten benutzen inzwischen HTTPS), müssen wir nun noch das
DNS-Filtering für HTTPS aktivieren.
Um das tun zu können, müssen wir unter „System/Cert.
Manager“ noch eine neue interne CA (Certification Authority) hinzufügen (Falls
man das gleiche Fenster benutzt, speichern nicht vergessen).
Auf dem Bild ist meine neue CA schon zu sehen, ich
habe sie nicht extra nochmal gelöscht
Dazu auf „Add“ gehen und einfach
eine neue Authority erstellen. Hier einen Namen eintragen. Ich habe noch die Haken bei „Trust Store“ und „Randomize Serial“ gesetzt, die restlichen Felder
bleiben unberührt.
Nun mit Save erstellen und wieder zu „Services/Squid Proxy
Server“ wechseln.
Dort stellen wir noch folgendes ein:
5. HTTPS/SSL Interception:
Aktivieren, damit gefiltert wird
6. SSL/MITM Mode:
Splice All, sonst müssen wir auf allen Clients Zertifikate installieren
7. SSL Intercept Interface(s):
Auch hier geben wir wieder die
Interfaces an, auf denen das ganze laufen soll. In meinem Fall wieder IPAD.
8. CA:
Hier wählen wir die eben erstellte interne CA aus.
Was das Logging angeht, dürft ihr selbst entscheiden, ob ihr
Loggen wollt, wie viele Tage geloggt werden sollen usw.
Nun speichern wir das Ganze und haben damit unseren Proxy
erstellt.
Jetzt müssen wir noch die Filter setzen. Das machen wir
unter „Services/SquidGuard Proxy Filter“.
Hier habe ich die Haken bei
Enable
Enable Log
Enable Log
Rotation
Und Enable Blacklist
gesetzt. Außerdem ist als Blacklist-URL http://www.shallalist.de/Downloads/shallalist.tar.gz
hinterlegt. Die Shalla-Liste ist eine Liste, die diverse Kategorien von
Webseiten enthält, von denen wir später auswählen können, welche wir blocken
wollen. Sie ist außerdem die Liste, die vom LMZ in der paedML-Linux bereits
benutzt wird, da bleibt man also konsequent.
Das ganze natürlich wieder mit Save speichern.
Achtung: Alle Einstellungen, die wir hier machen, werden erst
aktiv, wenn der grüne Apply-Button gedrückt wird. Auch wenn man eine
Einstellung geändert und gespeichert hat, ist sie noch nicht gültig, bis der
Knopf gedrückt wurde. Bei der Ersteinrichtung ist auch der Status des Squid
Gurads noch „Stopped“.
Nun unter der Unterkategorie „Blacklist“ einmal die
hinterlegte Shalla-Liste durch einen Klick auf „Download“ herunterladen.
Jetzt gehen wir noch in die Unterkategorie „Common ACL“ und
erweitern Target Rules List durch einen Klick auf das +-Symbol:
Hier Setzt man als unterstes den „Default access“ auf
„allow“, damit grundsätzlich das Surfen im Internet erlaubt ist. Darüber kann
man dann nach Kategorien auswählen, was man Blocken will.
Da ich nicht genau weiß, was in der Shalla-Liste enthalten ist und
tendenziell eher für weniger als für mehr Restriktionen bin, habe ich mich mit
dem Blocken mal zurück gehalten und werde die Liste nach Bedarf ausbauen.
Da ich vorhabe, auch die Dienst-iPads unserer Lehrer in
dieses Netzwerk aufzunehmen, werde ich vielleicht auch noch unter der
Unterkategorie „Groups ACL“ weitere Einschränkungen nur für die shared iPads
unserer Schule hinzufügen, dass muss sich noch zeigen.
Nachdem wir unsere Filter-Einstellungen wieder gespeichert
haben, müssen wir jetzt nochmal unter „General settings“ den Grünen
Apply-Button drücken, denn sonst sind unsere Filter zwar schön und gut, aber
leider nicht aktiv.
Nach der Anwendung läd sich die Seite einmal neu und der
Status bleibt auf „STOPPED“. Wenn man die Seite allerdings 30 Sekunden später
nochmal manuell neu läd, hat sich der Status auf „STARTED“ aktualisiert und ihr
solltet von den iPads aus dem Netzwerk aus keine geblockten Webseiten mehr
erreichen können (und ggf. jedes Mal ein wunderschönes Log speichern. Viel Spaß
beim Erklären, wieso euer iPad auf www.porno.de
wollte ;-P)
Ich habe das ganze zugegebenermaßen nicht alleine
herausgefunden, sondern mich sehr stark an dieser
Anleitung orientiert und bin dort abgewichen, wo mir eine andere Vorgehensweise sinnvoller erschien.
Ich hoffe, diese Anleitung hat euch weitergeholfen,
Viele Grüße,
Tino Aidam