ADMIN-Tipp: Nie mehr den Falschen rebooten

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Dann hilft auch kein Fluchen mehr: Ein einziges Wort ins falsche Fenster getippt und ungewollt fährt ein Produktionssystem herunter. Ein versehentlicher Reboot oder Shutdown ist der Klassiker unter den Administrationspannen, denn gerade wenn viele Terminalsessions parallel offen sind, reicht ein Moment der Unaufmerksamkeit schon aus. Dabei kann man sich wirkungsvoll dagegen schützen.

Abhilfe verspricht eine kleine Skriptsammlung unter dem Namen molly-guard, die sich sowohl bei Debian wie bei Ubuntu im Repository findet. Der Name soll sich von der Bezeichnung einer Plexiglas-Hülle über Reset-/Ausschaltern ableiten, zu der ihr Erfinder von seiner kleinen Tochter Molly inspiriert worden sein soll, die den Schalter mehrfach betätigte. Die Molly-Guard-Software installiert Links unter den Namen halt , reboot , shutdown und poweroff nach /usr/sbin , wo sie eher gefunden werden als die gleichnamigen Kommando-Originale. Damit das klappt muss allerdings /usr/sbin vor /sbin im Pfad stehen, was jedoch die Regel ist.

Tippt man dann aus der Ferne eines der gefährlichen Kommandos ein, erkennt das Skript /usr/share/molly-guard/shutdown , auf das alle /usr/sbin-Pendants verlinken, dass es in einer SSH-Sitzung aufgerufen wurde und fragt sicherheitshalber nach dem Hostnamen des herunterzufahrenden Systems. Ist der daraufhin eingegebene Hostname nicht mit dem Namen des Rechners identisch, auf dem der Admin eingeloggt ist, wird der Reboot verweigert.

root@klient:/home/jcb# reboot
W: molly-guard: SSH session detected!
Please type in hostname of the machine to reboot: hercules
Good thing I asked; I won't reboot klient ...
W: aborting reboot due to 30-query-hostname exiting with code 1.

Gibt man eines der geschützten Kommandos außerhalb einer SSH-Session in einem lokalen Terminal ein, wird der Befehl sofort durchgereicht. Davon kann man sich mit einem Trockenlauf überzeugen:

jcb@hercules:~$ reboot --molly-guard-do-nothing
I: demo mode; molly-guard will not do anything due to --molly-guard-do-nothing.
molly-guard: would run: /sbin/reboot

Tausend Prozent  wasserdicht ist die Prävention allerdings nicht. So werden beispielsweise init 0 oder  init 6 von molly-guard nicht abgefangen.

27.11.2012

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023