IPMI Best Practices

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

IPMI ermöglicht eine einfache Fernwartung von Server-Systemen. Damit ausschließlich berechtigte Benutzer Zugriff auf die Ferwartungsoptionen haben, ist eine sichere IPMI Konfiguration wichtig. Die hier gezeigten Best-Practice Empfehlungen sind allgemein gehalten, sie lassen sich sowohl auf Thomas-Krenn-Server als auch andere Systeme anwenden.

Checkliste Best Practices

Check-box-icon-small.png IPMI Firmware aktualisieren (siehe IPMI Sicherheitsupdates und Server Downloads als RSS Feed für Thomas-Krenn-Server)

Check-box-icon-small.png IPMI im separaten LAN (siehe Netzwerk)

Check-box-icon-small.png Unnötige Dienste deaktivieren und ggf. Port anpassen

Check-box-icon-small.png Starke Benutzernamen (z.B. kein "ADMIN" verwenden) und Passwörter (siehe Benutzerverwaltung)

Check-box-icon-small.png Monitoring: Eingeschränkte User-Rechte einsetzen (Priviledge Level User)

Check-box-icon-small.png End of Life (EOL): IPMI Firmware flashen / Mainboard zerstören

Grundlagen

Schematische Darstellung Server und BMC
IPMI wird zum Out-of-Band (oder lights-out) Management von Servern verwendet. Grundlage dafür ist der auf dem Mainboard integrierte Baseboard Management Controller (BMC). Der BMC kann alle wichtigen Teile des Servers steuern und ist nicht vollständig deaktivierbar (wird erst beim Ziehen des Stromkabels inaktiv).[1] Dadurch ist der BMC ein sicherheitstechnisch hoch kritischer Bestandteil des Servers und sollte bestmöglich geschützt werden. Trotz des hohen Schutzbedarfs dieses Controllers und den darauf laufenden Diensten treten immer wieder schwerwiegende Sicherheitslücken auf.[2] Diese Lücken befinden sich teilweise in den von den Herstellern eingebauten Zusatzdiensten wie der Weboberfläche, teilweise aber auch direkt im IPMI-Protokoll. Daher ist es nicht immer möglich eine Lücke durch ein Update zu beheben.

Allgemeine Hinweise

Falls Sie IPMI nicht benötigen, verbinden Sie den BMC nicht mit dem Netzwerk.

Sämtliche Einstellungen bezüglich IPMI können durch das Betriebssystem des Servers und einem Benutzer mit ausreichenden Rechten (root / Administrator) geändert werden. Daher kann durch die Kompromittierung des Betriebssystems in weiterer Folge auch der BMC kompromittiert werden. Außerdem kann eine Kompromittierung des BMC nicht oder nur sehr schwer festgestellt werden.

  1. Achten Sie beim Ausmustern des Servers auf die korrekte Löschung aller Passwörter im Speicher des BMC. Wenn eine sichere Löschung nicht möglich ist, ändern Sie alle vorhandenen Kennwörter.
  2. Verifizieren Sie vor Installation eines Firmware Updates, ob dieses wichtige neue Funktionen oder Fehlerbehebungen beinhaltet und installieren Sie es nur dann wenn Sie die neuen Funktionen benötigen oder Sicheheitsmängel behoben werden.

Netzwerk

Ein BMC besitzt im Normalfall keine oder nur sehr eingeschränkte Möglichkeiten zur Absicherung. Daher ist es erforderlich die Strukturen um den BMC möglichst sicher zu gestalten.

  1. Isolieren Sie den BMC von allen anderen Netzwerken (besonders externen):
    1. Richten Sie wenn möglich eine physische Trennung ein und nutzen Sie bei Supermicro-basierten System den dedicated Port.
    2. Ist kein dedizierter Port für den BMC vorhanden, verwenden Sie VLANs.
    3. Überwachen Sie den Verkehr zum und vor allem vom BMC zu anderen Knoten (ausgehender Traffic ins Internet sollte niemals vorkommen (außer evtl. NTP) und kann ein Zeichen eines Angriffs sein).
    4. Richten Sie einen sicheren Zugangspunkt zum Management-Netzwerk ein (z.B. über einen Bastion-Host für VPN).
    5. Kein anderer Host (außer Bastion-Host) sollte im IPMI/Management-Netzwerk sein.
  2. Konfigurieren Sie statische IPs für den BMC.
  3. Verwenden Sie immer eine gesicherte HTTPS (SSL/TLS) Verbindung, wenn Sie sich mit der Remote-Management Lösung (z.B. Webinterface) verbinden.
  4. Behandeln Sie einen BMC wie einen normalen Server (Integration ins Management).
  5. Je nach Größe des Management-Netzes sollte dieses weiter unterteilt werden (z.B. Webserver-Management, Datenbankserver-Management, ...).

Auszug von möglichen sicheren Netzwerkkonfigurationen

Benutzerverwaltung

Folgende Dinge sollten bei der Verwaltung der IPMI User und Passwörter berücksichtigt werden.

  1. Verwenden Sie komplexe Passwörter mit maximaler Länge (16 Zeichen bei IPMI 1.5; 20 Zeichen bei IPMI 2.0).
  2. Ändern Sie die Passwörter regelmäßig (mind. einmal pro Jahr).
  3. Deaktivieren Sie alle Anonymous oder Null Accounts (Accounts mit Null Passwörtern oder Usernamen).
  4. Deaktivieren oder löschen Sie die Herstelleraccounts (Default-User wie ADMIN).
  5. Verwenden Sie nur von Ihnen angelegte Accounts mit möglichst komplexen Usernamen zur Administration.

IPMI (Experteneinstellungen)

Viele der folgenden Vorschläge lassen sich nicht oder nur in seltenen Fällen über das Webinterface umsetzen. Benutzen Sie daher Werkzeuge wie FreeIPMI. Achten Sie bei der Verwendung solcher Programme darauf, dass immer IPMI 2.0 verwendet wird. Standardmäßig verwenden viele Tools nur IPMI 1.5 ohne Verschlüsselung.

Hinweis: In der Regel sind die folgenden Einstellungen bei aktuellen Firmware Versionen von Thomas-Krenn bereits vorgenommen. Sie können die erwähnten Kommandos zur Prüfung der Einstellungen auf Ihren Servern ausführen.

  • Deaktivieren Sie die NONE Authentifizierung. Informationen dazu finden Sie im Ariktel NONE Authentifizierung bei IPMI deaktivieren.
  • Deaktivieren Sie Cipher 0. Durch die Verwendung von Cipher 0 werden alle Sicherheitsmechanismen von IPMI umgangen. Durch Cipher 0 ist es möglich jedes Kommando ohne Authentifizierung durchzuführen. Falls es nicht möglich sein sollte Cipher 0 zu deaktivieren, verwenden Sie ausschließlich IPMI 1.5.
    • Verwenden Sie nur Cipher 3, 8 oder 12 auf allen Channels. Alle anderen Ciphers sind entweder unvollständig oder unsicher.
      Cipher 3 aktivieren Sie z.B. auf folgende Weise:
      # ipmitool lan set 1 cipher_privs XXXaXXXXXXXXXXX
  • Deaktivieren Sie Gratuitous ARP.
    # ipmitool lan print 1
    [...]
    BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled
  • Aktivieren Sie sämtliche Logging Möglichkeiten des BMCs. Das System Event Log können Sie auch mit dem IPMI Sensor Monitoring Plugin überwachen.
  • Deaktivieren Sie Funktionen, die sie nicht benötigen (z.B. Web Port 80 oder NTP).

Einzelnachweise

  1. Sold Down the River, Dan Farmer (fish2.com)
  2. A Penetration Tester's Guide to IPMI and BMCs (community.rapid7.com)

Weitere Informationen

Das könnte Sie auch interessieren

Fehlerhafte IPMI Sensoren durch vollständige Initialisierung des IPMI Moduls richtigstellen
IPMI Chip Supermicro X10 Mainboards
Supermicro X8DT3-F IP Konfiguration IPMI und KVM over IP im BIOS