HTTP wird verwendet, um Daten im Netzwerk, auch im Internet, auszutauschen. HTTP ist ein sogenanntes Protokoll, das auf dem TCP/IP Stack aufsetzt. Das TCP/ IP wird für die Adressierung und Kontrolle der Unversehrtheit der Daten verwendet und das HTTP beschreibt, wie die Daten aufgebaut sind, enthält die eigentliche Information und macht eine Aussage darüber, welche Besonderheiten während der Verarbeitung beachtet werden müssen. Dazu kommt dann noch die Möglichkeit der Übertragung von Fehlercodes, falls es mal zu Problemen kommt. HTTP ist hierbei eine pure Software Lösung, d.h. alles wird durch ein Programm erstellt und gesteuert. In der Regel wäre das Programm ein Webbrowser, z.Bsp. Edge, und ein Webserver, z.Bsp. NGINX. Aber wie funktioniert das im Detail?
Ich gehe nicht so richtig ins Detail, aber letztlich ist die Übertragung von Daten mit HTTP ein Frage/ Antwort Spiel. Wenn ihr im Webbrowser in der Adresszeile z.Bsp. euer Synology NAS mit “http://syno.nas/” aufruft, oder was auch immer ihr da konfiguriert habt, oder im Internet die Webseite “www.google.de”, dann sendet der Browser eine Anfrage an das Synology NAS oder Google, in der Hoffnung, dass dort ein Programm gestartet ist, das diese Anfrage beantworten kann. Wenn das NAS oder der Google Dienst online ist, dann sollte dort tatsächlich ein Programm gestartet sein, der Webserver, der die Anfrage beantworten kann. Diese Anfrage vom Webbrowser an den Webserver ist nichts weiter als ein Befehl, den Inhalt einer dort gespeicherten Datei, der Webseite, zu übermitteln. Es gibt noch andere Anfragen bzw. Befehle an den Webserver, aber das ist die Grundidee. Und weil die ganze Sache nach einem offenen festgelegten Standard (einem Protokoll) durchgeführt wird, kann es jedes System, egal ob Mac PC, Windows PC, Linux PC oder Smartphone, verwenden und verstehen. Genial, oder? Aber die Sache hat einen Haken: Die Daten werden unverschlüsselt übertragen!
Deswegen wurde eine Erweiterung eingeführt, die diese Daten verschlüsselt. Erfunden hat es das Unternehmen Netscape 1994 und implementierte es dann in seinem eigenen Webbrowser “Netscape” (obsolete). Die Erweiterung nennt sich “HTTPS” und ist mittlerweile, auch wegen gesetzlicher Vorgaben, der Standard zur Übertragung von Webseitendaten im Internet geworden. Der Unterschied zum HTTP besteht darin, dass ihr z.Bsp. Informationen mit der Webseite austauschen könnt, die zwar gesehen werden können, aber nur als eine Aneinanderreihung von Zahlen, Buchstaben und Zeichen erkennbar sind. Man kann aber noch erkennen, welche Webseite aufgerufen wurde, welche Aktionen dort durchgeführt wurden und noch ein paar andere Sachen. Diese Verschlüsselung ist aber bereits ein großes Problem für manche Unternehmen, weil man diesen Datenaustausch nicht direkt scannen kann, d.h. die Beschäftigten rufen irgendwelche Webseiten auf, laden Daten herunter und keine Ahnung was noch, aber man kann nicht in Echtzeit prüfen, ob dadurch z.Bsp. ein Schadprogramm eingeschleust wird. Blöd gelaufen, aber es gibt da einen Ansatz die Verschlüsselung zu knacken.
Jetzt haben sich ein paar schlaue Menschen gedacht: “ Was wäre, wenn wir ein System nutzen würden, das zwischen den PC’s der Mitarbeiter und dem Internet, in diesem Fall dem Router, gelagert ist? Dadurch könnten wir doch die Anfragen der Webbrowser der Mitarbeiter abfangen und die Antworten einsehen. ”. Gesagt, getan… Ein paar kleine Anpassungen in den Verschlüsselungseinstellungen der Mitarbeiter PC’s, speziell den Zertifikaten, und schon funktioniert das (wobei 2 Herangehensweisen existieren). Die Verschlüsselung über das Internet ist nach wie vor entsprechend den Anforderungen intakt, aber zur Unternehmensseite hin können die Daten mitgelesen werden.
Das Beschriebene klingt sehr einfach, aber ist es nicht. Außerdem benötigt es viel Rechenleistung (also Strom) und es ist meines Wissens fehlerhaft, d.h. es funktioniert nicht immer und kann sogar nachteilig für das Unternehmensnetzwerk sein. Genauso stellt es einen Verstoß gegen sämtliche Datenschutzregelungen dar, wenn die Mitarbeiter nicht darüber in Kenntnis gesetzt werden. Bereits das Erfassen aufgerufener Webseiten ohne solche Systeme gehört dazu.
Funktioniert das Mitlesen überall? Nee, nicht direkt. Das HTTPS arbeitet mit Zertifikaten, die die Echtheit des Webservers/ Webseite/ Webdienst gewährleisten sollen. Für diese Prüfung sind vorgegebene Zertifikate auf allen PC’s und Smartphones der Welt installiert, die dann zur Gegenkontrolle verwendet werden. Man müsste also diese Zertifikate ändern oder ein eigenes Zertifikat installieren, um die Daten mitlesen zu können. Viele komplexe Webanwendungen würden auch sofort die Nutzung unterbinden, wenn ein falsches Zertifikat verwendet wird. Es ist aber nicht unmöglich, entsprechende Sicherheitslücken entstehen ab und zu, aber im Normalfall ist man sicher. Es sei denn man knackt die Verschlüsselung, aber auch das erfordert Glück, in der Regel entstanden durch menschliches Versagen, und es benötigt ein bissel mehr Rechenleistung.