Zum Inhalt springen
EUID Prüfservice & Prüfsiegel, Startseite
Website prüfen lassen

Prüfpunkt software.websocket.unverschluesseltVerschlüsselung und Transport

Warum braucht eine Live-Verbindung auf einer https-Seite wss://?

Für Chat, Live-Kurse oder Benachrichtigungen hält eine Seite oft eine dauerhafte Verbindung zum Server offen, einen WebSocket. Seine Adresse beginnt mit ws:// für unverschlüsselt oder wss:// für verschlüsselt, so wie http:// und https://. Die Prüfung sucht im Quelltext jeder Seite, die über https lädt, nach einer Adresse mit ws:// und nennt sie im Bericht.

Im Chat stehen Namen, Bestellnummern und Fragen zur Rechnung

Über eine Live-Verbindung läuft oft, was Besucher selbst eintippen: ihren Namen, die Bestellnummer, die Frage zu einer Rechnung, beim Chat einer Praxis auch Beschwerden. Das sind personenbezogene Daten. Artikel 32 der DSGVO verlangt dafür Schutzmaßnahmen, die dem Risiko angemessen sind, und nennt die Verschlüsselung ausdrücklich als Beispiel. Die Live-Verbindung hat ihre eigene Adresse und wird nur verschlüsselt, wenn diese mit wss:// beginnt.

Ein Chat, der nicht startet, meldet sich bei niemandem

Blockiert der Browser die Verbindung, erfährt davon zunächst nur das Skript der Seite. Zeigt es keine Meldung an, sieht der Besucher einen Chat, der endlos lädt, oder eine Bestandsanzeige, die stehen bleibt. Wer vor dem Kauf eine Frage hatte, geht wieder. Bei Ihnen kommt nichts an, auch keine Beschwerde. In der Statistik des Chats sieht es so aus, als hätte heute nur niemand gefragt.

wss:// schützt die Leitung, den Zugang regelt Ihr Server

Verschlüsselung verhindert das Mitlesen unterwegs. Wer sich verbinden darf, ist eine eigene Frage. Browser schicken beim Aufbau einer Live-Verbindung die Cookies mit, je nach deren Einstellung auch dann, wenn eine fremde Seite die Verbindung öffnet. Prüft Ihr Server die Herkunft nicht, kann diese fremde Seite im Browser Ihres angemeldeten Kunden mitlesen. Das Sicherheitsprojekt OWASP rät deshalb, die Kopfzeile Origin bei jedem Verbindungsaufbau gegen eine feste Liste zu prüfen. Die WebSocket-Norm sieht für eine unerwünschte Herkunft die Antwort 403 vor.

Eine verschlüsselte Seite mit unverschlüsselter Verbindung

Lädt die Seite über https, ihre Live-Verbindung aber über ws://, gehen die Nachrichten dieser Verbindung im Klartext über das Netz. Heutige Browser lassen das meist gar nicht zu und blockieren die Verbindung als gemischten Inhalt. Dann funktioniert der Chat oder die Live-Anzeige nicht, und der Besucher sieht keinen Grund dafür. Ältere Browser oder eingebettete Ansichten in Apps bauen die Verbindung womöglich auf; dann kann jeder im selben Netz mitlesen, was darüber läuft.

Gemessen wird der Quelltext der Seite

Die Prüfung liest den Quelltext jeder Seite des Laufs, die über https lädt, und sucht eine Adresse in Anführungszeichen, die mit ws:// beginnt. Findet sie eine, nennt der Bericht die Adresse. Skripte, die als eigene Datei nachgeladen werden, durchsucht dieser Prüfpunkt nicht; eine ws://-Adresse dort taucht hier also nicht auf. Steht die Adresse nur in einem Kommentar oder einer nicht genutzten Einstellung, nennt der Beleg sie trotzdem; Ihre Agentur kann sie dann entfernen.

Auf wss:// umstellen

Ihre Agentur ändert die Adresse in wss:// oder baut sie aus der Adresse der Seite, sodass sie automatisch dem Protokoll der Seite folgt. Der Server der Live-Verbindung braucht dafür ein gültiges Zertifikat, meist dasselbe wie die Website. Läuft die Verbindung über einen eigenen Port oder Dienst, richtet Ihr Hoster dort die Verschlüsselung ein oder leitet sie über den Webserver.

Beispiele

Adresse der Live-Verbindung

Nicht erfüllt
const verbindung = new WebSocket('ws://ihre-domain.at/live');
Erfüllt
const verbindung = new WebSocket(`wss://${location.host}/live`);

Mit location.host folgt die Adresse der Domain der Seite; wss:// verschlüsselt die Verbindung wie https die Seite.

So gehen Sie es an

  1. Lassen Sie Ihre Agentur die Adresse aus dem Bericht suchen: welcher Teil der Seite baut die Verbindung auf?
  2. Sie stellt die Adresse auf wss:// um.
  3. Ihr Hoster sorgt für ein gültiges Zertifikat am Dienst der Live-Verbindung.
  4. Prüfen Sie danach Chat oder Live-Anzeige in einem aktuellen Browser.
  5. Lassen Sie die Website neu messen. Der Bericht zeigt, ob noch eine ws://-Adresse im Quelltext steht.

Tipps aus der Praxis

  • Steht im Beleg ws://localhost oder ws://127.0.0.1, ist das ein Rest aus der Entwicklung: Die Adresse zeigt auf das Gerät des Besuchers. Ihre Agentur kann sie löschen.
  • Kommt der Chat von einem Anbieter, steht die Adresse in dessen Einbettungscode. Holen Sie den aktuellen Code aus Ihrem Konto beim Anbieter.
  • Ein Anmeldeschlüssel gehört auch bei der Live-Verbindung nicht in die Adresse, weil sie in Protokollen landet. OWASP empfiehlt, ihn in der ersten Nachricht über wss:// zu schicken.
  • Lassen Sie prüfen, ob offene Verbindungen enden, wenn die Sitzung abläuft. OWASP rät, sie dann zu schließen, sonst läuft die Verbindung nach der Abmeldung weiter.

Weiter in der Cybersicherheit

Dieser Prüfpunkt gehört zur Cybersicherheit, Unterthema Verschlüsselung und Transport. Gemessen wird er im Prüfbereich Aktualität. Was die Prüfung insgesamt leistet, zeigt die Leistungsseite; wie ein Ergebnis zustande kommt, erklärt das Prüfverfahren.

  • Siegel Digitale Barrierefreiheit
  • Siegel Daten & Recht
  • Siegel Technische Qualität
  • Siegel Digital Excellence
  • Siegel Cyberversicherung

Geprüft. Für eine bessere digitale Zukunft.euid.com