Kontinuierliches Systemmanagement

Eine Cloud hat immer Bugs. Einige davon sind Sicherheitsprobleme. Aus diesem Grund ist es entscheidend wichtig, Sicherheitsupdates und allgemeine Software-Updates anzuwenden. Hierbei handelt es sich um eine intelligente Verwendung von Konfigurationsmanagement-Tools, die nachfolgend erläutert werden. Dies beinhaltet auch das Wissen, wann ein Upgrade notwendig ist.

Schwachstellenmanagement

Für Ankündigungen bezüglich sicherheitsrelevanter Änderungen, abonnieren Sie die OpenStack Announce mailing list. Die Sicherheitsbenachrichtigungen werden auch über die Downstream-Pakete gebucht, zum Beispiel über Linux-Distributionen, die Sie als Teil der Paketaktualisierungen abonniert haben.

Die OpenStack-Komponenten sind nur ein kleiner Bruchteil der Software in einer Cloud. Es ist wichtig, auch mit all diesen anderen Komponenten auf dem Laufenden zu bleiben. Während bestimmte Datenquellen implementierungsspezifisch sein werden, ist es wichtig, dass ein Cloud-Administrator die notwendigen Mailinglisten abonniert, um die Benachrichtigung über alle Sicherheitsupdates zu erhalten, die für die Umgebung der Organisation gelten. Oft ist das so einfach wie die Verfolgung einer Upstream-Linux-Distribution.

Bemerkung

OpenStack gibt Sicherheitsinformationen über zwei Kanäle frei.

  • OpenStack Security Advisories (OSSA) werden vom OpenStack Vulnerability Management Team (VMT) erstellt. Sie beziehen sich auf Sicherheitslücken in Kern-OpenStack-Diensten. Weitere Informationen zum VMT finden Sie im Vulnerability Management Process.

  • OpenStack Security Notes (OSSN) werden von der OpenStack Security Group (OSSG) erstellt, um die Arbeit der VMT zu unterstützen. OSSN-Adresse Probleme bei der Unterstützung von Software und gemeinsame Bereitstellung Konfigurationen. Sie werden in diesem Leitfaden referenziert. Sicherheitsnotizen werden unter OSSN archiviert.

Triage

Nachdem Sie über ein Sicherheitsupdate informiert sind, ist der nächste Schritt, um festzustellen, wie kritisch dieses Update auf eine gegebene Cloud-Bereitstellung ist. In diesem Fall ist es sinnvoll, eine vordefinierte Richtlinie zu haben. Bestehende Schwachstellen-Rating-Systeme wie das Common Vulnerability Scoring System (CVSS) berücksichtigen keine Cloud-Implementierungen.

In diesem Beispiel stellen wir eine Scoring-Matrix vor, die Schwachstellen in drei Kategorien platziert: Privileg Eskalation, Denial of Service und Information Disclosure. Das Verständnis der Art der Anfälligkeit und wo es in Ihrer Infrastruktur auftritt, ermöglicht es Ihnen, begründete Antwortentscheidungen zu treffen.

Privileg Eskalation beschreibt die Fähigkeit eines Benutzers, mit den Privilegien eines anderen Benutzers in einem System zu handeln, wobei entsprechende Berechtigungsprüfungen umgangen werden. Ein Gastbenutzer, der eine Operation ausführt, die es ihnen ermöglicht, unbefugte Operationen mit den Berechtigungen eines Administrators durchzuführen, ist ein Beispiel für diese Art von Sicherheitsanfälligkeit.

Denial of Service bezieht sich auf eine ausgebeutete Sicherheitsanfälligkeit, die zu Service- oder Systemstörungen führen kann. Dies umfasst sowohl verteilte Angriffe, um Netzwerkressourcen zu überwältigen, als auch Einzelbenutzerangriffe, die typischerweise durch Ressourcenzuweisungsfehler oder eingegebene Systemausfallfehler verursacht werden.

Informationen Offenlegung Schwachstellen zeigen Informationen über Ihr System oder Operationen. Diese Schwachstellen reichen von der Offenlegung von Informationen über die Offenlegung von kritischen Sicherheitsdaten wie Authentifizierungsanmeldeinformationen und Passwörtern.

Attacker Position/Privileg Ebene

Außen

Cloud-Benutzer

Cloud-Administrator

Steuerebene

Privileghöhe (3 Stufen)

Kritisch

n/a

n/a

n/a

Privileghöhe (2 Stufen)

Kritisch

Kritisch

n/a

n/a

Privileghöhe (1 Ebene)

Kritisch

Kritisch

Kritisch

n/a

Denial of Service

Hoch

Mittel

Niedrig

Niedrig

Offenlegung von Informationen

Kritisch/hoch

Kritisch/hoch

Mittel/niedrig

Niedrig

Diese Tabelle veranschaulicht einen generischen Ansatz zur Messung der Auswirkungen einer Schwachstelle, basierend darauf, wo sie in Ihrem Einsatz und dem Effekt auftritt. Beispielsweise ermöglicht eine einstufige Privileg-Eskalation auf einem Compute-API-Knoten möglicherweise, dass ein Standardbenutzer der API eskaliert, um die gleichen Berechtigungen wie der Root-Benutzer auf dem Knoten zu haben.

Wir schlagen vor, dass Cloud-Administratoren diese Tabelle als Modell verwenden, um zu definieren, welche Aktionen für die verschiedenen Sicherheitsstufen zu ergreifen sind. Beispielsweise kann ein Sicherheitsupdates auf kritischer Ebene erfordern, dass die Cloud schnell aktualisiert wird, während ein Low-Level-Update länger dauern kann, um abgeschlossen zu werden.

Testen der Updates

Sie sollten jedes Update testen, bevor Sie es in einer Produktionsumgebung bereitstellen. Typischerweise erfordert dies einen separaten Test-Cloud-Setup, der zuerst das Update erhält. Diese Cloud sollte so nah wie möglich an der Produktions-Cloud liegen, in Sachen Software und Hardware. Updates sollten gründlich in Bezug auf Leistung Auswirkungen, Stabilität, Anwendung Auswirkungen und vieles mehr getestet werden. Besonders wichtig ist es, zu überprüfen, ob das theoretisch durch die Aktualisierung angesprochene Problem, wie z.B. eine spezifische Anfälligkeit, tatsächlich behoben ist.

Bereitstellung der Updates

Sobald die Updates vollständig getestet sind, können sie in der Produktionsumgebung eingesetzt werden. Diese Bereitstellung sollte mit den unten beschriebenen Konfigurationsmanagement-Tools vollständig automatisiert werden.

Konfigurationsmanagement

Eine Produktionsqualität-Cloud sollte immer Werkzeuge benutzen, um die Konfiguration und Bereitstellung zu automatisieren. Dies beseitigt menschlicheFehler und lässt die Cloud viel schneller skalieren. Automatisierung hilft auch bei kontinuierlicher Integration und Prüfung.

Beim Aufbau einer OpenStack-Cloud wird dringend empfohlen, sich Ihrem Design und der Implementierung mit einem Konfigurationsmanagement-Tool oder Framework vorzustellen. Das Konfigurationsmanagement ermöglicht es Ihnen, die vielen Fallstricke zu vermeiden, die dem Aufbau, der Verwaltung und der Pflege einer so komplexen Infrastruktur wie OpenStack innewohnen. Durch die Herstellung der Manifeste, Kochbücher oder Vorlagen, die für ein Konfigurationsmanagement-Dienstprogramm erforderlich sind, können Sie eine Reihe von Dokumentations- und Regulierungsberichtsanforderungen erfüllen. Weiterhin kann das Konfigurationsmanagement auch als Teil Ihres Business Continuity Plans (BCP) und Datenrettung (DR) Pläne dienen, in denen Sie einen Knoten oder einen Dienst wieder in einen bekannten Zustand in einem DR-Ereignis umbauen oder einen Kompromiss erhalten können.

Additionally, when combined with a version control system such as Git or SVN, you can track changes to your environment over time and re-mediate unauthorized changes that may occur. For example, a nova.conf file or other configuration file falls out of compliance with your standard, your configuration management tool can revert or replace the file and bring your configuration back into a known state. Finally a configuration management tool can also be used to deploy updates; simplifying the security patch process. These tools have a broad range of capabilities that are useful in this space. The key point for securing your cloud is to choose a tool for configuration management and use it.

Es gibt viele Konfigurationsmanagementlösungen. Zum Zeitpunkt dieses Schreibens gibt es zwei auf dem Markt, die in ihrer Unterstützung von OpenStack-Umgebungen robust sind: Chef und Puppet. Eine nicht erschöpfende Auflistung der Werkzeuge in diesem Raum ist unten angegeben:

  • Chef

  • Puppet

  • Salt Stack

  • Ansible

Richtlinienänderungen

Immer wenn ein Richtlinien- oder Konfigurationsmanagement geändert wird, ist es gut, die Aktivität zu protokollieren und eine Kopie des neuen Satzes zu sichern. Oft werden solche Richtlinien und Konfigurationen in einem versiongesteuerten Repository wie Git gespeichert.

Sicheres Backup und Wiederherstellung

Es ist wichtig, Sicherungsprozeduren und Richtlinien in den Gesamtsystem des System Security Plan einzubeziehen. Einen guten Überblick über die Backup- und Recovery-Fähigkeiten und -Verfahren von OpenStack finden Sie im OpenStack Operations Guide zur Sicherung und Wiederherstellung.

  • Stellen Sie sicher, dass nur authentifizierte Benutzer und Backup-Clients Zugriff auf den Backup-Server haben.

  • Verwenden Sie Datenverschlüsselungsoptionen für die Speicherung und Übertragung von Backups.

  • Verwenden Sie einen dedizierten und gehärteten Backup-Server. Die Protokolle für den Backup-Server müssen täglich überwacht und nur wenigen Personen zugänglich sein.

  • Testen Sie Datenwiederherstellungsoptionen regelmäßig. Eines der Dinge, die aus gesicherten Backups wiederhergestellt werden können, sind die Abbilder. Im Falle eines Kompromisses wäre die beste Praxis, um laufende Instanzen sofort zu beenden und dann die Instanzen aus den Abbildern im gesicherten Backup-Repository neu zu starten.

Sicherheits-Auditing-Tools

Sicherheits-Auditing-Tools können die Konfigurations-Management-Tools ergänzen. Security Auditing-Tools automatisieren den Prozess der Überprüfung, dass eine große Anzahl von Sicherheitskontrollen für eine gegebene Systemkonfiguration erfüllt sind. Diese Werkzeuge helfen, die Lücke von der Sicherheitskonfigurationsanleitung (z. B. die STIG und NSA Guides) zu einer bestimmten Systeminstallation zu überbrücken. Zum Beispiel, SCAP kann ein laufendes System mit einem vordefinierten Profil vergleichen. SCAP gibt einen Bericht aus, der angibt, welche Kontrollen im Profil erfüllt sind, welche ausgefallen sind und welche nicht überprüft wurden.

Die Kombination von Konfigurationsmanagement und Security Auditing Tools schafft eine leistungsstarke Kombination. Die Audit-Tools werden die Einsatzbedürfnisse hervorheben. Und die Konfigurations-Management-Tools vereinfachen den Prozess der Änderung jedes Systems, um die Prüfungsfragen zu adressieren. Auf diese Weise zusammengebracht, helfen diese Werkzeuge, eine Cloud zu pflegen, die die Sicherheitsanforderungen von der Grundhärtung bis zur Compliance-Validierung erfüllt.

Konfigurationsmanagement und Security Auditing Tools werden eine weitere Schicht von Komplexität in die Cloud einführen. Diese Komplexität bringt zusätzliche Sicherheitsbedenken mit sich. Wir sehen dies als einen akzeptablen Risiko-Kompromiss, da ihre Sicherheitsvorteile. Die Sicherung der betrieblichen Nutzung dieser Werkzeuge geht über den Rahmen dieses Leitfadens hinaus.