Der Kanton St. Gallen verlangt von den Schulen, dass sie für Internetzugänge “Web Content Screening” einsetzen. In diesem Beitrag wird beschrieben, wie man das mit einer Sophos UTM Firewall umsetzt. Da das Aufbrechen von SSL Verbindungen ein Eingriff in die Privatsphäre der Benutzer ist, haben wir auf unserer Schulhomepage neben Anleitungen zur Installation unseres Zertifikats auch ein Dokument veröffentlicht, das auch technisch nicht so versierten Benutzern erklären soll, was da passiert. Nun funktionierte WhatsApp, wahrscheinlich seit der Umstellung auf Ende zu Ende verschlüsselten Verbindungen, nicht mehr aus unserem Netzwerk.
Was ist das grundsätzliche Problem bei WhatsApp?
Viele Programme und Apps funktionieren mit den vertrauenswürdigen Zertifikaten des Geräts. Wenn also ein Benutzer auf seinem Gerät einmal bestätigt, dass die Zertifikate, die von unserer Schule ausgestellt wurden, vertrauenswürdig sind, funktionieren alle diese Programme und Apps. Leider funktionieren nicht alle Apps so, was aus datenschutztechnischen Gründen für den Benutzer sogar gut ist. Die WhatsApp App muss gar nicht allen vertrauenswürdigen Zertifikaten des Geräts vertrauen, sie weiss ja, welches Zertifikat das richtige ist. Damit ist ein sogenannter Man-in-the-middle Angriff (technisch gesehen ist das Web Content Screening von SSL nichts anderes) deutlich erschwert.
Vorgehen
Um das Problem einzugrenzen, schaut man sich den “Live Log” von “Web Filtering” an und filtert nach der IP Adresse des verwendeten Geräts. Wenn man nun WhatsApp öffnet und eine Nachricht versenden möchte, sieht man das Problem. Der Versuch, eine Verbindung mit https://169.45.248.124 herzustellen, bricht mit der Fehlermeldung “Failed to verify server certificate” ab.
Eine WhoIs Abfrage bestätigt, dass die IP Adresse 169.45.248.124 Teil eines Blocks ist, der WhatsApp gehört.
Damit kommt man schon etwas weiter. Leider sind noch weitere Adressen involviert, für die ich keinen Domainnamen erhalten habe. Scheinbar benutzt WhatsApp Infrastruktur von Softlayer, gemäss Wikipedia einem hosting und cloud provider, der 2013 von IBM aufgekauft wurde.
Mit einer Ausnahme für folgende Adressen funktioniert WhatsApp nun:
^https?://([A-Za-z0-9.-]*\.)?whatsapp\.com
^https?://([A-Za-z0-9.-]*\.)?whatsapp\.net
^https?://169\.45\.248\.1[01][0-9]
^https?://169\.45\.248\.12[01234567]
^https?://169\.45\.248\.9[6789]
^https?://108\.168\.176\.238
^https?://158\.85\.58\.100
^https?://158\.85\.58\.105
^https?://158\.85\.58\.107
^https?://158\.85\.58\.16
^https?://158\.85\.58\.47
^https?://169\.45\.210\.69
^https?://169\.45\.210\.71
^https?://169\.45\.210\.77
^https?://169\.45\.210\.80
^https?://169\.45\.210\.86
^https?://169\.45\.214\.231
^https?://169\.54\.55\.215
^https?://169\.55\.67\.235
^https?://169\.55\.67\.249
^https?://169\.55\.75\.105
^https?://173\.193\.230\.105
^https?://173\.193\.230\.114
^https?://174\.37\.217\.93
^https?://184\.173\.161\.169
^https?://184\.173\.179\.34
^https?://184\.173\.179\.34
^https?://50\.97\.57\.146
^https?://50\.97\.57\.158
Das Problem dabei ist, dass diese Adressen kaum abschliessend sind und das noch grössere Problem, dass sie sich allenfalls laufend ändern. Nun ja, im Moment funktioniert es.
Da das Problem aber einfach zu lösen wäre, wenn WhatsApp DNS Namen für die verwendeten IPs benutzen würde, habe ich auch noch ein Mail an den Support geschickt. Mal schauen…
Nachtrag
Nachdem ich zuerst auf zwei automatisierte Antworten reagieren musste, hat mir wohl ein Mensch geantwortet, was aber auch nichts gebracht hat. Also noch ein Versuch….
Nachtrag 2
Nach knapp 2 Wochen habe ich dann eine Antwort erhalten, die sich wirklich auf meine Anfrage bezogen hat. Sie benutzen kein DNS für diese IPs aber immerhin bekommt man alle involvierten IPs unter https://www.whatsapp.com/cidr-all.txt. Dabei handelt es sich um über 3’000 IPs. Nicht wirklich ideal.
Bei der Sophos UTM kann man über „Web Protection“ -> „Filtering Options“ -> „Exceptions“ eine neue Ausnahme hinzufügen und die IPs importieren.
Die von mir verwendete Liste kann man hier als PDF hier herunterladen.
Vielen vielen Dank, dass Sie den Aufwand betrieben und ihn hier gepostet haben.
Danke für die Rückmeldung. Ich freue mich, wenn meine Arbeit anderen auch hilft.
Hallo,
Vielen Dank für diesen Artikel, habe mein Whatsapp (Android) Poblem damit lösen können!!(Sophos UTM9)
Danke für die Rückmeldung.
Hi,
erstmal vielen Dank für den Aufwand!
gibt es irgendwo eine aktuelle Liste?
Unter https://www.whatsapp.com/cidr-all.txt ist beschrieben, wie man an die aktuellste Liste kommt.