Eine Anleitung zur Konfigurationsdrift und wie man sie verhindert

Konfigurationsdrift ist ein wichtiges Anliegen für alle IAAC-Entwickler da draußen. In diesem Beitrag erfahren Sie mehr über Configuration Drift Management, seine Bedeutung, Ursachen und mögliche Lösungen.

Was ist Konfigurationsdrift?

Anwendungseigentümer müssen ihre Anwendungen und die zugrunde liegende Infrastruktur im Laufe der Zeit ändern, um das Kundenerlebnis kontinuierlich zu verbessern. Diese Kunden können entweder innerhalb oder außerhalb des Unternehmens sein.

Die Konfiguration der Apps und der Infrastruktur ändert sich infolge dieser Aktualisierungen und Änderungen. Diese Modifikationen können vorteilhaft sein oder den gehärteten Zustand der Systeme verschlechtern. Konfigurationsdrift ist der Fachbegriff dafür.

Wie Configuration Drift funktioniert

Das Potenzial für Konfigurationsabweichungen steigt mit der Komplexität von Softwareproduktions- und Bereitstellungssystemen. Der Code wird im Allgemeinen von der Arbeitsstation eines Entwicklers zu einer gemeinsam genutzten Entwicklungsumgebung, zu Test- und QA-Umgebungen und schließlich zu Staging- und Produktionsumgebungen übertragen.

Die potenziellen Auswirkungen nehmen zu, je weiter entlang der Pipeline die Drift auftritt. Selbst geringfügige Abweichungen zwischen einer auf dem Laptop eines Entwicklers installierten Paketversion und der auf einem Testserver installierten Version können das Debuggen von Problemen verzögern. Typischerweise wird erwartet, dass nur Inszenierung und Produktion Kopien voneinander sind. Die Belastung ist enorm, da viele Unternehmen täglich mehrmals neuen Code bereitstellen.

Häufige Ursachen für Konfigurationsdrift

Fehlende Kommunikation

Manchmal kommunizieren die Upstream-Teams nicht mit den Downstream-Partnern über die von ihnen vorgenommenen Änderungen, wodurch das gesamte Downstream-System zusammenbricht.

Hotfixes

Hotfixes sind Änderungen am Code, die vorgenommen werden, um ein kritisches Problem zu beheben, das nicht bis zum nächsten geplanten Update der Anwendung warten kann. Manchmal versäumen es die Techniker, die an der Lösung des Problems arbeiten, Änderungen vorzunehmen oder denselben Fix für andere Umgebungen in der Pipeline zu dokumentieren, was zu Abweichungen führt. Oft wird diese Abweichung durch die Wiedereinführung des ursprünglichen Problems behoben.

Kritische Paketaktualisierungen

Kritische Paketaktualisierungen ähneln in gewisser Weise Hotfixes. Beide werden schnell durchgeführt. Der Hauptunterschied besteht darin, dass kritische Paketaktualisierungen in der Hoffnung angewendet werden, zukünftige Vorfälle zu vermeiden. Solche Updates können also auf die gleiche Weise wie Hotfixes Drift verursachen.

Fehlende Automatisierung

Die Automatisierung wird die Möglichkeit einer Konfigurationsdrift nicht vollständig beseitigen. Es wird nur seine Chancen verringern.

Komfortänderungen

Manchmal sind Änderungen, die von Entwicklern vorgenommen werden, vorübergehend. Drift tritt beispielsweise auf, wenn ein Entwickler ein neues Paket auf einem Testserver installiert, um einige Funktionen zu testen, und vergisst, es in seinen ursprünglichen Zustand zurückzusetzen.

Warum ist Konfigurationsmanagement wichtig?

Einer der Gründe, warum Konfigurationsdrift so schädlich sein kann, ist, dass Drift unentdeckt bleiben kann, wenn niemand ständig danach sucht, da es nach und nach die Basis Ihrer Infrastruktur untergräbt, ähnlich wie ein kleines Leck in einem Haus hinter einer Mauer.

Wenn die Konfigurationsabweichung entdeckt wird, braucht es Zeit, um den zugrunde liegenden Grund für die Konfigurationsabweichung zu finden, die alles verursacht hat, was im Notfall eine wertvolle Ressource ist.

  Löscht die Initialisierung von PS4 das PSN-Konto?

In der Softwareentwicklung ist Drift eine wesentliche Ursache für langsame Release-Zyklen. Dies kann unnötige Mühe verursachen und die Produktivität der Entwickler beeinträchtigen.

Geringere Kosten

Sie können den erforderlichen Gesamtbetrag senken, indem Sie Duplizierungen oder Überbereitstellung identifizieren, wenn Sie ein detailliertes Bild Ihrer IT-Infrastruktur haben.

Höhere Produktivität

Cluster mit stabilen und bekannten Konfigurationen ermöglichen Batch-Management und Infrastrukturaufbau. Darüber hinaus wird die Notwendigkeit der manuellen Verwaltung individueller Einstellungen verringert, indem eindeutige (oder Snowflake-)Server eingeschränkt werden.

Schnelleres Debuggen

Durch konsistente Konfigurationen können Debugging-Teams Konfigurationsfehler ausschließen. Teams können sich auf andere mögliche Ursachen konzentrieren und Tickets schneller lösen, da sie nicht nach Konfigurationsabweichungen zwischen Servern, Serverclustern oder Umgebungen suchen müssen.

Durch Konfigurationsdrift verursachte Probleme

Sicherheitsprobleme

Unsichere Konfigurationen sind eine der häufigsten Ursachen für Sicherheitsverletzungen. Konfigurationsdrift kann andere Angriffe und Netzwerkverletzungen wahrscheinlicher machen, selbst wenn Sie mit einer geschützten Konfiguration beginnen.

Ausfallzeit

Erhebliche Ausfallzeiten können aus einem Konfigurationsfehler resultieren, der es einem Angreifer ermöglicht, einen DoS-Fehler auszunutzen oder einen wichtigen Server zu kompromittieren. Das ist aber noch nicht alles. Angenommen, Sie ändern die Konfiguration eines Netzwerkgeräts, was sich auf die Leistung auswirkt. Sie können jederzeit zu Ihrer „goldenen Konfiguration“ zurückkehren, richtig? Es dauert viel länger, den Dienst wiederherzustellen, wenn diese Konfiguration fehlerhaft ist.

Verstoß gegen die Compliance

Zur Einhaltung von Vorschriften wie ISO 27001, PCI-DSS und HIPAA sind strenge Sicherheitskontrollen erforderlich. Die Konfigurationsdrift kann dazu führen, dass Sie die Konformität brechen, wenn sie nicht gestoppt wird.

Beeinträchtigte Leistung

Eine Konfiguration befindet sich normalerweise in ihrem optimalen Zustand, wenn sie sich in ihrem beabsichtigten Zustand befindet. Ad-hoc-Änderungen können Netzwerkoptimierungsversuche behindern, indem sie Engpässe und Konflikte verursachen.

Verschwendete Zeit

Es kann lange dauern, ein Netzwerk zu beheben, das Sie nicht gut verstehen oder das nicht mit Ihrer Netzwerkdokumentation übereinstimmt. Dies bedeutet, dass Konfigurationsabweichungen zu IT-Fehlerbehebungsproblemen führen können, die möglicherweise nicht existierten oder einfacher zu lösen gewesen wären, wenn sich das Netzwerk in seinem vorgesehenen Zustand befunden hätte, und außerdem zu Ausfallzeiten für Benutzer führen.

Häufige Fehler, auf die Sie beim Überwachen von Konfigurationsabweichungen achten sollten

In einer perfekten Welt hätten alle Umgebungsserver für Entwickler (Dev/QA/Staging/Prod) die gleichen Konfigurationen. Leider funktionieren die Dinge in der „realen“ Welt nicht so. In kommerziellen Umgebungen ändern Anwendungseigentümer häufig die Infrastruktur, wenn neue Funktionen in die Software eingeführt werden.

Die Überwachung der Konfigurationsdrift ist entscheidend, um sicherzustellen, dass Softwareumgebungen so homogen wie möglich sind. Die Konfiguration der Verwaltung reduziert die Kosten, steigert die Produktivität und die Debugging-Zeit und verbessert die Benutzererfahrung.

Um mit der Überwachung so erfolgreich wie möglich zu sein, müssen Organisationen Fehler vermeiden, selbst wenn sie das Konfigurationsmanagement verwenden, und ihre Konfigurationsdrift überwachen.

Die häufigsten Fehler sind unten aufgeführt:

Keine Pflege einer CMDB

Die Aktualisierung einer Configuration Management Database (CMDB) ist ein wesentlicher Bestandteil des Konfigurationsmanagements. Informationen über die Hardware- und Softwareinstallationen eines Netzwerks können an einem Ort untersucht werden, der von einer Konfigurationsverwaltungsdatenbank bereitgestellt wird. Daten werden für jedes Asset oder Konfigurationselement gesammelt und sorgen für Sichtbarkeit und Transparenz am Arbeitsplatz.

  So erhalten Sie immer das gewünschte Foto

Das Versäumnis, eine CMDB zu pflegen, setzt Unternehmen der Gefahr aus, nicht vollständig zu verstehen, wie sich die Konfiguration eines Elements auf ein anderes Element auswirkt. Unternehmen riskieren, ihre Infrastruktur und Sicherheit zu beschädigen, ohne die Folgen zu verstehen.

Die Verwaltung von CMDBs kann schwierig sein, insbesondere wenn die Anzahl der Assets steigt, aber eine effektive Datenbankorganisation und -verwaltung sind entscheidend für die erfolgreiche Verfolgung von Konfigurationsabweichungen und das Verständnis der Infrastruktur.

Keinen Plan zur Überwachung der Konfigurationsdrift haben

Unternehmen verfügen häufig über massive, komplizierte Infrastrukturen, die überwacht werden müssen. Entscheidend ist, welche Komponenten am meisten überwacht werden müssen. Andernfalls kann das Konfigurationsmanagement schnell unüberschaubar und chaotisch werden.

Organisationen müssen angeben, welche Assets für die Unternehmensüberwachung und bestimmte Geschäftseinheiten wesentlich sind. Beobachtet werden die wichtigsten Systeme, die sich von Einheit zu Einheit und Branche zu Branche unterscheiden.

Nicht automatisch überwachen

Organisationen können Konfigurationsabweichungen auf verschiedene Weise überwachen. Einige Ansätze sind jedoch raffinierter und erfolgreicher als andere.

Die manuelle Überwachung der Konfigurationsdrift ist kostspielig und zeitaufwändig. Die manuelle Überwachung deckt auch die Möglichkeit menschlicher Fehler auf. Dies ist nicht die beste Methode, um Konfigurationsdrift zu überwachen, es sei denn, Ihr Unternehmen hat einen sehr geringen Infrastrukturbedarf.

Die automatische Überwachung ist die am weitesten entwickelte und effizienteste Methode, um Konfigurationen im gewünschten Zustand zu halten. Dedizierte Konfigurationsüberwachungssysteme können Abweichungen sofort erkennen und häufig Lösungen anbieten, einschließlich einer schnellen Korrektur. Dies garantiert, dass die Infrastruktur des Unternehmens so schnell wie möglich und mit minimalen Auswirkungen wieder in den gewünschten Zustand versetzt wird.

So überwachen Sie die Konfigurationsdrift:

Es wird offensichtlich, warum das Erkennen von Configuration Drift ein Hauptanliegen sein sollte, wenn Sie den Schaden erkennen, den es verursachen kann. Zu wissen, was zu bewahren ist und warum es als Veränderung präsentiert wurde, die Drift verursacht hat, ist der erste Schritt in diesem Prozess.

Wissen, wonach Sie suchen

Sie können Ihre Organisation separieren, indem Sie die Komponenten identifizieren, die für die Organisation als Ganzes und die für jede Geschäftseinheit entscheidend sind.

Dies variiert je nach Einheit und kann in stark regulierten Branchen umfangreich sein oder sich ausschließlich auf engere systemkritische Dateien/Anwendungen konzentrieren. Die Bedeutung des Systems bestimmt die Häufigkeit und Ernsthaftigkeit von Überwachungssystemen.

Legen Sie eine Grundlinie fest

Aufgrund der verschiedenen Einstellungen wird es immer Abweichungen zwischen einer Produktionsumgebung und Testphasen geben. Die Grundlage für die Driftprüfung wird erstellt, indem definiert wird, was jeder Schritt sein sollte und welche Arten von Abweichungen zulässig sind.

  So schalten Sie Ihr iPhone für einen Film mit einer Siri-Verknüpfung stumm

Frühe Testphasen sind möglicherweise besser geeignet für eine höhere Abweichungstoleranz als eine Benutzerakzeptanztesteinstellung oder eine Herstellungsphase ohne Drift.

Überwachen Sie Ihr System

Das erforderliche Überwachungsniveau hängt vom Reifegrad der Organisation, ihren aktuellen Systemen, Werkzeugen, der Gesamtzahl der zu überprüfenden Konfigurationen und dem erforderlichen Überprüfungsgrad ab. Je nach Anforderungen und Compliance kann die Überwachung für jede Einheit innerhalb einer Organisation unterschiedlich sein.

So verhindern Sie Konfigurationsdrift

Die Überwachung muss sicherstellen, dass die Infrastruktur in der angemessenen Konfiguration gehalten wird, nachdem eine Grundlinie von Konfigurationen und zulässigen Lücken definiert wurde. Ohne eine Überwachungsstrategie ist die Erstellung von Konfigurationsplänen und Dokumentation Zeitverschwendung.

Zur Überwachung der Konfigurationsabweichung können verschiedene Ansätze eingesetzt werden, und viele Unternehmen kombinieren Methoden und Tools basierend auf ihrer Reife und ihren Compliance-Anforderungen.

Ständige manuelle Überwachung

Einzelne Maschinenkonfigurationen können manuell überprüft und mit einer bekannten Konfigurationsdatei verglichen werden. Aufgrund des menschlichen Aspekts ist dieser Prozess immer noch fehleranfällig und teuer in Bezug auf Mitarbeiterstunden. Ich sollte nur in geringem Umfang für einige wenige bestimmte Server-Cluster oder ein Unternehmen mit einer bescheidenen Infrastruktur verwendet werden.

Prüfungen

Ein Team untersucht Serverkonfigurationen im Rahmen von Konfigurationsprüfungen manuell und vergleicht sie mit einem bestimmten Modell. Diese Audits können teuer sein, da sie Fachwissen erfordern, um zu bestimmen, wie ein System aufgebaut werden sollte, und dann eine gründliche Untersuchung jeder nicht dokumentierten Möglichkeit, zu entscheiden, ob es erhalten werden soll oder nicht.

Das Auditteam nimmt auch notwendige Anpassungen an den Konfigurationsdokumenten vor, die beim nächsten Audit angewendet werden. Audits werden in der Regel für hochwertige oder Compliance-lastige Cluster beibehalten und aus Zeit- und Kostengründen regelmäßig durchgeführt, in der Regel mehrmals im Jahr.

Auditing garantiert eine konsistente und wiederholbare Serverkonfiguration nach einem festgelegten Zeitplan.

Bis zum nächsten Audit driften die Einstellungen jedoch immer mehr ab und bleiben bestehen.

Automatisierte Überwachung in Echtzeit

Automatisierte Echtzeitüberwachung ist die raffinierteste Methode, um Konfigurationen im gewünschten Zustand zu halten. Dazu müssen Server oder Servergruppen zusammen mit einer Beschreibung erstellt werden, wie sie mit dedizierten Server-Setup-Tools konfiguriert werden sollten.

Diese Programme verwenden einen leichtgewichtigen Agenten, um die Konfiguration eines Servers innerhalb dieser Gruppe zu überwachen und mit seiner Definition zu vergleichen.

Dieser automatisierte Prozess warnt sofort vor Abweichungen und bietet in der Regel mehrere Möglichkeiten, um die Abweichung des Servers zu korrigieren.

Letzte Worte:

Inkonsistente Configuration Items (CIs) zwischen Computern oder Geräten sind die Hauptursache für Konfigurationsabweichungen. Konfigurationsabweichungen treten ganz natürlich in Rechenzentrumsumgebungen auf, wenn Software- und Hardwareänderungen im laufenden Betrieb vorgenommen werden, ohne gründlich dokumentiert oder nachverfolgt zu werden.

Viele Ausfälle von Hochverfügbarkeits- und Disaster-Recovery-Systemen werden auf Konfigurationsabweichungen zurückgeführt. Administratoren sollten die Netzwerkadressen von Hardwaregeräten zusammen mit den darauf installierten Softwareversionen und den durchgeführten Upgrades sorgfältig aufzeichnen, um Konfigurationsabweichungen zu minimieren.