Piwik auf getunneltem localhost

tsk

Member
Hallo zusammen,

ich betreibe einen Ubuntu 16.04 live Server mit einem Blog. Der Webserver ist restriktiv mit Modsecurity und Fail2ban gesichert.

Funktionen, die niemanden außer mich betreffen, wie phpmyadmin, postfixadmin, monit, server-status, sind ausschließlich über einen per ssh getunnelten localhost erreichbar. Zu diesen Funktionen würde ich gerne Statistiken per Piwik ergänzen.

Da ich alles auf einem lokalen Entwicklungsserver teste, bevor ich es auf den live Server übernehme, habe ich Piwik lokal installiert. Das Interface läuft, und ich kann per Tunnel darauf zugreifen. Das Problem: „No data has been recorded yet“

Den seitens Piwik generierten Tracking Code habe ich händisch abgewandelt:

Piwik (Auszug):
Code:
...
    var u="//localhost:1234/piwik/";
...
Von mir geändert zu (Auszug):

Code:
...
var u="//localhost/piwik/";
...
da die Port Angabe nur für den Client vor dem Tunnel relevant ist. Egal, wie viele Seiten ich auf der Site besuche. Bei Piwik scheint nichts an zu kommen.

Jetzt meine Fragen:

a) Kann es sein, dass Piwik im lokalen Netz grundsätzlich nicht arbeitet, lokale Adressen also nicht registriert?

b) falls doch, wo könnte ich hier bei der Fehlersuche ansetzen? In den Logs finde ich weder erlaubte, noch unerlaubte Zugriffe auf /localhost/piwik.
 

marce

Active Member
Ob und was ignoriert wird findest Du in der piwiki-Konfig - localhost klingt aber per se mal plausibel, wissen tu ich es aus dem Kopf heraus aber nicht.

Zudem muss der generierte Code natürlich zum Mandanten passen - und die URLs für diesen müssen in der Konfig entsprechend hinterlegt sein.

Wenn ich Dein Setup richtig verstanden habe sehe ich aber ein anderes Problem: Piwiki läuft ja per JavaScript im Client-Browser - sprich dieser würde aktuell versuchen, von localhost etwas zu ziehen - und das dürfte nicht Dein Server sein, oder? Sprich der Server läuft nicht auf dem Client, von dem aus Du testest?

Piwik muss prinzipiell vom CLient erreichbar sein - es gibt dort keine Trennung zwischen "gewolltem Bereich" und "Backend nur für Admins".
 

tsk

Member
Hallo marce,

Du hast vollkommen Recht. Piwik muss vom Client aus erreichbar sein, und das ist mein getunnelter localhost natürlich (hoffentlich) nicht.

Danke für den Hinweis. Piwik muss also in ein Directory, oder eine Subdomain.

Grüße,
Thomas
 
Du kannst den Zugriff natürlich so einschränken, damit nur das Tracking-PHP-Script von außen zugänglich ist. Dann ist der ganze Login unerreichbar. Das bringt Dir natürlich nicht viel, falls es ein Sicherheitsleck gibt, das auch von dort aus nutzbar wäre.

Oder Du verzichtest auf das JS-Tracking und lässt Piwik regelmäßig die Serverlogs verarbeiten. Das Ergebnis wird allerdings deutlich anders sein, das erfordert wahrscheinlich mehr Finetuning.


MfG Christian
 

tsk

Member
Hallo Christian,

ich müsste mein komplettes Sicherheitskonzept überarbeiten, um ausschließlich das php Tracking zuzulassen. Ein Fehler dabei, und es entsteht mehr Schaden als Nutzen.

Die Loganalyse statt JS habe ich auch schon angedacht. Hier ist der Nachteil, dass dann alle gut- wie bösartigen Bots die Logs verwässern.

Ich werde Piwik auf eine Subdomain packen, und einen separaten php-User dafür nehmen. Bei Fehlerhaften Logins wirkt dann Modsecurity und Fail2ban. Das sollte genügen.

LG
Thomas
 

XioniX

Blog Benutzer
Fürs piwik Tracking brauchts ja eigentlich nur 2 Dateien, die entsprechende PHP Datei und den JS-Tracker. Ich binde die beiden über einen (nginx) alias in jeder zu trackenden Domain ein. Das volle Backend gibts nur per TLS-verschlüsselter Subdomain mit Client-Zertifikat.
 

Top