Dedizierte Server - wie man ipmi schützt

7

Was ist Ihre beste Vorgehensweise bei der Bereitstellung dedizierter Dienste, um IPMI entweder vor öffentlichen Netzwerken oder über das Kernelmodul zu schützen?

Erstens möchte ich sichergehen, dass jemand, der meine Netzwerke scannt und IPMI-Karten findet, nicht in der Lage ist, die Kontrolle darüber zu erlangen. Es gab einen Fehler, der das Senden von E-Mails über Supermicro IPMI über ein anonymes Konto ermöglicht. Ich weiß, dass es eine gute Praxis ist, IPMI nur in lokalen Netzwerken ohne Öffentlichkeit zu verwenden, aber Clients werden sich nicht über die Verwendung von VPN für den Zugriff auf IPMI freuen.

Zweitens können Sie den Befehl ipmitool verwenden, um die IPMI-Konfiguration ohne Benutzerauthentifizierung zu verwalten. Ich möchte verhindern, dass Kunden die IPMI-Einstellungen ändern - z. B. IP-Adresse, Entfernen meiner Überwachungsbenutzer, ...

Was ist Ihre beste Praxis? Wie hätten Sie dieses Problem gelöst, wenn Sie sich dem gestellt hätten?

Yarik Dot
quelle
Können Sie mir erklären, wie Sie die IPMI-Konfiguration ohne Authentifizierung ändern können? Ich glaube das ist nur als root vom Hostcomputer möglich?
Jens Timmerman
Ja, du hast recht. Das ist genau das. ipmitool lan 1 set ... oder Sie können Benutzer usw. ändern. Wenn es um dedizierte Server geht, haben Kunden Root-Zugriff, sodass sie ändern können, was sie wollen. Ich möchte sie jedoch nicht zulassen, da sie es falsch konfigurieren können und ich zu DC gehen muss, um es zu beheben.
Yarik Dot
2
Berücksichtigen Sie auch FreeIPMI über IPMItool. FreeIPMI ist beliebt für Skripte und sehr gut dokumentiert.
Stefan Lasiewski

Antworten:

6

Der Hauptvorteil von IPMI ist der Out-of-Band-Zugriff für SHTF-Gelegenheiten, bei denen der Kernel normalerweise nicht funktionsfähig ist. Sie sollten also den Zugriff außerhalb des Betriebssystems zulassen. Richten Sie ein VPN ein oder zumindest eine Möglichkeit für Ihre Clients, über einen SSH-Tunnel oder ähnliches auf IPMI zuzugreifen.

Sie haben Recht, wenn Sie IPMI dem öffentlichen Internet aussetzen. Wenn sich Ihre Kunden über die zusätzliche Sicherheit beschweren, sind sie nicht die Art von Kunden, mit denen Sie sich befassen möchten.

EEAA
quelle
1
Ich musste SHTF googeln - ich werde jetzt anfangen, dieses Akronym zu verwenden!
Mark Henderson
2
Ein VPN- oder SSH-Tunnel ist wahrscheinlich der beste Weg, um ihn zu sichern. Sie möchten wahrscheinlich sicherstellen, dass Kunden nur eine Verbindung zu den IPMI-Schnittstellen ihrer eigenen Server herstellen können, nicht zu denen anderer Kunden (entweder versehentlich oder böswillig)
Grant
Na sicher! Ich möchte ihnen Zugang geben. Ich möchte nur die Sicherheit verbessern. Ich bin eigentlich mehr an der zweiten Ausgabe interessiert. Um ehrlich zu sein, ist es meine Proaktivität. Einerseits möchte ich ihnen einen sicheren Service bieten, andererseits muss der Service einfach zu bedienen sein.
Yarik Dot
1
Die Verwendung eines VPN oder eine andere Verwendung im lokalen Verwaltungs-LAN ist die einzige Möglichkeit, auf OOB-Verwaltungstools zuzugreifen. Und wenn es mandanten ist jeder Kunde sollte nur in der Lage sein , ihre eigenen Server zu treffen. Wenn ich Ihr Kunde wäre und feststellen würde, dass ich auf die IPMI-Schnittstellen anderer Kunden zugreifen könnte, würde ich Sie verlassen.
Mfinni
@Grant - 100% einverstanden. Toller Punkt.
EEAA
2

Erstens möchte ich sichergehen, dass jemand, der meine Netzwerke scannt und IPMI-Karten findet, nicht in der Lage ist, die Kontrolle darüber zu erlangen.

Die BMCs auf Supermicro-Systemen hatten im letzten Jahr einige besonders schlimme Fehler. Stellen Sie sicher, dass auf Ihren Systemen die neueste Firmware ausgeführt wird, mit der die meisten Fehler wie der Fehler "Anonymer Benutzer" und der Fehler " Infamous Cipher Zero" behoben werden. Beachten Sie, dass diese Firmwares nur für neuere Motherboards verfügbar sind (X8-, X9- und X10-Generationen; normalerweise nicht für die X7-Generation, die vor drei bis vier Jahren ausgeliefert wurde). Daher muss Ihre Hardware moderne Hardware sein.

Trotz der Updates ist das IPMI von Supermicro immer noch fehlerbehaftet. Passwörter werden im Klartext usw. über das Netzwerk übertragen. In meiner Welt muss sich IPMI unbedingt in einem privaten Netzwerk befinden und nur von wenigen speziellen Verwaltungsknoten verfügbar sein.

Ich weiß, dass es eine gute Praxis ist, IPMI nur in lokalen Netzwerken ohne Öffentlichkeit zu verwenden, aber Clients werden sich nicht über die Verwendung von VPN für den Zugriff auf IPMI freuen.

IPMI ist ein großartiges Verwaltungstool für Systemadministratoren. Dies bedeutet von Natur aus, dass es auch eine schöne Hintertür für Hacker ist. Wenn ich Zugriff auf das IPMI-Netzwerk erhalte, kann ich interessante Dinge tun, z. B. alle 200 Computer innerhalb weniger Minuten ausschalten oder jeden einzelnen Knoten beim nächsten Start an PXEboot senden (und möglicherweise alles überschreiben, was sich gerade auf den Festplatten befindet). Wenn Sie Ihren Kunden dies gut erklären können, erkennen sie möglicherweise die Weisheit eines VPN.

Zweitens können Sie den Befehl ipmitool verwenden, um die IPMI-Konfiguration ohne Benutzerauthentifizierung zu verwalten. Ich möchte verhindern, dass Kunden die IPMI-Einstellungen ändern - z. B. IP-Adresse, Entfernen meiner Überwachungsbenutzer, ...

ipmitoolStellen Sie sicher, dass FreeIPMI usw. nicht standardmäßig auf dem System installiert sind. Fügen Sie in Ihrer Kundendokumentation eine Warnung hinzu, dass die Installation dieser Tools auf dem Betriebssystem ein potenzielles Sicherheitsproblem darstellt. Wenn sie diese Tools installieren, übernehmen sie ein gewisses Risiko.

Stefan Lasiewski
quelle
2
Es ist eine Schande, dass eine solche Antwort keine Stimmen erhalten hat. Das muss sich ändern! Guter Beitrag Stefan, danke dafür, +1.
gf_
1
Dank dafür. IPMI ist leider geheimnisvoll und wenig verstanden und wird jetzt teilweise durch Virtualisierung, Container und die Cloud überholt (es ist auch ein wichtiges Werkzeug, wenn Sie Ihre eigene Virtualisierung und Cloud-Infrastruktur verwalten). Kürzlich habe ich über einen Ersatz für IPMI (und PXEboot und mehr) namens RedFish gelesen: dmtf.org/standards/redfish
Stefan Lasiewski
Ich betreibe einige private Cluster mit Ganeti , die ich absolut empfehlen kann, und selbst im Jahr 2016 verwende ich IPMI immer noch für Out-of-Band-Zugriff und Notfälle usw. Zumindest in meinen Umgebungen ist es also von Nutzen und nicht veraltet . Vielleicht liegt das daran, dass ich nicht denke, dass "die Cloud" unabhängig von den Bedürfnissen und Erwartungen so viel Sinn macht. (Und ich bin ein großer Fan davon :].) Danke für den Link zu RedFish, der noch nie davon gehört hat.
gf_
1

Ok, meine wahrscheinlich endgültige Lösung ist sehr einfach. Da ich einen ADMIN-Benutzer für das IPMI habe, kann ich eine einfache Schnittstelle schreiben, die ipmitool-Befehle zum Starten / Stoppen / Neustarten von Servern ausführt.

Für die Webkonsole habe ich einige Nachforschungen angestellt. Supermicro generiert die Datei jviewer.jnlp, die nur Portnummern und einige Anmeldeinformationen enthält. Erstens dachte ich, dass es eine Signatur gibt und ich den Inhalt nicht ändern kann. Trotzdem gibt es keine Unterschrift und ich kann dort setzen, was ich will.

Als Teil meiner Benutzeroberfläche werde ich eine Konsolentaste erstellen, die eine Firewall so konfiguriert, dass die von der Konsole benötigten Ports vorübergehend zugelassen werden. Außerdem wird die Jviewer-Datei heruntergeladen, aktualisiert und an den Client übergeben.

Es wird mich einige Entwicklungskosten kosten, aber es wird mir ermöglichen, Verwaltungskarten im lokalen Netzwerk zu haben und sie bei Bedarf auch über das öffentliche Netzwerk zugänglich zu machen.

Yarik Dot
quelle
Für einfache Vorgänge wie das Aus- und Wiedereinschalten müssen Sie im Allgemeinen nur einen einzigen Port öffnen - Port 623 / UDP für IPMI. Betrachten Sie anstelle von Jviewer / KVM-over-LAN die Serial-over-LAN-Funktionalität. Das KVM-over-LAN sieht freundlicher aus, kann aber sehr fehlerhaft und langsam sein. Das Verhalten ist zwischen verschiedenen Supermicro-Servern inkonsistent. Jviewer löst Sicherheitswarnungen in Firefox aus, ist in Chrome nicht möglich usw. Supermicro muss mit der Zeit gehen und Jviewer durch einen HTML5-basierten Viewer ersetzen.
Stefan Lasiewski