Proxy

Problem

Gerade an Schulen muss man aus rechtlichen und pädagogischen Gründen den Internetzugang beschränken.

Schulkinder sollen zu ihrem Schutz nicht auf „böse Seiten“ kommen und sie sollen zum Schutz der Schule keine illegalen Uploads (bittorrent usw.) durchführen können.

Grenzen

Da die meisten Schulkinder inzwischen mit internetfähigen Smartphones mit ausreichender Flatrate ausgestattet sind, sollte man den Filteraspekt nicht überbewerten. Es geht mehr um unsere rechtliche Absicherung und Verhindern, dass Schüler ungewollt „böse Seiten“ sehen.

1. Idee IP-Port-Filter + DNS-Filter

Man kann mit einer Firewall den IP-Traffic selbst einschränken, in dem man nur die Zielports 80 und 443 erlaubt und außerdem per DNS-Filterung die „bösen Seiten“ unauffindbar macht.

Nachteil / Grenzen:

Leider ist der DNS-Filter einfach umgehbar (spätestens mit einer lokalen Hosts-Datei) und wird in naher Zukunft durch DNS over irgendwas 1) gezielt ausgehebelt - mit der grundsätzlich nachvollziehbaren Absicht Zensur zu verhindern und der wirtschaftlichen Absicht Adblocker per DNS zu verhindern.

Da die Zuordnung DNS-Name ←→ IP-Adresse nicht bijektiv 2) ist, wäre eine von den Listen zu sperrender Hostnamen abgeleitete IP-Adressfilterung sinnlos bzw. führt zu vielen Falsch-Positiven.

2. Idee Proxy

Ein Proxy ist eine Application-Firewall, die nur Datenübertragungen zulässt, die potentiell gewünschter Webtraffic ist. Diejenige Software (Browser, Betriebssysteme für Updates), welche Internetzugang benötigt, muss zur Benutzung des Proxys konfiguriert werden. Wird dies vergessen, so sieht man im Browser nur eine nichtssagende Fehlermeldung, dass der Server nicht erreichbar ist, außer man leitet den Traffic zu einer Infoseite.

Da die Software den Proxy um die Daten vom Zielserver bitten muss, kann man die Zugriffe nach diesen Hostnamen steuern. Dies erledigt für den beliebtesten Proxy Squid bei uns die Erweiterung squidGuard. Für Grundschulen empfehlenswert: Whitelists, für höhere Schulen: Blacklistsystem (z.B. shallalist) mit zusätzlichen Whitelists (für schuleigene Freigaben).

(Für uns Zukunft: Bei OPNsense werden aus Filterlisten ACL (Regeln für Squid) generiert.)

Einschränkungen:

Die früher gebräuchlichen URL-Filter werden mit dem bald omnipräsenten HTTPS wirkungslos. Man sollte der Verführung widerstehen einen Man-in-the-Middle-Proxy mit Aufbrechen der HTTPS-Verschlüsselung zu verwenden, der dann auch Inhalte prüfen kann. Damit sind alle Geräte, welche man dazu mit einem Zertifikat geimpft hat, nicht mehr vertrauenswürdig für ernsthaft verschlüsselte Verbindungen. Man darf also diese Rechner nicht mehr für Onlinebanking oder den Zugriff auf Webmails verwenden. Damit ist gerade BYOD nicht mehr mit gutem Gewissen zu empfehlen.

Realisierung

Eine physikalische oder virtuelle Maschine wird zum Proxy ernannt. Sie benötigt i.d.R. zwei Netzwerkanschlüsse: Zum internen LAN und zum Internetrouter. Sie darf kein IP-Forwarding machen. Wenn der Schule ein Zugriff über den Proxy ausreicht, so ist keine weitere Firewall nötig. Sollen aber Lehrer bspw. mit Thunderbird Emails abholen dürfen, so ist eine Firewall nötig, welche diesen Verkehr hindurch läßt. Dies kann dieselbe Maschine sein - muss aber nicht.

1. Installation eines geeigneten Systems

  • Wähle selbst: z.B. Debian bzw. eine fertige Firewalldistribution wie OPNsense..

2. Installiere Squid

  • apt get install squid bzw. Aktivieren des Services

3. Konfiguriere Squid

  • In den ACL müssen die internen Netze als legale User freigegeben werden
  • Kein IP-Forwarding für Webtraffic
  • Test sofort…

4. Installiere squidGuard bzw. konfiguriere Filterliste 5. Konfiguriere automatischen Download der Listen

Test

  • teste legitime und nicht-legitime Seiten
  • verfolge die Zugriffe auch in den Logfiles
2)
ein Hostname kann auf mehrere IP-Adressen zeigen, eine IP-Adresse kann Dienste für mehrere Hostnamen anbieten