Wie kommt eine Website (sicher) auf meinen PC?

Andreas Brüggemann

Feedback

In diesem Artikel erkläre ich, was beim "Surfen" eigentlich im Hintergrund geschieht und worauf man zur eigenen Sicherheit achten sollte. Die Hintergrundinformationen können hilfreich sein, um die grundsätzlichen Konzepte zu verstehen und sie auch auf andere Situationen übertragen zu können.

Was passiert, wenn ich eine Website aufrufe?

Für dieses Beispiel betrachten wir einfach diese Website. Wir rufen sie auf, indem wir beispielsweise in die Adressleiste des Browsers www.iteduc.de eingeben oder auf einen Link klicken, welcher eben auf diese Adresse verweist. Nun ergänzt der Browser diese Adresse zunächst zu https://www.iteduc.de. https steht hier für ein sogenanntes Protokoll, was zur Datenübertragung genutzt werden soll. Weitere Informationen dazu folgen später. Manchmal wird stattdessen auch http genutzt. Es ist auch möglich, dass der Browser das Protokoll gar nicht anzeigt. Während übrigens das Ende der sogenannten Domain, hier .de, einen Ländercode angibt, ist auch eine ungefähre Angabe des Typs möglich, beispielsweise .com (.com steht für eine kommerzielle Verwendung und nicht wie oft angenommen einfach nur eine internationale Adresse). Es ist zu beachten, dass es keinesfalls verpflichtend ist, eine zum Inhalt "passende" Endung zu wählen. Interessant ist es auch, dass das www. mittlerweile keinen wirklichen Sinn mehr hat. Es wird oft nur noch als bedeutungsloser Teil der Gesamtadresse angesehen. Viele Seiten, wie auch www.iteduc.de, sind sowohl unter der Adresse mit dem www. als auch ohne diesen Anfang erreichbar. Jedoch ist es auch möglich, dass das www. zwischen zwei vollkommen unterschiedlichen Seiten unterscheidet.

Was passiert nun mit der vollständigen Adresse? Zunächst wird eine DNS-Abfrage gestartet. Das DNS (Domain Name System) kann man sich wie eine Art Telefonbuch vorstellen, in welchem den Adressen als Namen der jeweiligen Seite jeweils eine "Rufnummer" in Form der IP-Adresse zugeordnet wird. Auch, wenn nun in unserer Adressleiste https://www.iteduc.de/eintrag/sicheressurfen/index.html stehen sollte, wird nur die grundlegende Domain www.iteduc.de abgefragt. Hier ergibt sich das erste Sicherheitsrisiko: Sollte eine falsche Zuordnung genutzt werden, könnten wir uns ohne unser Wissen zu einem vollkommen anderen Server verbinden. Solche falschen Zuordnungen können zum Beispiel relativ einfach absichtlich von anderen Geräten im Heimnetzwerk geliefert werden. Auch ein Schadprogramm kann diese Zuordnungen bereits auf dem eigenen Rechner verfälschen. In der Praxis muss unter Windows eine einzelne Datei um eine einzige Zeile ergänzt werden... Ein Schutz hiergegen wird natürlich durch Sicherheitssoftware gegeben, allerdings erkennt https diese Angriffe ebenfalls. In der Regel wird die IP-Adresse nun von einem anderen Server, beispielsweise einem des eigenen Telekommunikationsanbieters abgerufen.

Kennt unser Browser nun die Ziel-IP-Adresse, so startet er eine Anfrage an den entsprechenden Server. Den grundlegenden Aufbau dieser Anfrage liefert nun http(s). Dieses Protokoll ist speziell für den Aufruf von Websites konstruiert. /eintrag/sicheressurfen/index.html sieht nun aus, wie ein Speicherpfad. Meist gibt der Teil der Adresse nach der Domain auch einen Pfad an. Allerdings gibt es Ausnahmen, welche wir nicht zu beachten haben. Nun weiß der Server, dass wir die Datei index.html in den Ordnern /eintrag/sicheressurfen benötigen. Liegt nur eine Ordnerangabe vor, wird die "Hauptdatei" des Ordners zurückgegeben. Der springende Punkt ist, dass beim Aufruf der Seite schlicht und einfach eine Datei zurückübermittelt wird.

Hat unser Browser nun die gewünschte Datei erhalten, so kann er uns die Website anzeigen. Dazu wird fast immer eine HTML-Datei genutzt. So wie beispielsweise PDF genutzt wird, um Dokumente zu repräsentieren, ist HTML darauf zugeschnitten, die Darstellung einer Website zu definieren. Zusammen mit weiteren ähnlichen Techniken ergibt sich dann das Bild, welches wir sehen. Nun wird uns aber nur die Kopie einer Datei vom Server angezeigt. Dies bedeutet auch, dass wir diese Kopie manipulieren könnten. Dies ändert ausschließlich, was uns angezeigt wird. Es hat keine Auswirkungen auf die reale Website und die Änderungen gehen durch erneutes Laden verloren, da wir so eine neue Kopie anfordern. Zu beachten ist also, dass es jedem möglich ist, lokale Änderungen vorzunehmen und damit Inhalte vorzutäuschen, welche eigentlich auf der Website nicht existieren. Eine Seite auf dem Bildschirm einer anderen Person könnte also unter Umständen eine massive Fälschung der eigentlichen Seite sein. Es gibt keine technischen Gegenmaßnahmen. Im HTML-Quelltext einer Seite wird übrigens sehr oft auf weitere Dateien verwiesen, welche dann im Hintergrund mit dem gleichen Mechanismus wie oben angefordert werden. So werden auch Seiten schon angezeigt, wenn die Bilder noch geladen werden müssen und es zu kleinen Verzögerungen kommt.

Neben dem einfachen Transfer von gesamten Dateien können über http(s) auch Formulareingaben usw. übermittelt werden. Oft werden zudem kleinere Dateien übermittelt, welche flexibel Teile der gerade angezeigten Seite ändern, ohne dass die gesamte Seite neu gesendet werden muss.

Was ist der Vorteil von https?

http hat drei massive Schwächen. Zunächst ist es nicht in der Lage, einen Server zu authentifizieren. Das bedeutet, dass es keine Garantie gibt, dass wir beim Aufruf von www.iteduc.de tatsächlich mit dem richtigen Server verbunden werden. Dies betrifft beispielsweise die Sicherheitsprobleme mit DNS, welche zuvor erläutert wurden. Außerdem kann nicht sichergestellt werden, dass die Daten auf dem Weg zwischen uns und dem Server nicht durch eine dritte Stelle manipuliert wurden. Zuletzt ermöglicht http es nicht, die Verbindung zum Server zu Verschlüsseln. Also kann jeder den Transfer mitlesen. Dazu zählen auch persönliche Daten, Kennwörter und vieles mehr. Trotzdem wird http noch genutzt. Beispielsweise beim Transfer von öffentlichen Bildern entsteht kein großes Sicherheitsrisiko.

Bisher wurden nur Probleme von http erklärt. Vorteil von https ist nun, dass alle genannten Probleme von http behoben wurden. Der Transfer läuft nun verschlüsselt, authentifiziert und unverfälscht ab. Trotzdem sind wir nun nicht vollkommen sicher. Um möglichst sicher zu sein, sind die folgenden Hinweise zu beachten:

Wir müssen sichergehen, tatsächlich https zu nutzen. Neben der Adressleiste zeigen die meisten Browser bei erfolgreichem Verwenden von https ein grünes Schloss oder Ähnliches an. Manchmal wird hier auch gewarnt, dass einzelne Teile nicht verschlüsselt sind. Oftmals handelt es sich dabei um die bereits genannten Bilder, welche kein hohes Risiko darstellen. Wird die Seite nicht über https aufgerufen, können wir versuchen, manuell das http der Adresse durch https zu ersetzen. Es gibt zwei wahrscheinliche Fälle, in denen es zu Fehlern kommt. Einerseits ist es möglich, dass die Seite über kein sogenanntes SSL-Zertifikat verfügt und somit https nicht möglich ist. Andererseits kommt es auch bei fehlerhaften Zertifikaten zu Fehlern. Bei fehlerhaften Zertifikaten warnt der Browser oft. Ich rate dringend davon ab, die Seite in einem solchen Fall überhaupt zu besuchen. Wenn lediglich kein https möglich ist, sollte besonders vorsichtig mit persönlichen Daten umgegangen werden.

Wir können uns auch selber Zertifikate installieren. Die Sicherheit kommt jedoch daher, dass wir nur solche von vertrauenswürdigen Stellen nutzen. Viele davon sind vorinstalliert. Also sollten wir keine Zertifikate manuell installieren, deren Quelle wir nicht blind vertrauen. Insgesamt rate ich davon ab, wenn man sich nicht genauer mit dem Thema auskennt. Ist einmal ein bösartiges Zertifikat installiert, entfallen die Sicherheitsvorkehrungen durch https zu großen Teilen.

Manchmal ist das Umleiten einer Verbindung auch erwünscht. Beispiel ist die Anmeldung in einem öffentlichen WLAN-Netzwerk. Zu dieser wird man automatisch umgeleitet, wenn man im Browser eine Website aufrufen will. Nutzt unser Aufruf der Website nun https, so erhalten wir ein ungültiges Zertifikat zurück, weil wir auf die Anmeldung für das Netzwerk umgeleitet werden. Die Anmeldeseite könnte blockiert werden oder einfach nicht laden. In diesem Fall müssen wir aus dem https in der Adresse das s wieder streichen und die Anfrage erneut starten. Sind wir einmal angemeldet, sollte natürlich wieder https genutzt werden.

Die Authentifizierung mittels https stellt lediglich sicher, dass wir tatsächlich mit dem Server, zu dem die gegebene Domain gehört, kommunizieren. https schützt uns aber nicht davor, dass wir beispielsweise mit www.xyz-bank.de kommunizieren wollen, aber einen Link für www.xyz-bànk.de anklicken. Also müssen wir immer die Domain im Auge behalten. Bereits unauffällige Satzzeichen oder sogar die Verwedung von "à" statt "a" können uns zu vollkommen anderen eventuell betrügerischen Seiten führen. Auch zu beachten: Der Text eines Links, den wir sehen, muss nicht der tatsächlichen Zieladresse entsprechen. Weil man diese kleinen Manipulationen einfach übersehen kann, empfehle ich, nie auf Links aus Chats, Mails etc. zu klicken, bei denen nicht vollkommen sicher ist, dass diese seriös sind. Am besten gibt man die Adressen stets selber ein oder hat diese bereits selber gespeichert.

Zusammenfassung

Insgesamt ist das "Surfen" deutlich sicherer, wenn man https nutzt. Beim Online-Banking, der Eingabe von Passwörtern oder Ähnlichem sollte man keinesfalls auf https verzichten. Obwohl https die Kommunikation zwischen dem jeweiligen Server und dem eigenen Rechner sehr sicher macht, sollten wir stets im Hinterkopf behalten, dass Anwenderfehler wie das Anklicken böswilliger Links und Schadsoftware auf dem eigenen Rechner massive Sicherheitsrisiken sind, vor denen uns https in keiner Weise schützen kann. Sind die Kopien der benötigten Dateien erst einmal auf dem eigenen Rechner, können diese verborgen im Hintergrund oder auch direkt durch den Nutzer manipuliert werden.