Probleme mit self-signed Zertifikat


#1

Merkwürdig, ich habe hier den umgekehrten Fall:

Matomo ist per https mit einem SelfSignedZertifikat erreichbar. Meine Websites haben alle noch kein Zertifikat. Somit wird der Matomo-Script-Aufruf (als Inline-Script) von meiner Website gesendet.

PIWIK / Matomo läuft nun seit mehreren Jahren so und hatte nie Probleme mit dem Tracking.

Ich habe aber sehr wohl ein Problem mit der Matomo App unter Android. Die mag keine Verbindung zum Matomo-Server aufbauen, obwohl andere Apps keine Probleme damit haben, SSL-Verbindungen mit SelSigned-Zertifikat aufzubauen.


SSL-Verschlüsselung erstellt, Matomo trackt nun nicht mehr
(Lukas Winkler) #2

Hallo @Confuserix,

SSL-Inhalte in nicht-SSL seiten sind natürlich kein Problem und funktionieren immer.

Wobei Matomo mit einemr SelfSignedZertifikat nicht wirklich funktionieren kann, da alle Besucher das Zertifikat akzeptieren müssten oder die Seite als unsicher sehen.

Außer natürlich wir reden von einem Intranet, wo du das Zertifikat per Group policy verteilen kannst.


#3

Wenn deine Aussage in dieser Absolutheit zutreffend wäre, müssten ja alle Besucher meiner Website von aktuellen Browsern eine Warnmeldung erhalten, dass der Besuch dieser Website unsicher ist, weil eben ein Script aus einer https-Verbindung im Umfeld einer nicht-https-Seite ausgeführt wird.

Solch eine Warnmeldung erfolgt jedoch nicht. Das Matomo-Tracking-Script in der Website enthält ja auch kein “https” bei den src Quelldefinitionen:
var u="//meine.matomo-site.de/";
und:
src="//meine.matomo-site.de/piwik.php?idsite=4"

Ich bin mir nicht sicher, aber evtl. habe ich Matomo so installiert, dass nur die Verbindung ins Backend via https erfolgt, jedoch nicht die Übertragung des Tracking?
Ursache meiner Unsicherheit ist, dass ich mich mit htaccess und der Erstellung entsprechender Regeln zu wenig auskenne.
Auch diese Hinweise betr. htaccess für Matomo haben mich in diesem Punkt leider nicht weiter gebracht.


(Lukas Winkler) #4

Hallo,

Du hast recht: Eigentlich müssten alle deine Besucher eine Warnung sehen (aber nicht, weil HTTPS in einer HTTP-Seite eingebunden ist, das ist ja vollkommen in ordnung, sondern weil das Zertifikat selbstsigniert ist)

Warum sie sie nicht sehen erklärt diese Zeile:

// ist eine protokoll-relative URL. Das heißt, wenn die aktuelle Seite HTTP ist, wird auch das Script via HTTP geladen, wenn die aktuelle Seite HTTPS ist aber auch von HTTPS.

Da deine Webseite nur per HTTP erreichbar ist, wird somit auch Matomo nie über HTTPS geladen und es gibt auch keine Warnung.

Also werden alle Besucherdaten unverschlüsselt übertragen.

Ich empfehle zusammenfassend:

  • Ein gülitges SSL-Zertifikat für die Matomo-Seite einzurichten. (Dank Let’s Encrypt gibt es dafür wirklich keine Ausrede mehr)
  • Die Matomo URL zu var u="https://meine.matomo-site.example/"; umzustellen.

So ist mal das gröbste geschafft, alle Besucherdaten sind sicher und das Android-Problem ist indirekt auch gelöst.

In weiteren Schritten wäre es dann noch sinnvoll

  • Ein Redirect von HTTP zu HTTPS einzurichten

Eigentlich ist das nicht mehr wichtig, weil niemand mehr die HTTP Seite aufrufen sollte, das ist nur um sicher zu gehen.

Ich kenne mich nicht mit Apache aus und verweise daher auf das Internet: linux - http to https apache redirection - Stack Overflow

  • Auf der Hauptseite auch HTTPS einzurichten.

Das mag zwar unnötig erscheinen (“da gibt es ja eh keinen Login”), aber spätestens, wenn der erste Internetanbieter/WLAN-Hotspot in Europa auf die Idee kommt, dass man doch Werbung in Seiten einbinden könnte und sich Besucher darüber aufregen, hat es sich schon ausgezahlt.


#5

Danke für deine Erklärung. Und es leuchtet mir auch ein, dass es sich so verhält, wie du beschreibst.
Mein Problem ist ein finanzielles: Zurzeit bin ich leider noch bei DomainFactory. Die hatten bisher immer einen erstklassigen Service und Support geliefert und auch das Preis-Leistungsverhältnis ist in Ordnung.
Aber an den Zertifikaten wollen sie noch unbedingt fett abgreifen und weigern sich auch weiterhin, Let’s encrypt zuzulassen. Da dürften bereits hunderte Kunden gekündigt haben und ich werde bald auch einer davon sein! - Dennso wie es jetzt ist, müsste ich ein Multidomain-Zertifikat kaufen.

Datenschutzmäßig gesehen halte ich die aktuelle Übertragung der Besucherdaten aber für unkritisch, da ich keine personenbezogenen Daten mit Matomo erfasse und auch keine personenbezogenen Daten in Kontaktformulare oder LogIn-Seiten einzugeben sind.

Danke für deinen Tipp am Schluss, nämlich dass jemand „auf die Idee kommt, dass man doch Werbung in Seiten einbinden könnte und sich Besucher darüber aufregen”


(Lukas Winkler) #6

Hallo,

Das kenne ich nur zu gut und ist der Grund, warum ich alle Webhosting-Verträge gekündigt habe und nun alles auf meinem eigenen Server selber mache. Aber das ist natülich auch nur eine Lösung, wenn man es gerne macht.