Joomla und die DSGVO - aktuell ein heiß diskutiertes Thema, bei dem sich viele Webseiten-Betreiber fragen: Welche Cookies werden denn gesetzt und welche externen Datenquellen verwende ich?

Dieser Artikel erläutert, wie man herausfindet, welche Cookies und externe Datenquellen Eure Webseite verwendet.

Du benutzt noch kein Joomla? Kein Problem - die beschriebenen Techniken gelten für alle Webseiten.


Joomla-Standard-Cookies

In der Standardkonfiguration setzt Joomla (hier in Version 3.9.2) einen Cookie - es handelt sich dabei um einen Session(Sitzungs)-Cookie.

Wie sieht man sich die Cookies an?

Im Browser "Chrome" klickt man auf das Feld direkt vor der URL, im dann öffnenden Fenster, kann man direkt auf "Cookies" klicken und erhält eine Liste das Cookies.

Cookies in Google Chrome ansehen
Cookies in Google Chrome ansehen
Standard-Session-Cookie in Joomla!
Standard-Session-Cookie in Joomla!

In Firefox ist das Ganze etwas umständlicher: Man klickt man mit der rechten Maustaste in die Webseite, im dann folgenden Popup-Menu auf "Seiteninformationen anzeigen". Es öffnet sich ein Fenster, in dessen Reitern man auf "Sicherheit" wechselt und dann auf die Schaltfläche "Cookies anzeigen" klickt.

Cookies in Firefox anschauen
Cookies in Firefox anschauen

Wozu ist so dieser Session-Cookie gut?

  • Das Session-Cookie ordnet dem Betrachter - besser gesagt seiner Browser-Sitzung - einen eindeutigen - zufällig erzeugten - Wert zu
  • Diesem Wert kann Joomla folgende Informationen zuordnen:
    • Sprache - bei mehrsprachigen Webseiten (weiter unten mehr Details)
    • Login-Status - indem man sich zum Beispiel zum Bearbeiten der Webseite einloggt, oder um Inhalte zu lesen, die erst nach einem Login zugänglich sind
  • Außerdem benutzt Joomla das Cookie, um das Absenden des Kontaktformulars nur dann zu erlauben, wenn ein Session-Cookie vorhanden ist. Spam-Bots, die automatisiert Spam versenden, verarbeiten nämlich oft keine Cookies und können somit das Kontaktformular nicht absenden
Joomla!-Kontaktformular - Prüfung des Session-Cookie
Joomla!-Kontaktformular - Prüfung des Session-Cookie

Cookie-Gültigkeit

Das Session-Cookie behält seine Gültigkeit bis zum Ende der Sitzung (Schließen aller Browserfenster), manchmal wird hier von "Transienten Cookies" gesprochen. Cookies, die eine längere Gültigkeit haben - und auch nach Schließen des Browsers gespeichert bleiben, nennt man "permanente Cookies". Hier gibt es bei der Speicherdauer große Unterschiede, das Cookie kann eine Woche gespeichert bleiben, oder aber auch Jahre.

Login-Status?

Bei nicht eingeloggten Benutzern werden dem Cookie auch keine weiteren Daten zugeordnet. Erfolgt ein Login, dann erfolgt eine Zuordnung zum Benutzer. 

Das folgende Bild zeigt 2 Sitzungen:

  1. Sitzung (Session) eines eingeloggten Benutzers, diesem wurde userid und username zugeordnet.
    Joomla - und viele andere moderne Webseiten-Systeme arbeiten so.
  2. Sitzung eines Betrachters, dieser ist anonym (guest="1")
Joomla-Sessions in der Datenbank
Joomla-Sessions in der Datenbank

Trackt Joomla die Benutzer?

Ein Tracking erfolgt mit dem Joomla!-Core und den Standardeinstellungen nicht, selbst bei eingeloggten Benutzern wird das Cookie nur für oben beschriebenen Funktionen benutzt. Da das Cookie auch nicht mit der IP-Adresse des Seitenbesuchers verknüpft wird und keine weiteren Aufzeichnungen erfolgen, kann man über das Cookie nicht ermitteln, was ein Seitenbesucher dort tut.

Um also einen Seitenbesucher "zu verfolgen", wären weitere Hilfsmittel und Maßnahmen erforderlich.

Mehrsprachigkeit in Joomla

Bei mehrsprachigen Webseiten benutzt Joomla Cookies, um die Sprache zu speichern.

Zuerst wird man sich fragen: Warum speichert Joomla! die Seitensprache in einem Cookie stehen?
Ganz einfach: Man kann in Joomla sprachneutrale URLs benutzen, aus denen die Spracheinstellung nicht hervorgeht. Ein prominentes Beispiel ist die Startseite,  www.meinejoomlaseite123.de/blog wäre ein weiteres Beispiel.

In den Standard-Einstellungen wird Joomla versuchen, die Sprache an zu zeigen, die im Browser als Standard eingestellt ist. Ein deutschsprachiger Besucher, der an einem englisch-sprachigen Computer/Browser sitzt, wird vermutlich die Seitensprache auf - falls angeboten - Deutsch einstellen.

Das Cookie stellt dann sicher, dass Inhalte sprach-neutraler URLs in der gewünschten Sprache angezeigt werden.

Standard-mäßig wird dazu das Session-Cookie verwendet, man kann Joomla! aber auch anweisen, einen länger gültigen Cookie zu setzen.

Einstellung das Cookie-Gültigkeits-Dauer für das Speichern der Seitensprache in Joomla!
Einstellung der Cookie-Gültigkeits-Dauer für das Speichern der Seitensprache in Joomla!

In diesem Fall wird dann ein weiteres Cookie erzeugt, in dem nur die Sprache gespeichert wird.

Separates Cookie für die Speicherung der Seitensprache in Joomla!
Separates Cookie für die Speicherung der Seitensprache in Joomla!

 

Weitere Cookies

Weitere Cookies können durch Erweiterungen, Templates oder externe Datenquellen gesetzt werden, das muss für jede Webseite im Einzelfall geprüft werden. Besonders beachten sollte man hier, dass bestimmte Unterseiten, die Plugins aufrufen oder externe Datenquellen einbinden, möglicherweise weitere Cookies setzen.

In folgendem Beispiel hat das Plugin "Kickgdpr" einen Cookie-Hinweise angezeigt. Nachdem der Benutzer den Hinweis akzeptiert hat und auf die Schaltfläche "Verstanden" geklickt hat, speichert das Plugin die erfolgte Zustimmung im Cookie "cookieconsent_status".

Ohne diesen Cookie wüsste das Plugin nicht, dass der Seitenbesucher schon zugestimmt hat - und würde den Cookie-Hinweis immer wieder anzeigen.

Vor der Zustimmung zur Datenschutzerklärung ist nur der Joomla-Standard-Cookie gesetzt
Vor der Zustimmung zur Datenschutzerklärung ist nur der Joomla-Standard-Cookie gesetzt

Klickt der Seitenbesucher oben im Banner auf "Verstanden", wird dies in einem Cookie gespeichert:

Zustimmung zur Datenschutzerklärung wird in Cookie gespeichert
Zustimmung zur Datenschutzerklärung wird in Cookie gespeichert

Externe Datenquellen in Joomla!

Was ist überhaupt mit Datenquellen gemeint?

Wenn eine Webseite geladen wird, dann werden, neben dem Webseiten-Dokument, noch weitere Dateien geladen, beispielsweise:

  • Bilder und Grafiken
  • Schriftarten
  • Javascript-Dateien
  • CSS-Dateien
  • Karten (zum Beispiel Google Maps)
  • Tracking (zum Beispiel Google Analytics oder Matomo/Piwik)

Diese Dateien können unter der Domain der Webseite liegen, oder von anderen Webseiten nachgeladen werden, in letzterem Fall spreche ich von externen Datenquellen. 

Oft verwendete externe Datenquellen sind:

  • Tracking-Software, wie Google Analytics oder Matomo/Piwik
  • Bereitstellen von Funktionen, zum Beispiel Javascript/CSS-Erweiterungen, wie jQuery oder Bootstrap, über Content Delivery Networks (CDN), wie Cloudflare oder Akamai
  • Bereitstellen von Schriftwarten, zum Beispiel Google Fonts
  • Bereitstellen von Karten, zum Beispiel Google Maps
  • Bereitstellen von Buchungs-Funktionen, zum Beispiel für Hotels, Ärzte oder Friseure
  • Bereitstellen von Werbung
  • Bereitstellen von Wetter, Verkehr
  • Sogar: Bereitstellen von Cookie-Zustimmungs-Bannern

Alle diese externen Datenquellen laden Daten von externen - nicht unter der eigenen Domain liegenden - Servern nach, hier bei wird dann u.a. die IP-Adresse an diese externen Server übermittelt.

Bitte beachte, dass der Ursprung einer Datenquelle (extern oder intern) nichts über Zulässigkeit, Deklarierungs- oder Zustimmungspflicht aussagt. In der Regel unterliegt eine externe Datenquelle aber nicht Deiner Kontrolle und verdient u.a. wegen der Weitergabe von Daten Deine Aufmerksamkeit. Auch technisch gesehen schaffen externe Datenquellen unnötige Abhängigkeiten, denn wenn die externe Datenquelle nicht zur Verfügung steht, funktioniert vielleicht Deine Webseite nicht richtig.

Ob in Eurer Webseite externe Datenquellen verwendet werden, hängt neben der bewussten Einbindung von weiteren Faktoren ab. Der Joomla!-Kern verwendet keine externen Datenquellen, wohl aber das mitgelieferte Standard-Template "Protostar". Erweiterungen können ebenfalls externe Datenquellen einbinden, manchmal kann man dies sogar einstellen, beispielsweise im Plugin "Kickgdpr:

im Plugin
im Plugin "kickgdpr" kann man die Datenquelle einstellen

Wie erkenne ich externe Datenquellen?

In den weitverbreiteten Browsern Firefox und Chrome stehen "Entwicklertools" bereit, die hier eine leichte Analyse ermöglichen.

Durch Drücken der Funktionstaste "F12" oder "Strg-Shift-I" öffnen sich in beiden Browsern die Entwicklertools, Datenquellen werden jeweils unter dem Reiter "Netzwerk..." dargestellt. Hier sollte die Seite neu geladen werden und der Anzeige-Filter auf "All/Alles" eingestellt sein.

Anschließend sucht man in der Spalte "Domain" (Chrome) bzw. "Host" (Firefox) - die manchmal erst eingeblendet werden muss - nach Domains, die nicht der Domain der Webseite entsprechen, wie in den folgenden Bildern beispielhaft gezeigt wird. 

Datenquellen in Google Chrome
Datenquellen in Google Chrome

Im folgenden Beispiel werden Google Fonts als externe Datenquellen verwendet:

Externe Datenquellen in Chrome - hier mit externen Datenquellen
Externe Datenquellen in Chrome - hier mit externen Datenquellen

In diesem Beispiel mit Firefox kommen keine externen Datenquellen zur Anwendung:

Datenquellen in Firefox
Datenquellen in Firefox

Was ist mit Google Analytics, Matomo/PiwiK, Facebook/Twitter-Plugins

Oft liest man in den Datenschutzerklärungen, die Seite verwende z.B. Facebook-Plugins. Was ist denn so ein Plugin - und wie finde ich heraus, ob es verwendet wird?

Ein Plugin ist in diesen Fällen Code, der in die Webseite eingebunden wird - und dann Daten von einer externen Datenquelle, zum Beispiel Google oder Facebook nachlädt. Ohne dieses Nachladen wäre die Anzeige von "121 Facebook-User mögen diesen Beitrag" nicht möglich, da die Anzahl der Facebook-User in diesem Beispiel ja irgendwie ermittelt werden muss - wozu die Webseite mit Facebook kommunizieren, und die Daten von dort nachladen muss.

Schau Dir doch mal diesen Beispiel-Code für ein Facebook-Plugin hier an.

Ein einfacher Link auf eine URL bei Facebook ist dagegen kein Plugin. Plugins und Links werden aber oft verwechselt, viele Webmaster wissen auch nicht, dass man sich Facebook, Twitter und co. ganz offizielle Logos herunterladen und direkt als lokale (intern) gespeicherte Grafik-Datei in die Webseite einbinden und entsprechend verlinken kann.

Beim Thema Google Analytics, Matomo und co erfolgt die Einbindung oft durch ein Javascript oder ein Bild, welches man in den Developer-Tools findet. Allerdings bedeutet das Fehlen einer sichtbaren Datenquelle zu Tracking-Tools, wie Matomo/Piwiki, nicht, dass im Hintergrund nicht Logfiles auf Web-Server-Ebene ausgewertet werden. Diese Auswertemöglichkeiten beziehen sich dann aber nur auf die Daten, die im Webserver-Log landen, die Einbindung per Javascript ist in der Regel deutlich leistungsfähiger.

Bei Webseiten ohne Login sind es in der Regel die IP-Adressen, die hier im Logfile problematisch sind, da sie als personenbezogenes Datum gelten. Ich rate zu einer Webserver-Konfiguration, bei der diese gar nicht erst vollständig im Log-File landen. Anchließend sollte man noch im Einzelfall prüfen, ob andere personenbezogene Daten im Log landen, was ich bei einer Standard-Webseite aber für unwahrscheinlich halte.

Beispiel eines WebServer-Logs, bei dem ein Teil der IPv4-Adresse anonymisiert (durch Nullen ersetzt) wurde:

2.204.0.0 www.andrehotzler.de - [06/Feb/2019:03:17:26 +0100] "GET /de/blog/technology/59-joomla-und-die-dsgvo-cookies-und-externe-datenquellen.html?showall=1 HTTP/1.1" 200 8575 "https://www.google.de/" "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0" 1147 13345

Fazit

Ob Du Änderungen an der Webseite vornehmen musst, ob Du bestimmte Sachverhalte dokumentieren musst, dafür eine Zustimmung brauchst - und so weiter und so fort... dazu kann der Artikel keine Aussage treffen, erfahrungsgemäß stellen Anwälte und Datenschützer aber genau diese Fragen, um dann eine passende Datenschutzerklärung zu erstellen und/oder Änderungen zu verlangen.

Mit den hier beschriebenen Methoden habe ich Dich hoffentlich in die Lage versetzt, die eingangs erwähnte Frage: "Welche Cookies werden denn gesetzt und welche externen Datenquellen verwende ich (bzw. meine Webseite)?" kompetent beantworten zu können.