The English version of this post is available here.
Woah, was für ein Thema: Datenschutz
Und damit meine ich nicht das allseits bekannte Thema und die seit jeher leidenschaftlich verfochtenen persönlichen Daten. Nein, wovon ich rede sind die Daten, die in Elasticsearch landen. Wobei dort sicher auch bei dem einen oder anderen Personen bezogene Daten hinterlegt sind, keine Frage.
Viele setzen bereits diverse Lösungen ein, um den Zugriff auf Elasticsearch zu steuern. Das geht von einfachen URL-Filtern, über dedizierte Reverse Proxies mit Authentifizierung bis hin zu Elasticsearch’s hauseigener Rundum Lösung „Shield“. Doch was sie alle gemeinsam haben: Sie sind nicht für jeden geeignet, da sie entweder zu eingeschränkt hinsichtlich der Funktionalität oder schlicht zu teuer in der Anschaffung sind.
Deshalb kam eine namhafte Größe aus der Automobil-Branche auf uns zu, und schlug vor eine Opensource Lösung zu entwickeln, um all das in einem Produkt zu integrieren. Heraus kam ein von Grund auf neu geschriebener Reverse Proxy Dienst, welcher Authentifizierung und Autorisation auf Index-, Typ- und Feld-Ebene sowie auf Basis konkreter Funktionalitäten von Elasticsearch’s REST API vereint. Das ganze hat natürlich auch einen Namen: ElasticArmor
In der ersten Version werden zwar vorerst nur normale Anfragen die von Kibana stammen in vollem Umfang berücksichtigt, doch da das Projekt Opensource ist und mit der Absicht leicht zu erweitern zu sein geschrieben wurde, gehen wir davon aus nicht lange auf Erweiterungen warten zu müssen. Außerdem erfordert die Natur des Dienstes die zusätzliche Absicherung des angebundenen Elasticsearch-Cluster mittels eines Sicherheitsperimeters, da nur die Kommunikation zwischen Cient und Elasticsearch eingeschränkt wird, nicht jedoch die Kommunikation der einzelnen Elasticsearch-Nodes.
Doch wie funktioniert der ElasticArmor nun eigentlich? Nun, eigentlich ganz einfach. Ein Client der eine Anfrage an Elasticsearch stellt, muss zuerst am ElasticArmor vorbei. Ein Client ist, per Definition, der Ursprung der Anfrage. Dabei kann es sich um einen weiteren Dienst wie z.B. Kibana oder eine bestimmte Person handeln. Authentifizierung bedeutet allerdings nicht zwingend, dass es sich um eine reale Person mit Namen und Passwort handeln muss, es kann genauso gut ein anonymer Zugriff von einer ganz bestimmten IP sein.
Erhält der ElasticArmor nun letztendlich eine Anfrage von einem authentifizierten Client, werden die ihm zugeordneten Rollen angewendet. Diese definieren was und wie viel er darf. Angewendet werden sie, indem die URL der Anfrage und der Körper der selben analysiert werden. Im Falle der URL ist das nicht weiter schwer, doch der Körper einer Anfrage (z.B. Search-API) ist wesentlich komplexer. Aus diesem Grund ist dem ElasticArmor genau bekannt was für Möglichkeiten ein Client in einer solchen Anfrage hat. Trifft er auf etwas das ihm nicht bekannt ist, (z.B. ein neu eingeführtes Query) wird die Anfrage sofort abgelehnt. Dies verhindert Sicherheitslücken wenn die Version von Elasticsearch aktualisiert wird, ohne Rücksicht auf die Kompatibilität mit dem ElasticArmor zu nehmen.
Verändert wird eine Anfrage nur, wenn sich das Ergebnis nicht grundlegend ändert. Das bedeutet z.B. dass Queries, Filter, Aggregationen o.Ä. nicht verändert werden, die URL potentiell jedoch schon, jedenfalls was Indizes, Dokumente und Felder anbelangt. Auch das Source filtering wird verwendet um sicher zu stellen, dass jemand nur das sieht was er sehen darf.
Einige Features von Elasticsearch sind jedoch nur sehr schwer bis gar unmöglich einzuschränken, (z.B. Fuzzy Like This, Fuzzy Like This Field und More Like This) weshalb bei diesen nur das Recht sie zu benutzen sicher gestellt wird. Man sollte also aufpassen wem man dieses Recht gestattet.
Desweiteren verhält sich der ElasticArmor nach außen hin wie Elasticsearch. Schließlich ist er es mit dem sich ein Client tatsächlich unterhält. Somit sollte eine relativ problemlose Integration in die bereits bestehende Infrastruktur möglich sein.
Das war’s dann auch schon wieder. Ich hoffe ich konnte das Interesse, insbesondere die Vorfreude, bei dem einen oder anderen wecken. Bei Fragen, bitte einfach drauf los kommentieren!
NETWAYS Blog
Der erste Entwurf für den Webinarkalender 2016 ist online!
Auch in diesem Jahr wollen wir wieder mit diversen Webinaren durchstarten und neben Icinga 2 natürlich unsere anderen Kernkompetenzen wie unter anderem Puppet, Foreman und unsere Hosting-Angebote nicht außen vor lassen.
Über das Jahr verteilt haben wir bereits diverse Themen fixiert – mehr werden aber natürlich noch folgen! Aktuell geplant sind die Folgenden Themen und Termine:
Titel | Zeitraum | Registrierung |
---|---|---|
Icinga Director: Konfiguration leicht gemacht | 03. März 2016 – 10:30 Uhr | Anmelden |
Docker Hosting | 10. März 2016 – 10:30 Uhr | Anmelden |
Foreman: Provisionierungswege | 31. März 2016 – 10:30 Uhr | Anmelden |
ELK: Grundlagen der zentralen Logdatenverwaltung | 15. April 2016 – 10:30 Uhr | Anmelden |
Foreman: Klassen und Parametrisierung in Puppet | 20. Mai 2016 – 10:30 Uhr | Anmelden |
Foreman: Berechtigungen | 28. Juli 2016 – 10:30 Uhr | Anmelden |
Foreman: Docker Integration | 05. Oktober 2016 – 10:30 Uhr | Anmelden |
Wer sich einen Überblick über die bisherigen Webinare verschaffen möchte, kann dies natürlich gerne in unserem Webinar-Archiv tun.
OSMC 2015: Der Countdown läuft – nur noch 35 Tage
Valentin Fischer-Mitoiu mit seinem Vortrag „Processing millions of logs with Logstash and integrating with Elasticsearch“.
OSMC? Was soll das denn sein und wer sind die netten Menschen in diesen Videos? Die Open Source Monitoring Conference (kurz: OSMC) ist die internationale Plattform für alle an Open Source Monitoring Lösungen Interessierten, speziell Nagios und Icinga. Jedes Jahr gibt es hier die Möglichkeit sein Wissen über freie Monitoringsysteme zu erweitern und sich mit anderen Anwendern auszutauschen. Die Konferenz richtet sich besonders an IT-Verantwortliche aus den Bereichen System- und Netzwerkadministration, Entwicklung und IT-Management. Und die netten Menschen, die Ihr in unseren Videos zur OSMC seht, gehören dazu. 2015 wird die OSMC zum 10. Mal in Nürnberg stattfinden.
Aufgepasst: Sommersale bei unseren Schulungen!
In den meisten Läden ist der Sommerschlussverkauf ja schon wieder vorbei, aber nicht so bei uns!
Für unsere ELK und Graphing Schulungen im Oktober könnt ihr nochmal satte 30% sparen, wenn ihr schnell seid und euch bis zum 15. September anmeldet!
Mit der ELK Schulung könnt ihr, als Anwender mit fundierten Linux Kenntnissen, euch in die Tiefen von Kanalisierung, Filterung und Verteilung von Log- und Eventinformationen stürzen und darüber hinaus grundlegende Techniken der Logübertragung, -auswertung und –analyse erlernen.
Also schnellsein lohnt sich, auf unserer Webseite geht´s zur Anmeldung
Wer lieber gerne die Daten sammeln und auswerten möchte, ist in unserer Schulung Advanced Graphing mit Graphite und Co. genau richtig. Markus wird euch die einzelnen Komponenten von Graphite vorstellen und auch auf Tools wie Grafana, CollectD, Icinga, InfluxDB oder Logstash eingehen, mit denen ihr einen Stack aufbauen könnt, der sich präzise in die bestehende Umgebung integriert.
Während der beiden Trainingstage habt ihr ein All-inklusive Programm gleich mit dazu gebucht, denn die Übernachtung im Schulungshotel ist mit dabei sowie die Verpflegung während der Pausen, Mittag- und Abendessen. Unterlagen und Laptops werden selbstverständlich von uns gestellt.
Alles was Ihr noch tun müsst, ist hurtig bei uns auf der Schulungswebseite vorbeischauen, Formular ausfüllen und kräftig sparen!
Reminder für das morgige Logstash Webinar
Wie so oft vor einem Webinar möchte ich auf das morgige Logstash Webinar zum Thema Windows und Linux Logmanagement hinweisen. Neben einer kurzen Einführung, was genau Logstash eigentlich ist und wie die Lösung funktioniert, wollen Thomas und ich darauf eingehen, wie bspw. Linux und Windows Logmeldungen eingebunden werden können.
Das Webinar findet morgen, den 07. November um 10:30 Uhr statt. Wer teilnehmen möchte, kann sich natürlich kostenfrei registrieren.
Darüber hinaus sind bereits drei weitere Webinare bis zum Jahresende geplant:
Wer sich noch einmal vergangene Webinare ansehen möchte, kann dies über unser Webinar-Archiv tun.
Wir freuen uns schon auf morgen!