Valentin
Registered User
Vermutlich empfinden es viele als zu aufwendig oder gleich als "falsch", aber was ich immer empfehle ist die Verwendung von Konfigurationsmanagement-Software.
Konfigurationsmanagement-Software (wie Puppet, Cfengine, Chef, gf. OPSI..^^) fütterst du mit Snippets/Manifesten, die beschreiben, wie ein System und die darauf laufenden Applikationen/Dienste konfiguriert sein sollen.
Puppet/Cfengine/Chef läuft dann regelmäßig durch und konfiuriert das System für dich - nach dem ersten Durchlauf hat das Tool dann im Idealfall alle gewünschten Pakete installiert und die dazugehörigen Konfigurationsdateien bearbeitet.
Alle weiteren Durchläufe in Zukunft sorgen dafür, dass die Konfiguration so bleibt, wie du es einmal definiert hast. Wünscht man zu einem späteren Zeitpunkt Änderungen an der Konfiguration, so passt man die Snippets/Manifeste an und nicht die eigentliche Konfigurationsdatei.
Vorteile:
Nachteile:
Grundsätzlich gilt:
Alles, was ich manuell via SSH-/RDP-Zugriff auf meinem System durchführen kann, kann auch Konfigurationsmanagement-Software für mich erledigen. In manchen Fällen muss man sich Jahre lang nicht auf einem System einloggen, da Puppet/Cfengine/Chef mein System selbstständig warten und ggf. auch upraden.
Ich arbeite seit gut 3 Jahren mit Konfigurationsmanagement-Software und muss seit dem kein System mehr manuell einrichten oder pflegen.
Für einen Neuling in Sachen Linux/Windows/Server vermutlich etwas kompliziert, aber der Aufwand lohnt!
Konfigurationsmanagement-Software (wie Puppet, Cfengine, Chef, gf. OPSI..^^) fütterst du mit Snippets/Manifesten, die beschreiben, wie ein System und die darauf laufenden Applikationen/Dienste konfiguriert sein sollen.
Puppet/Cfengine/Chef läuft dann regelmäßig durch und konfiuriert das System für dich - nach dem ersten Durchlauf hat das Tool dann im Idealfall alle gewünschten Pakete installiert und die dazugehörigen Konfigurationsdateien bearbeitet.
Alle weiteren Durchläufe in Zukunft sorgen dafür, dass die Konfiguration so bleibt, wie du es einmal definiert hast. Wünscht man zu einem späteren Zeitpunkt Änderungen an der Konfiguration, so passt man die Snippets/Manifeste an und nicht die eigentliche Konfigurationsdatei.
Vorteile:
- Dieses "jemand hat mir mal geholfen und ich habe SSH für ihn freigeschalten" gibt es so nicht mehr - nach 5 oder 10 Minuten ist sein Zugang automatisch deaktiviert.
- Menschliche Fehler bei der Konfiguration werden ausgeschlossen, sobald das Snippet/Manifest "richtig" verfasst wurde.
- Angreifer haben es schwer - verschaffen sie sich Zugriff auf das System und ändern Konfigurationsdateien ab, so müssen sie zunächst mal lernen/wissen, dass Konfigurationsmanagement im Einsatz ist, welches sie automatisch aussperren oder ärgern kann.
- Es wird ein Soll-Zustand für ein System definiert - Dinge, die aus der Reihe fallen, können automatisch deinstalliert oder zumindest deaktiviert werden.
- Diese Snippets/Manifests kann ich auf weiteren Systemen verwenden. -> Zeitersparnis in Zukunft!
Nachteile:
- Aufwand für initiale Einarbeitung
- Aufwand für Schreiben der Snippets/Manifeste
- Konfigurationsänderungen sind umständlicher, da sie innerhalb der Logik der Konfigurationsmanagement-Software und nicht direkt in der Konfigurationsdatei vorgenommen werden müssen.
- Weniger Wartungsaufwand wird durch mehr Komplexität erkauft.
Grundsätzlich gilt:
Alles, was ich manuell via SSH-/RDP-Zugriff auf meinem System durchführen kann, kann auch Konfigurationsmanagement-Software für mich erledigen. In manchen Fällen muss man sich Jahre lang nicht auf einem System einloggen, da Puppet/Cfengine/Chef mein System selbstständig warten und ggf. auch upraden.
Ich arbeite seit gut 3 Jahren mit Konfigurationsmanagement-Software und muss seit dem kein System mehr manuell einrichten oder pflegen.
Für einen Neuling in Sachen Linux/Windows/Server vermutlich etwas kompliziert, aber der Aufwand lohnt!
Last edited by a moderator: