Springe zum Inhalt

In der Monitoring-Software Zabbix gibt es die Möglichkeit, aufzuzeichnende Werte über Shell-Komandos zu ermitteln, die über SSH von einem enfernten Host gesammelt werden. Dazu muss sich der auf dem jeweiligen Host für die Datensammelei installierte Zabbix-Agent per SSH mit dem entfernten Rechner verbinden können. Passwortlos funktioniert das am besten mit dem in SSH integrierten Public-Key-Verfahren: dazu erstellt man zuerst für den Benutzer, unter dem der Zabbix-Agent läuft einen SSH-Key mit ssh-keygen, schickt dann den generierten öffentlichen Schlüssel an den entfernten Rechner und trägt diesen beim Benutzer in der Datei ~/.ssh/authorized_keys ein. Die letzten zwei Schritte kann man auch halbautomatisch mit dem Befehl ssh-copy-id erledigen.

Danach sollte sich der Zabbix-Agent-Benutzer mit "ssh <Remote-Host>" ohne Passworteingabe auf dem Remote-Host anmelden können. Anschließend können die zu überwachenden Werte in Zabbix konfiguriert werden.

Groß ist die Verwunderung, wenn Zabbix im Status des jeweiligen Wertes "Public key authentification failed" anzeigt, obwohl der manuelle Verbindungsaufbau problemlos funktioniert hat.

Ursache ist, dass ssh-key-gen jetzt standardmäßig Keys im OpenSSH-Format und nicht mehr im alten RSA-Format erstellt. Zu erkennen ist das neue Format in der Datei ~/.ssh/id_rsa. Für OpenSSH steht dort "-----BEGIN OPENSSH PRIVATE KEY-----" und für RSA "-----BEGIN RSA PRIVATE KEY-----" in der ersten Zeile. Zumindest meine Zabbix-Version (4.0) kann noch nicht mit dem OpenSSH-Format umgehen und verwendet den entsprechenden Schlüssel dann einfach nicht. Resultat: Public key authentification failed.

Abhilfe schafft das Kommando "ssh-keygen -m PEM", welches einen neuen Schlüssel im alten Format erzeugt, das auch ältere Zabbix-Version verstehen.

1

Immer wieder sind falsche Informationen zu Cookies zu lesen, selbst in Fachzeitschriften. Auch heute las ich wieder solch eine irreführende Aussage, dass Cookies beim Surfen angeblich Daten auf meiner Festplatte speichern. Das ist Humbug. Genausowenig speichert eine Webseite beim Surfen irgendwas auf meinem Computer. Vielmehr weist mein zum Surfen verwendeter Browser das Betriebssystem des Computers an, etwas zu speichern. Das können Inhalte aus einer Webseite oder eben auch ein mit der Webseite empfangenes Cookie sein. Aber von vorn.

Ein Cookie ist nichts anderes als eine Textinformation, die beim Abrufen einer Webseite mittels Browser vom Server in der Antwort mitgeschickt wird, quasi in den Metadaten des eigentlich erwarteten Inhalts, der Webseite.

Das verhält sich in etwa so, wie wenn ich beim Bäcker fünf Brötchen haben möchte, die freundliche Verkäuferin mir als Antwort noch ein paar nebensächliche Fakten zu den gewünschten Brötchen mitteilt (die Meta-Daten) und mir nebenbei noch eine Kundenkarte (Cookie) in die Hand drückt. Da ich ihr keine alte Kundenkarte direkt bei der Bestellung vorgezeigt habe, überreicht sie mir eine neue Kundenkarte. Diese kann ich ablehnen oder einstecken (speichern). Auf der Kundenkarte kann die Verkäuferin verschiedene Dinge festhalten, wie z.B. die Anzahl der gekauften Waren.

Andere Sachen als das Speichern von Informationen können mit der Kundenkarte nicht ausgeführt werden. Sie öffnet nicht automatisch meine Geldbörse oder stellt irgendetwas anderes in ihrer Umgebung an. Genausowenig kann ein auf dem Computer gespeichertes Cookie irgendwelche Funktionen auf dem Computer aufrufen. Die einzige Besonderheit ist, dass ich die Kundenkarte evtl. einstecke und bei jedem Besuch dieses Bäckereigeschäfts wieder vorzeige.

Genau so verhält es sich mit den Cookies im Browser. Sie werden beim Sufen mitgeliefert und werden je nach Browsereinstellung akzeptiert oder verworfen. Sie bestehen aus Textschnipseln, die jedoch meistens für Menschen nicht auswertbar sind, sondern Informationen für Computer enthalten, die wiederrum mit diesen Informationen Besucher der jweiligen Webseite eindeutig identifizieren können. Und da liegt die Crux und um es mit dem Beispiel des Bäckers zu beschreiben: sollte die Kundenkarte irgendwann akzeptiert, also gespeichert worden sein, wird sie vom Browser jedesmal beim Besuch der Bäckerei bzw. der Webseite automatisch vorgezeigt. Die Verkäuferin weiß also immer, wie viel wir schon gekauft haben.

Kleines Problem

Beim Bäcker meines Vertrauens ist das alles kein Problem. Er liefert ja hervorragende Brötchen. Durch die Kundenkarte erhalte ich evtl. irgendwann einen Vorteil. Problematisch ist nur, dass versucht wird, jedem Besucher eine Kundenkarte zuzustecken, auch wenn gar nichts gekauft wurde. Bei wiederkehrenden Besuchern kann so festgestellt werden, dass z.B. schon mehrfach vorbeigeschaut, aber immernoch nichts gekauft wurde.

Großes Problem

Ein viel größeres Problem ist, wenn sich mein Bäcker entschließt, eine Kooperation mit einem Rabattprovider oder Punktesammelverein einzugehen. Beim Besuch der Bäckerei erhält dann jeder zwei Kundenkarten. Technisch gesehen müsste beim Bäcker noch ein Vertreter des Punktesammelvereins sitzen, dem die Kundenkarte bei einem wiederholten Besuch automatisch überreicht wird. Der Browser liefert Cookies beim Surfen nur an diejenige Webseite zurück, von der er sie erhalten hat. Und hier liegt das Problem: der Vertreter beim Bäcker weiß ja, wo er sich befindet. Er weiß also bei Besuchern genau, wie oft diese schon da waren. Durch die Kooperation mit dem Bäcker erfährt er über andere Wege zusätzlich, wie viel gekauft wurde. Dabei ist es auch vollkommen egal, ob wir Kunde des jeweiligen Punktesammelvereins sind. Durch die automatisch zugesteckte Kundenkarte kann er uns immer wieder erkennen.

Nun stelle man sich vor, in jedem Geschäft sitzt solche ein Vertreter eines Punktesammelunternehmens. Und nein, nicht nur in Geschäften, auch in jedem einzelnen Zeitungsartikel den wir lesen, jedem Lied welches wir hören, jedem Film den wir schauen, in jeder Sache, die wir wahrnehmen. Und wir überreichen allen schön brav automatisch unsere Kundenkarte.

Unser Bäcker wollte uns nichts Böses. Er versprach sich von der Kooperation eine finanzielle Unterstützung. Die Kunden hofften auf Prämien durch die gesammelten Punkte. Der Punktesammelverein weiß jedoch umfassend, was wir wann wo getan haben, wenn wir seine automatisch zugesteckte Kundenkarte akzeptiert haben.

Fiasko

Und nun wird es noch einmal ganz übel: auf Webseiten sind viele dieser Punktesammelvereine, dort heißen sie Werbenetzwerke, eingebunden, die fleißig aufzeichnen, was wir im Netz denn so tun.

Genauso fleißig sammeln die eingebundenen sozialen Netzwerke Daten über uns. Und es wird noch schlimmer, denn durch die automatisch zugesteckten Kundenkarten bzw. Cookies können uns diese Datensammler überall wiedererkennen. Um einmal Zahlen zu nenen: Facebook weiß bei drei Viertel aller deutschen Nachrichtenseiten, wer wann was gelesen hat (Quelle).

So ganz ungefährlich sind diese kleinen Textschnipsel also nicht.

Schutz

Es stellt sich die Frage, wie man sich vor derlei automatischer Ausspioniererei schützen kann, denn nichts anderes ist diese umfassende Sammelwut. Da der Browser die Cookies verwaltet, gilt es zum Surfen zuerst einmal einen Browser auszuwählen, bei dem sich die Behandlung von Cookies überhaupt steuern lässt. Evtl. kann diese Behandlung dem Browser auch durch die Installation von Addons hinzugefügt werden.

Beispiele sind der Browser Chrome der sich mit dem Addon uBlock-Origin erweitern lässt. Der Browser Firefox wurde von den Entwicklern mit einem Modus zum Schutz vor Aktivitätsverfolgung ausgestattet und kann zusätzlich mit dem Addon uBlock-Origin erweitert werden. Im Bäckerei-Beispiel würde das Addon uBlock-Origin so arbeiten, dass erst gar nicht mit dem Vertreter des Punktesammelvereins gesprochen wird, er wird einfach ignoriert.

Eine weitere Methode ist das regelmäßige Löschen von Cookies oder den Browser anzuweisen, Cookies nur so lange zu speichern, bis der Browser wieder komplett geschlossen wurde. Allerdings ist das nicht immer praktisch, da in Cookies auch Zugangscodes zu bestimmten Webseiten gespeichert sein können. Löscht man diese Cookies, muss man sich neu bei der jeweiligen Seite anmelden.