Übersetzung des Leitfadens der Vereinigung European Digital Rights (EDRi)
1. Grundlagen
Nutzer-Erwartungen
Menschen, die eine Website aufrufen, haben eine Reihe berechtigter Erwartungen. Sie wollen sich sicher fühlen. Sie möchten nicht, dass ihre Endgeräte oder die darauf befindlichen Daten angegriffen und ausgespäht werden. Sie möchten, dass ihre Privatsphäre respektiert wird. Einige dieser Anforderungen sind in Gesetzen wie der Allgemeinen Datenschutz-Grundverordnung (DSGVO) der EU festgeschrieben. Bisher ging es lediglich darum, dass ein Dienst technisch einfach und zuverlässig funktioniert. Wenn ein Dienst fehlerhaft, unübersichtlich oder unsicher ist, werden die User ihn deshalb möglicherweise nicht weiter nutzen. Wichtiger in diesem Zusammenhang ist jedoch, dass – wenn sie sich entscheiden, das Angebot weiterhin zu nutzen – sie lernen, Dinge zu tolerieren, die besser nicht toleriert werden sollten. Hier liegt das eigentliche Problem.
Vertrauenswürdigkeit und Sicherheit
Neben Erwartungen an Datenschutz und Privatsphäre gibt es auch Anforderungen an die Zuverlässigkeit der Systeme. Sie sollten trotz Ausfall von Komponenten, verteilten Denial-of-Service (DDoS) und anderen Angriffen verfügbar bleiben. Außerdem müssen Maßnahmen ergriffen werden, um die Integrität und Vertraulichkeit der Daten zu gewährleisten.
Personenbezogene Daten und Einhaltung der DSGVO
Websitebetreiber mit Sitz in der EU (oder die Dienstleistungen für EU-Bürger anbieten) müssen die DSGVO einhalten. Diese zielt in erster Linie darauf ab, Menschen die Kontrolle über ihre personenbezogenen Daten zu geben. Die DSGVO ist aber ein komplexes und weitreichendes Gesetz. Bereits eine IP-Adresse gilt als personenbezogener Datenbestand. Dies liegt daran, dass eine IP-Adresse mit einer Person in Verbindung gebracht werden kann, wenn sie mit anderen Informationen kombiniert wird. Wenn Dienste von Drittanbietern eingebunden werden, um beispielsweise Funktionen oder Inhalte wie Javascript und Bilder bereitzustellen, erfahren sie die IP-Adresse der Website-Besucher. Aus diesem Grund kann nach der DSGVO ein Auftragsverarbeitungsvertrag (AVV) mit jedem dieser Drittanbieter erforderlich sein. Der DSGVO-Grundsatz “privacy by default” bedeutet, dass bei der Bereitstellung eines Dienstes mit verschiedenen Datenverarbeitungsstufen die Standardeinstellung diejenige sein muss, die den Datenschutz am meisten respektiert. Wenn der User diese Einstellungen selbst ändern kann, muss das transparent und einfach möglich sein. Die Beachtung der folgenden Grundsätze ist neben der Gewährleistung eines ethischen Ansatzes auch ein erster Schritt zur Einhaltung der Rechtsvorschriften der DSGVO.
2. Allgemeine Empfehlungen
- Möglichst viel der Datenverarbeitung sollte auf den Endgeräten des Nutzers erfolgen.
- Wenn Sie Nutzerdaten übertragen und verarbeiten müssen, verschlüsseln Sie diese. Ermöglichen Sie Ende-zu-Ende-Verschlüsselung für jede relevante Kommunikation. Das Ziel sollte sein, dass private Informationen nicht für Dritte sichtbar sein können.
- Verwenden Sie nach Möglichkeit Methoden zur Datenminimierung. Fragen Sie immer nur Daten ab, die tatsächlich verarbeitet werden müssen.
- Vermeiden Sie – so weit möglich – Lösungen von Drittanbietern. Versuchen Sie alles auf Ihrem eigenen Server zu hosten. Dies umfasst Code und Inhalte von Drittanbietern wie:
- Cookies
- CSS-Dateien
- Bilder
- Medien wie Video- und Audiodateien
- Javascripts
- Frames und Widgets mit Inhalten von Drittanbietern
- Webfonts
- Wenn das Installieren einer externen Ressource wie einer Javascript- oder Webfont-Datei auf dem eigenen Server laut Nutzungsbedingungen des Anbieters nicht zulässig ist, ist das Angebot wahrscheinlich sowieso nicht datenschutzfreundlich und sollte besser ganz gemieden werden. Wenn Sie Ressourcen von Drittanbietern einbinden wollen, kann die Verwendung von Subresource Integrity (SRI) eine gute Idee sein.
3. Empfehlungen zur IT-Sicherheit
Informationssicherheit muss auf allen Ebenen berücksichtigt werden. Sicherheitsentscheidungen müssen unterschiedliche, potentiell widersprüchliche Ziele berücksichtigen, und sie können nicht isoliert getroffen werden. Sie können sich z. B. auf die Geschwindigkeit und Benutzerfreundlichkeit eines Angebots auswirken und erheblichen Einfluss auf die benötigten Ressourcen, d.h. auf den Geld- und Arbeitsaufwand, haben.
Im Allgemeinen sollte Folgendes gewährleistet sein:
- Die Website sollte keine Gefährdung für das übrige Internet darstellen.
- Die Integrität der Website selbst sollte gewahrt bleiben.
- Die gesamte Kommunikation sollte sicher sein.
- Die Sicherheit und Privatsphäre der Besucher sollte geschützt werden.
Das Erreichen dieser Ziele ruht in der Regel auf zwei Säulen: Teilen (Sharing) und Standardisierung. Bei neuen Bedrohungen ist es wichtig Informationen auszutauschen, z. B. über entsprechende Mailinglisten oder Social Media Kanäle. Darüber hinaus stellt die Implementierung bewährter aktueller Standards sicher, dass Sie nicht das schwächste Glied in der Kette sind.
ISO
Die ISO hat eine Reihe von hilfreichen Standards veröffentlicht, darunter die folgenden über Qualität und Sicherheit:
- ISO / IEC / IEEE 90003:2018 (Softwareentwicklung)
- ISO/IEC 27000-Reihe (Standards zur Informationssicherheit)
Diese Standards bieten unter anderem ein gemeinsames Vokabular, das nützlich sein kann – z. B. zum Nachweis der Einhaltung der DSGVO.
Domain Name System Security Extensions (DNSSEC)
Ein DNS-Teilnehmer kann mit DNSSEC verifizieren, dass die erhaltenen DNS-Zonendaten auch tatsächlich identisch mit denen sind, die der Ersteller der Zone autorisiert hat.
Tor-Browser
Manche Nutzer verwenden den Tor-Browser, um ihre Privatsphäre und Sicherheit zu schützen. Wenn Sie einen Provider für Ihre Website wählen, stellen Sie sicher, dass Tor-Verbindungen erlaubt sind. Mit dem Onionshare-Tool kann man mit wenigen Klicks eine anonyme und unzensierbare Version der bestehenden Webseite veröffentlichen.
HTTPS
Lassen Sie keine unverschlüsselten Verbindungen zu Ihrer Website zu und leiten Sie immer die Verbindung über HTTPS, um Man-in-the-Middle-Angriffe und Abhören zu vermeiden. Die zentrale Motivation für HTTPS ist die Authentifizierung der aufgerufenen Website und Schutz und Integrität der ausgetauschten Daten. Erwägen Sie die Verwendung von HSTS, um dies konsequent durchzusetzen.
Wählen Sie einen Provider, der zertifiziertes HTTPS ermöglicht. Wenn Sie Root-Zugriff auf den Server haben (oder Ihr Shared Hosting-Provider das ermöglicht), können Sie Let’s Encrypt verwenden, um ein kostenloses Zertifikat für alle benötigten Domains zu erhalten.
Stellen Sie bei Verwendung von HTTPS sicher, dass nur sichere Verschlüsselungsmethoden zugelassen sind. Einige der älteren HTTPS-Versionen sind nicht mehr sicher, da sie veraltete Algorithmen einsetzen. Im Web stehen kostenlose Ressourcen zum Testen der Sicherheit Ihres Webservers zur Verfügung, z. B. SSL Server Test.
Content Security Policy (CSP)
CSP ist ein Security Layer des W3C, das Sie auf Ihrem Webserver aktivieren können, um das Laden externer Ressourcen wie Skripte, Stylesheets und Bilder auf Ihrer Website zu blockieren. Es hilft bestimmte Arten von Angriffen, einschließlich Cross Site Scripting (XSS) und Data-Injection-Angriffe zu verhindern. Diese Angriffe dienen u. a. dem Ausspähen von Daten über Site Defacement (unberechtigtes Verändern einer Website) bis hin zur Verbreitung von Malware. Sie können Ihre CSP-Konfiguration über einen kostenlosen Dienst Observatory von Mozilla testen.
Javascript
Manche Web-Entwickler vertreten die Ansicht, dass Javascript ganz vermieden werden sollte, da es einige Benutzer ausschließen könnte und nicht barrierefrei ist. Barrierefreies Javascript zeigt, dass das aber nicht zwangsläufig so sein muss.
Wer Javascript einsetzt, sollte aber in jedem Fall auch eine Nicht-Javascript-Version anbieten, um niemanden auszuschließen. Am besten ist es zunächst eine Javascript-freie Website zu entwerfen und erst anschließend Javascript-basierte Funktionen zu ergänzen. Fügen Sie einen <noscript>-Tag ein, um eine Version für Benutzer anzubieten, die Javascript in ihrem Browser deaktiviert haben oder nicht nutzen können. Dies garantiert allen Benutzer ein barrierefreieres Surferlebnis.
Sensible Daten schützen
Wenn die Website persönliche Daten der Benutzer speichert, indem sie beispielsweise Personalisierung mit Login anbietet, sollten Sie Folgendes beachten:
- Setzen Sie die Verwendung von starken Passwörtern durch.
- Speichern Sie niemals Passwörter und andere sensible Informationen im Klartext. Verwenden Sie für sensible Daten immer kryptographische Hash-Verfahren.
- Wenn dies Ihre Möglichkeiten übersteigt, können Sie diese Aufgaben an einen Identitätsprovider auslagern und mit Single Sign On arbeiten.
- Um das Kommentieren von Blog-Posts zu ermöglichen, bieten sich Open-Source-Plugins von Drittanbietern wie Discourse oder dem Coral-Projekt an. Weitere Informationen finden Sie unter darekkay.com/blog/static-site-comments.
Schutz vor DDoS-Angriffen
Verteilte Denial-of-Service-Angriffe (DDoS) überfluten den Zielserver mit Anforderungen aus vielen verschiedenen Quellen, was zu einer Überlastung führt. Wenn Sie eine Website für eine gesellschaftlich engagierte Initiative, eine NGO, ein Aktivisten-Netzwerk o. ä. erstellen, sollten Sie in Betracht ziehen, diese vor DDoS-Angriffen zu schützen. Üblicherweise wird dazu zwischen dem Besucher und dem Hosting-Anbieter der Website ein Dienst eines Drittanbieters (DDoS-Mitigation Dienstleister) geschaltet, der als Reverse-Proxy für die Website arbeitet. Deflect ist z. B. eine kostenlose Open Source-Lösung, die von einer gemeinnützigen Organisation für digitale Sicherheit angeboten wird.
Die Nutzung von DDoS-Mitigationsdiensten bedeutet aber immer, dass Sie die Kontrolle über Ihren gesamten Datenverkehr an Dritte abgeben. Die Reputations- und sonstigen Risiken müssen daher sorgfältig bewertet werden. Es gibt auch DDoS-Abwehrkonzepte, die ohne Drittanbieter auskommen, weil sie dem Angriff auf Netzwerkebene begegnen.
Statische Websites sind zurück
Benötigen Sie wirklich eine dynamische Website? Wenn Sie keine Datenbank brauchen, stehen die Chancen gut, dass die aktuellen Webstandards wie HTML5 ausreichen, um eine hochmoderne Website nur mit statischen Ressourcen (HTML, CSS und vielleicht Javascript und Webfonts) zu erstellen (siehe JAMstack). Dies bedeutet nicht, dass Sie die Navigation u. ä. von Hand codieren müssen. Mit modernen statischen Website-Generatoren wie Jekyll, Hugo oder Pelican können Sie Ihre Inhalte in Markdown oder einfachem HTML erstellen und daraus automatisch eine vollständige HTML-Website erzeugen lassen. Wenn Sie GitLab Pages verwenden, können die Konvertierung und Bereitstellung auch automatisiert werden. Statische Websites erreichen konkurrenzlose Performance und Betriebssicherheit, da sie keine Datenbank und serverseitigen Programmcode benötigen. Ein einfacher Webserver, der die statischen Dateien bereitstellt, genügt. Folglich werden sie weniger von Sicherheitslücken heimgesucht und sind blitzschnell.
4. Alternativen zu teuren „kostenlosen“ Diensten Dritter
Der Einsatz von Tools von Google, Facebook, Amazon und anderen Datenkraken gilt als unvereinbar mit dem Schutz der Privatsphäre Ihrer Website-Besucher. Web-Entwickler mit ethischem Anspruch, denen die Privatsphäre ihrer Benutzer am Herzen liegt, versuchen in der Regel, solche Dienste (auch von Tochterunternehmen) weder direkt noch indirekt zu nutzen. Es gibt Dutzende ethischer, benutzerfreundlicher und datenschutzbewusster Alternativen, von denen viele in Prism Break zu finden sind. Uns ist klar, dass Dienste von Drittanbietern manchmal trotzdem sehr nützlich sind. Daher stellen wir nachfolgend ein paar datensparsame Alternativen vor:
Website-Statistik
Es ist wichtig zu beachten, dass Besucher-Statistiken im Allgemeinen fehlerhaft sind, weil sie von vielen Anti-Tracking-Tools blockiert werden. Daher liefern sie nur ein ungenaues Bild. Wenn Sie dennoch eine statistische Auswertung benötigen, empfehlen wir den Einsatz von Matomo (ehemals Piwik) anstelle von Google Analytics oder eines anderen Drittanbieter-Statistik-Tools. Es handelt sich um eine datenschutzfreundliche DSGVO-konforme Analyseplattform, die sehr einfach zu installieren ist und so konfiguriert werden kann, dass Daten automatisch anonymisiert und so nur eine minimale Menge an persönlichen Daten verarbeitet werden. Matomo kann auch auf der Basis von Serverlogfiles arbeiten und damit unabhängig von Tracking-Cookies alle Seitenbesuche zählen.
Videos
Youtube gehört zur Alphabet Inc., der multinationalen Konzernmutter von Google. Beim Einbetten eines Videos von Youtube gibt es die Möglichkeit, den Modus mit erweiterter Privatsphäre zu aktivieren (youtube-nocookie.com). Das bedeutet, dass Youtube keine Tracking-Cookies auf den Geräten der Besucher Ihrer Website platziert, es sei denn, das Video wird abgespielt. Die Option “vorgeschlagene Videos anzeigen, wenn das Video beendet ist” sollte ebenfalls deaktiviert werden. Wenn Sie ein Youtube-Plugin für Ihr Content-Management-System verwenden wollen, suchen Sie nach einem, das diese Optionen unterstützt.
Eine noch bessere Lösung ist die Verwendung oder sogar den Betrieb einer eigenen Peertube-Instanz in Betracht zu ziehen. Peertube hat den zusätzlichen Vorteil, dass es weniger anfällig für böswillige Take-Down-Anforderungen (Löschanträge) ist als Youtube. Außerdem wird Ihrem Inhalt keine Werbung beigefügt, was natürlich zur Folge hat, dass Sie mit Ihren Videos auf Peertube auch kein Geld verdienen können. Kommerzielle Video-Hosting-Plattformen wie Youtube spähen ja genau deshalb Nutzerdaten aus, um auf dieser Grundlage Geld mit Werbung einnehmen zu können. (Falls Sie auf dieses Geschäftsmodell setzen, sollten Sie sich bewusst machen, dass Youtube die Bedingungen dafür jederzeit willkürlich ändern kann.)
Vimeo erlaubt es Pro-Benutzern, ihre Videodateien ohne den Vimeo-Player (der Google Analytics enthält) zu verwenden, so dass dies eine weitere datenschutzfreundliche Alternative ist.
Maps
Wenn Sie die Google Maps-API zum Einbetten einer Karte in Ihre Website verwenden, zwingen Sie die Nutzer, die Google-Datenschutzbestimmungen zu akzeptieren. Als Alternative können Sie OpenStreetMap einsetzen.
Schriftarten und Symbole
Anstatt Google-Fonts einzubinden, die die Nutzer zwingen, die Google-Datenschutzbestimmungen zu akzeptieren, können Sie auch andere Schriftarten verwenden:
- Fork Awesome ist eine sehr große Bibliothek von Open-Source-Icons.
- Fontello ermöglicht Ihnen, eine eigene begrenzte Auswahl an Symbolen zu erstellen, um nicht alle laden zu müssen.
- Fontspring bietet an, Ihre Schriften selbst zu hosten.
- FontSquirrel stellt kostenlose Fonts zur Verfügung, die selbst gehostet werden können.
Schließlich können Sie auf den Google-Webfonts-Helper zurückgreifen, um einen vollständigen lokalen Satz von CSS- und Schriftartendateien zu erstellen und diese dann selbst zu hosten. Dadurch können Web-Entwickler immer noch alle Schriften von Google Fonts mit wenig bis gar keinem zusätzlichen Aufwand verwenden, ohne sie direkt von Google einzubinden.
Social Widgets
Der Standardcode zur Einbettung von “Sozialen Buttons”, der von den Plattformen bereitgestellt wird, z. B. “Gefällt mir” oder “Teilen”-Buttons, sendet Informationen an diese Sozialen Netzwerke, auch wenn der Benutzer nicht darauf klickt. Es gibt viele Möglichkeiten dies zu vermeiden und trotzdem die gleiche Funktionalität zu bieten. Eine davon ist die Verwendung von Social Share Privacy. Hierbei gibt es eine JavaScript- und eine Nicht-JavaScript-Option.
Sharingbuttons.io ist eine weitere Alternative, um Tracking und JavaScript zu vermeiden. Aufgrund der Tatsache, dass es ohne JavaScript arbeitet, werden die Buttons sehr schnell geladen und blockieren das Rendern Ihrer Website nicht.
Natürlich können Sie die Schaltflächen auch einfach selbst erstellen und verlinken. Noch besser ist es aber, konzeptionell ganz auf die Integration von Social Media Kanälen zu verzichten bzw. datenschutzfreundliche Open-Source-Alternativen dafür zu suchen.
Captchas
Captcha-Funktionen kommen zum Einsatz, um Spam in Online-Formularen oder Benutzerkommentaren zu verhindern. Es gibt dennoch gute Gründe, sie überhaupt nicht zu verwenden. Um tatsächliche Benutzer von “Bots” zu unterscheiden, werden oft (gutes) Hören oder Sehen als Fähigkeiten abgeprüft. Per Definition ist dies für Besucher mit Seh- oder Hörproblemen schwierig oder unmöglich. (Siehe “Website für alle zugänglich machen”.)
Derzeit haben viele Captchas von Drittanbietern außerdem Probleme mit dem Datenschutz. Google Captchas sind nicht nur lästig, sondern scheinen zusätzlich persönliche Daten über ihre Nutzer zu sammeln.
Es gibt bessere Möglichkeiten Ihre Website mit einfachen Captcha-Methoden zu schützen, bei denen kein externer Javascript-Code geladen werden muss. Falls es Konfigurationsmöglichkeiten gibt, sollten Sie auf Benutzerfreundlichkeit und den Datenschutz achten. Einige Beispiele für alternative Captchas sind:
- Drupal Captcha
- WordPress Für Kontaktformular 7 mit Honeypot
- WordPress Secure Image Captcha
- Securimage
- IndyCaptcha
… und mehr
Tools für die Organisation von Veranstaltungen
Für gesellschaftliches Engagement und Aktivismus sind persönliche Treffen wichtig. In dem Zusammenhang sollten Sie darauf achten, dass Dritte keine Informationen über die Teilnehmer erhalten und die Vertraulichkeit gewahrt bleibt. Prüfen Sie sorgfältig, welche Tools dies gewährleisten können. Attendize ist z. B. eine Open-Source-Plattform für Ticketverkauf und Eventmanagement.
Websites für alle zugänglich machen
Die barrierefreie Gestaltung von Websites stellt sicher, dass behinderte Nutzer uneingeschränkten Zugang zu den Inhalten und Dienstleistungen haben und ist daher sehr wichtig. Das W3C hat diesbezüglich nützliche Standards entwickelt:
- www.w3.org/WAI
- www.w3.org/standards/webdesign/accessibility
- www.washington.edu/accesscomputing/sites/default/files/30-Web-Accessibility-Tips.pdf
Verhindern Sie ungültige Links
Externe Informationen werden oft durch Links referenziert. Link-Ziele, die sich außerhalb Ihrer Kontrolle befinden, können irgendwann aus dem Internet verschwinden oder eine andere URL bekommen, womit die alten Referenzen ungültig werden. Es liegt auch in Ihrer Verantwortung, dafür zu sorgen, dass die Nutzer Ihrer Website zuverlässig auf die von Ihnen verlinkten Inhalte zugreifen können. Man kann zentrale Archivierungsdienste (z.B. das Internet-Archiv oder perma.cc) nutzen oder ein eigenes Archiv mit dem Amber-Tool anlegen und selbst hosten. Diese Dienste und Open-Source-Tools erstellen eine Momentaufnahme jeder auf der Website verlinkten Seite und bewahren sie auf.
Ethische Werbung
Sie sollten sich überlegen, Online-Werbung nicht einzubinden, wenn sie Benutzer ausspäht und mit diesen Daten handelt. Es gibt Alternativen, um diesem äußerst fragwürdigen Geschäftsmodell auszuweichen: Ethical Ads
Website-Suche
Wenn Sie eine Drittanbieter-Suchfunktion in Ihrer Website anbieten, sollten Sie eine Lösung in Betracht ziehen, die ihre Benutzer nicht ausspäht. Wenn Sie eine statische Website betreiben oder Ihr CMS keine gute Suchfunktion enthält, finden Sie hier weitere Tipps:
- Private Search Engines – A Complete Guide
- Javascriptbasierte Suchfunktion für statisch gehostete Websites
Schauen Sie sich auch die Open-Source-Metasuchmaschine Searx an, die keinerlei Userdaten ausspäht. Wenn Sie keine eigene Searx-Instanz betreiben wollen, können Sie einfach auch eine öffentliche Searx-Instanz verlinken.
Weitblick.org; Zugriff 14.01.2021