Sicherheitsbedenken bei glusterfs?

8

Ich bin nicht wirklich gut im Glanz, da ich gestern damit angefangen habe.

Ich habe 2 Server. Auf beiden laufen glusterfs-Server.

Von Server 1: Ich laufe sudo glusterfs peer probe server2und es wird dem Cluster hinzugefügt. Es wurden keine Fragen gestellt. Ich habe Server2 nichts gesagt, damit Server1 es dem Cluster hinzufügen kann. Macht für mich keinen Sinn.

Das verwirrt mich. Ich meine, was ist, wenn jemand meine glusterfs-Server zu seinem Cluster hinzufügt? Es schien absolut keine Sicherheit zu geben. Es ist verrückt und ich verstehe es nicht.

Ranjith Ramachandra
quelle

Antworten:

7

TL, DR: Es ist sicher, dass Dritte nicht alleine einem vorhandenen Cluster beitreten können. Sie müssen von innen eingeladen werden.

Es wurden keine Fragen gestellt. Ich habe Server2 nichts gesagt, damit Server1 es dem Cluster hinzufügen kann.

Ich hatte diese Frage selbst und habe mir die Dokumentation angesehen.

Wenn Sie einen neuen Cluster erstellen, starten Sie auf einem Server und fügen andere mithilfe von hinzu gluster peer probe OTHER_SERVER. Zusätzliche Sicherheit ist nicht unbedingt erforderlich, da Sie neue, nicht initialisierte glusterfs-Server hinzufügen. ( Wenn Sie keinen frisch installierten, nicht initialisierten Gluster mit öffentlichem Zugriff laufen lassen, sind Sie in Schwierigkeiten).

Was hindert einen Angreifer daran, Ihrem vorhandenen Cluster beizutreten? Der Schlüssel ist der folgende Absatz:

Sobald dieser Pool eingerichtet wurde, dürfen nur vertrauenswürdige Mitglieder neue Server im Pool prüfen. Ein neuer Server kann den Pool nicht prüfen, er muss aus dem Pool geprüft werden. ( Quelle )

Wie in der Dokumentation angegeben, kann ein Drittanbieter / Gegner Ihrem Cluster nicht beitreten. Er muss von innen eingeladen werden.

Gluster bietet auch andere Sicherheitsmechanismen, um verwandte Angriffe abzuwehren:

  • IP erlauben / verweigern auf Lautstärkeebene, gluster volume set VOL_NAME auth.allow IP1,IP2
  • TLS - Transportverschlüsselung sowie Verwendung von Identitäten aus Zertifikaten anstelle von IP-Adressen zur Autorisierung (standardmäßig nicht aktiviert, siehe Link )

Für alles Wichtige können Sie auch private Verbindungen zwischen Servern (IPSec / VPN) mit einem Firewall-Setup in Betracht ziehen, das keine Verbindungen von außen zulässt.

Matej Snoha
quelle
Es sollte erwähnenswert sein, dass das Protokoll anscheinend nicht standardmäßig verschlüsselt wird, was umgekehrt durch gluster.readthedocs.io/en/latest/Administrator%20Guide/SSL angezeigt wird. Es wäre also eine sehr lange Strecke in meinem Buch, zu sagen, dass es sicher ist .
Dualed
Vielen Dank für die Erwähnung, dass es nicht standardmäßig aktiviert ist - es befindet sich in dem Link, den ich eingefügt habe, aber ich werde es auch im Text ausdrücklich erwähnen. Ich empfehle jedoch weiterhin, es über IPSec auszuführen. Es ist einfacher, eine Verschlüsselungsliste und andere Sicherheitskonfigurationen an einem Ort zu verwalten, als auf die TLS-Implementierungsspezifikationen jeder Anwendung zu achten, z. B. auf glusterfs.
Matej Snoha
2

Ihre Gluster-Server sollten sich in einem eigenen, von der Firewall abgeschirmten Bereich Ihrer Infrastruktur befinden. Sie dürfen nicht dem öffentlichen Internet ausgesetzt werden.

ceejayoz
quelle
Nun, GlusterFS bietet Geo-Replikation und erwähnt VPNs oder dedizierte Links nicht einmal, und sie erwähnen nie, was Sie in ihrer Dokumentation sagen. Sie befassen sich einfach nie mit dem Thema Authentifizierung und Autorisierung, als ob es nicht existiert, was für mich keinen Sinn ergibt.
Haimg
3
@haimg Ich würde sagen, wenn Sie groß genug sind, um Gluster zu brauchen, sind Sie groß genug, um die Sicherheitsseite der Dinge selbst herauszufinden. Jeder, der mehrere Rechenzentren mit Replikation zwischen ihnen betreibt, sollte bereits über VPN / dedizierte Links verfügen.
Ceejayoz
2

Ich stimme zu, dass dies verrückt ist: Sicherheit ist ein Add-On zu glusterfs. Wie von @ceejayoz hervorgehoben, kann glusterfs nur in einem physisch gesicherten und isolierten Netzwerk ausgeführt werden.

Glücklicherweise hat glusterfs die SSL-Unterstützung hinzugefügt, die leider fast vollständig undokumentiert ist. Vermutlich wird die Verwendung von ssl die Dinge verbessern, obwohl es schwer zu sagen ist, da es nicht dokumentiert ist. Welche Dokumentation vorhanden ist, finden Sie in diesem Blog . Leider gibt es nur eine Abfolge von Schritten.

David Roundy
quelle
Ich möchte hinzufügen, dass die GlusterFS SSL-Dokumentation heutzutage viel besser geworden ist.
Luke404
1

Ich möchte dieses Thema als Referenz hinzufügen, da auch ich anfangs Sicherheitsbedenken bei glusterfs hatte.

Meine Organisation ist dabei, einen ziemlich großen RHGS-Cluster bereitzustellen, um mehrere verteilte Alterungsspeichersysteme zu konsolidieren.

Die Sicherheitsbedenken, die ich hatte, bezogen sich auf die Fähigkeit, die Gluster-Konsolenbefehle als Root von einem Client-System wie ...

"yes | gluster --remote-host = rhgs1 Volume Daten löschen"

Huch! Es sieht so aus, als ob jeder mit Root-Rechten auf einem System, auf dem Sie das Root-Konto nicht kontrollieren, Ihre Daten zerstören kann!

Zum Glück ist das nicht der Fall. Alle Befehle, die Volumes ändern, geben den Exit-Status 1 zurück und schlagen mit EPOLLERR fehl, wie in /var/log/glusterfs/cli.log angegeben. Anscheinend können Sie nur Informationen zu den Volumes abrufen, auf die dieser Client Zugriff hat.

Grundsätzlich muss das System ein Cluster-Peer sein, um Cluster-Wartungsaufgaben von jedem der Gluster-Knoten aus ausführen zu können. Jetzt verstehe ich, warum sie einen glusterfs-Cluster als "Secure Storage Pool" bezeichnen.

Billy Hill
quelle
-1

Meiner Meinung nach gibt es einige Möglichkeiten, das Problem zu lösen:

  1. Firewall oder Iptables
  2. SELinux
  3. SSL / TLS
i_chips
quelle