Configuration Management

„Wenn unsere Endgeräte gepatcht und mit den richtigen Sicherheitsprogrammen ausgestattet sind, müssten sie doch eigentlich sicher konfiguriert sein, oder?“

„Nicht unbedingt. Ein aktuelles System kann trotzdem unsicher sein, wenn beispielsweise unnötige Dienste laufen, Schutzfunktionen deaktiviert wurden oder Benutzer zu weitreichende Rechte besitzen. Deshalb müssen wir nicht nur Software aktuell halten, sondern auch die Konfiguration unserer Endgeräte kontrollieren.“

Auf einem Endgerät lassen sich sehr viele Dinge konfigurieren: Betriebssystemfunktionen, Benutzerrechte, Netzwerkdienste, Sicherheitsmechanismen, Anwendungen und zahlreiche weitere Einstellungen. Nicht alle Systeme können oder sollen identisch konfiguriert werden. Damit solche Konfigurationen nicht unkontrolliert entstehen und sich ebenso unkontrolliert verändern, werden sie systematisch verwaltet.

Configuration Management – Konfigurationsmanagement – umfasst die kontrollierte Festlegung, Umsetzung, Änderung und Überwachung von Konfigurationen. Im Sicherheitskontext spricht NIST auch von Security-Focused Configuration Management.

Dabei werden Sicherheitsanforderungen gezielt in das Configuration Management integriert. Configuration Management beschränkt sich also nicht darauf, gelegentlich einige Sicherheitseinstellungen zu kontrollieren, sondern begleitet die Konfiguration eines Systems über dessen Lebenszyklus.

Für die Endgeräte-Sicherheit sind dabei insbesondere drei Fragen wichtig:

  • Wie soll ein Endgerät konfiguriert sein?
  • Welche Änderungen an dieser Konfiguration sind zulässig?
  • Entspricht das Gerät weiterhin dem gewünschten Zustand?

Beim Configuration Management geht es nicht nur um einzelne Schalter z.B. in den Windows-Einstellungen oder Optionen in den Linux-Kerneleinstellungen. Zur relevanten Konfiguratioon können besipielsweise gehören:

  • Betriebssystemeinstellungen
  • installierte und zugelassene Anwendungen
  • aktivierte Dienste
  • Netzwerk- und Firewall-Einstellungen
  • Benutzerkonten und Berechtigungen
  • Einstellungen der Sicherheitssoftware
  • Laufwerksverschlüsselung
  • Anmelde- und Sperrmechanismen
  • Browser- und Anwendungseinstellungen
  • Geräte- und Schnittstellenrichtlinien

Wir haben bereits gesehen, dass die CIS Benchmarks konkrete Empfehlungen für die sichere Konfiguration von Systemen und Software bereitstellen. Dahinter steht ein grundlegendes Prinzip der CIS Controls: Sichere Konfiguration beschränkt sich nicht auf das Betriebssystem oder das Endgerät als Ganzes.

Auch installierte beziehungsweise bereitgestellte Anwendungen müssen sicher konfiguriert werden. Entsprechend fordert CIS Control 4 – Secure Configuration of Enterprise Assets and Software, sichere Konfigurationen sowohl für Unternehmensgeräte als auch für Betriebssysteme und Anwendungen zu etablieren und dauerhaft aufrechtzuerhalten.

In der nachfolgenden Abbildung sind einige wichtige Aspekte des Configuration Management noch einmal dargestellt. Klicke auf das Symbol oben rechts zum Maximieren und auf die Info-Buttons für weitere Informationen:

Damit die Konfiguration eines Geräts kontrolliert werden kann, muss zunächst klar sein, welcher Zustand überhaupt gewünscht ist. Dazu wird eine Baseline Configuration, kurz Baseline, festgelegt.

Das NIST beschreibt eine Baseline Configuration als einen zu einem bestimmten Zeitpunkt überprüften und vereinbarten Satz von Spezifikationen für ein System oder einzelne Configuration Items. Diese Baseline dient anschließend als Ausgangspunkt für weitere Änderungen. Damit entsteht ein definierter Soll-Zustand.

Eine Security Baseline enthält dagegen insbesondere empfohlene oder vorgegebene sicherheitsrelevante Konfigurationseinstellungen. Aus ihr und anderen Quellen bzw. Überlegungen kann die Unternehmens-Baseline erstellt werden.

Wir haben im Kapitel Endpoint Hardening in diesem Lernmodul schon viel zu Security Baselines und Baseline Configuration gesagt. Schauen wir daher an dieser Stelle noch einmal ergänzend auf den Prozess, der hinter dem Configuration Management steht.

Eine Baseline Configuration beschreibt den freigegebenen Soll-Zustand zu einem bestimmten Zeitpunkt. Ändern sich Bedrohungslage, Technik oder betriebliche Anforderungen, muss auch die Baseline überprüft und gegebenenfalls angepasst werden.

Deshalb müssen sowohl der gewünschte Zustand als auch spätere Änderungen kontrolliert verwaltet werden. Der Prozess hierzu stellt sich folgendermaßen dar. Klicke auf das Symbol oben rechts zum Maximieren für eine bessere Lesbarkeit:

Selbst wenn ein Gerät ursprünglich entsprechend seiner Baseline eingerichtet wurde, kann sich seine tatsächliche Konfiguration im Laufe der Zeit verändern. Beispiele:

  • ein Administrator deaktiviert während einer Fehlersuche die Firewall
  • ein Benutzer erhält „vorübergehend“ Administratorrechte
  • eine Anwendung aktiviert einen zusätzlichen Dienst
  • eine Einstellung wird manuell verändert
  • nach einer Änderung wird der ursprüngliche Zustand nicht wiederhergestellt

Es entsteht ein gewisser „Wildwuchs“, und das System entfernt sich damit zunehmend vom vorgesehenen Konfigurationszustand. Dies wird häufig als Configuration Drift bezeichnet.

Für den Benutzer funktioniert das Gerät weiterhin scheinbar normal. Ohne Überwachung könnte die Abweichung deshalb lange unbemerkt bleiben. Configuration Management soll solche Abweichungen sichtbar machen und dafür sorgen, dass sie kontrolliert behandelt werden.

Eine Abweichung ist nicht automatisch ein Fehler. Für bestimmte Systeme können begründete Ausnahmen erforderlich sein. Diese sollten jedoch bewusst genehmigt und dokumentiert werden.

Configuration Management wirkt dem Configuration Drift auf mehreren Ebenen entgegen:

  • Es wird ein einheitlicher Soll-Zustand definiert – dadurch wird ein Configuration Drift feststellbar
  • Die Konfiguration wird nach Möglichkeit zentral und automtisiert ausgerollt (z.B. via Gruppenrichtlinien)
  • Durch Gruppenrichtlinien unter Windows oder App Armor bzw. SELinux unter Linux können Konfigurationsänderungen erschwert werden
  • Ist-Zustand regelmäßig erfassen und prüfen (Soll-Ist-Vergleich durchführen)
  • Abweichungen werden manuell oder automatisch auf den vorgesehenen Zustand zurückgesetzt
  • Berechtige Abweichungen werden dokumentiert

Administratoren benötigen einen Überblick darüber, welche Geräte die Configuration Management-Vorgaben umsetzen und welche nicht. Dieser Zustand wird häufig als Configuration Compliance bezeichnet. Dabei hilft spezialisierte Management-Software.

Bei einem einzelnen Rechner lassen sich Einstellungen manuell konfigurieren. Bei hunderten oder tausenden Endgeräten wäre dieses Vorgehen jedoch kaum zuverlässig zu beherrschen. Deshalb werden Konfigurationen in Unternehmensumgebungen häufig zentral oder automatisiert verwaltet. Werfen wir einen Blick auf die wichtigsten Varianten, wie Configuration Management technisch unterstützt und umgesetzt werden kann:

Ansatz: Ein Administrator nimmt Einstellungen direkt auf einem Endgerät vor.

Für einzelne Systeme kann dies sinnvoll sein. Bei einer großen Zahl von Geräten steigt jedoch der Verwaltungsaufwand und die Gefahr unterschiedlicher Konfigurationen.

Ansatz: Konfigurationen können zentral definiert und auf Geräte angewendet werden.

In Windows-Domänen lassen sich beispielsweise zahlreiche Systemeinstellungen über Gruppenrichtlinien zentral steuern.

Ansatz: Moderne Managementplattformen können Konfigurationsprofile auf verwaltete Endgeräte übertragen und Einstellungen zentral steuern.

Microsoft beschreibt beispielsweise Intune Security Baselines als Gruppen vorkonfigurierter Einstellungen, mit denen empfohlene Sicherheitskonfigurationen auf verwaltete Windows-Geräte angewendet werden können.

Ansatz: Konfigurationen können auch automatisiert über Skripte oder Configuration-Management-Werkzeuge umgesetzt werden.

Dadurch lassen sich gewünschte Einstellungen reproduzierbar auf vielen Systemen anwenden.

Es gibt insbesondere vier Begriffe, die zwar miteinander zusammenhängen, aber unterschieden werden müssen:

Beim Hardening wird ein System so konfiguriert, dass seine Angriffsfläche reduziert wird. Hierbei werden beispielsweise:

  • unnötige Dienste deaktiviert,
  • Berechtigungen eingeschränkt,
  • unsichere Funktionen abgeschaltet oder
  • Schutzmechanismen aktiviert.

Configuration Management sorgt dafür, dass solche und weitere Konfigurationen:

  • definiert,
  • kontrolliert umgesetzt,
  • nur kontrolliert verändert und
  • dauerhaft überwacht werden.

Das Patch Management konzentriert sich auf die Aktualisierung der Firmware, Betriebssysteme und Software. Doch auch ein vollständig gepatchtes Gerät kann trotzdem unsicher konfiguriert sein. Das Configuration Management sorgt dafür, dass die Konfiguration entsprechend angepasst wird, wo es nötig ist.

⚠️ In manchen Fällen kann ein Update einer Software neue Features oder Abhängigkeiten mit sich bringen, die im Configuration Management berücksichtigt werden müssen.

„Und was ist mit Vulnerability Management, wie spielt dieses Element da mit rein?“

„Vulnerability Management sucht systematisch nach Schwachstellen und bewertet deren Risiko. Schwachstellen können unterschiedliche Ursachen haben, z.B. ein fehlender Patch, eine verwundbare Software-Version oder eine unsichere Konfiguration. Je nach Szenario kommt dann einer der anderen Prozesse ins Spiel.“

Es wird Zeit für ein paar Quizfragen – teste dein Wissen:

Nach oben scrollen