Datenanalyse und Machine Learning anhand eines Use Cases - I/IIIAm veröffentlicht

Azure Security Handling with Azure Key Vault Service

Einleitung

Keine Anwendungen und Services würden uns nützen, wenn es keine Sicherheit gäbe, dass unsere Daten vor einem Angriff geschützt sind. Es geht vor allem um eine sichere Aufbewahrung von Passwörtern, Zertifikaten, Zugriffsschlüsseln usw. Verschiedene Strategien sind in der Vergangenheit entwickelt worden, um eine solche Sicherheit zu gewährleisten: Speichern von Zugangsdaten in einem Code, einer Konfigurationsdatei, einer Datenbank oder einer Umgebungsvariable. Diese Methoden haben einige Nachteile:

  • Es wird direkt auf Zugangsdaten zugegriffen;
  • Ein Monitoring von Zugriffen muss selbstständig implementiert werden;
  • Ein Update von Zugangsdaten ist schwer durchzuführen;
  • Die Sicherheit des Servers, in dem Zugangsdaten gespeichert sind, muss selbstständig gewährleistet werden.

Azure Cloud bietet dafür eine übergreifende Lösung mit dem Azure Key Vault Dienst. Azure Key Vault Service bietet eine Möglichkeit, Zugangsdaten zentralisiert und sicher zu speichern bzw. zu verwalten (siehe die Abbildung). In den nächsten Abschnitten werden die wichtigsten Eigenschaften und Funktionalitäten von Azure Key Vault vorgestellt.

 

Azure Key Vault

 

Key Vault Backbone

Azure Key Vault speichert Schlüssel in Hardware-Sicherheit-Modulen (HSM), die mit dem US Federal Information Processing Standard Publication (FIPS) 140-2 Level 2 konform sind. Ein Benutzer kann neue Schlüssel in HSM erzeugen oder eigene Schlüssel in HSM gesichert importieren. Azure Key Vault unterstützt zwei Schlüsseltypen:

  • Software-geschützt: Schlüssel werden in HSM gespeichert, aber kryptografische Operationen werden außerhalb HSM durchgeführt.
  • HSM-geschützt: Schlüssel werden innerhalb HSM bearbeitet und gespeichert und somit verlassen HSM nicht. Sie sind allerdings nur im Premium Preismodel verfügbar.

Azure bietet dedizierte HSM, um einen noch höheren Grad der Sicherheit zu erreichen. Dedizierte HSM sind nur einem Benutzer zugeordnet und der Benutzer hat allein die vollständige administrative Kontrolle über die HSM. Im Gegensatz zu Azure Key Vault haben dedizierte HSM den Nachteil, dass sie mit Azure Diensten, die benutzerdefinierte Schlüssel verwenden können (z.B. Azure Storage), nicht integriert werden können.

 

Authentifizierung und Autorisierung

Da Azure Key Vault sicherheitskritische Informationen speichert, sind die Zugriffsrichtlinien auf die Daten von einer enormen Bedeutung. Der Benutzerzugang zu einem Schlüssel in Azure Key Vault ist mehrstufig. Zuerst erfolgt die Authentifizierung des Benutzers durch Azure Active Directory. Darauf folgt die Autorisierung zu Azure Key Vault mittels des Role-Based Access Controls (RBAC). Um schließlich den Schlüsselwert zu erhalten, wird die interne Key Vault Access Policy überprüft. In diesem Zusammenhang ist es zu beachten, dass die Key Vault Access Policy den Zugang sowohl für Benutzer als auch für Applikationen ermöglichen kann (siehe Abbildung).

 

 

Authentifizierung von Applikationen

Als Best Practice für die Authentifizierung von Applikationen in Azure Key Vault empfehlen sich Managed Identities (siehe Abbildung). Wenn eine verwaltete Identität für eine Applikation aktiviert wird, wird die Identität im Gegensatz zu einer Authentifizierung mit einem Zertifikat automatisch durch die Azure Active Directory verwaltet, so dass der Benutzeraufwand gering bleibt. Mithilfe von Managed Identities können Applikationen sich bei Azure Key Vault authentifizieren, ohne Credentials im Code zu speichern. Wie auch andere Identitäten unterliegen verwaltete Identitäten den Richtlinien des RBAC. Managed Identities sind unter anderem für die folgenden Azure Services verfügbar: Azure Data Factory, Azure Functions, Azure Event Grid, Azure IoT Hub, Azure Kybernetes Service, Azure Key Vault und Azure Virtual Machines.

 

 

Netzwerksicherheit: Firewall und private Endpunkte

Wie andere Azure Dienste verfügt auch Azure Key Vault über eine Firewall und kann über private Endpunkte mit virtuellen Netzwerken verknüpft werden. Die Firewall erlaubt den Zugang zu Azure Key Vault auf dedizierte virtuelle Netzwerke und IP-Adressen zu begrenzen. Dies ist ein wesentlicher Schutzmechanismus, der von Azure empfohlen wird.

Ein privater Endpunkt erlaubt, Azure Key Vault in ein virtuelles Netzwerk zu integrieren. Andere Benutzer können auf den Endpunkt aus Ihrem virtuellen Netzwerk über einen privaten Link zugreifen.  In diesem Scenario bleiben die Daten innerhalb der Azure Backbone Infrastruktur und betreten das öffentliche Internet nicht.

Monitoring, Logging und Warnungen

Monitoring, Logging und Warnungen für Azure Key Vault sind sehr ausführlich implementiert. Monitoring Dashboards lassen sich innerhalb weniger Sekunden im Azure Key Vault Interface erstellen. Die verfügbaren Metriken sind die Zeitlatenz von API-Aufrufen, die Verfügbarkeit von Azure Key Vault, die gesamte Last auf Azure Key Vault in Prozent gerechnet und die Anzahl der Aufrufe von Azure Key Vault. Eine fertige Übersicht der Metriken kann auch direkt in Azure Monitor (aktuell in der Vorschau) angezeigt werden. Darüber hinaus kann Azure Key Vault sowohl die Metriken als auch Logs, die zusätzliche Informationen zu den Metriken enthalten, nach Azure Log Analytics, Azure Event Hub und ein Speicherkonto exportieren.

Basierend auf den Metriken lassen sich statische und dynamische Benutzerwarnungen einrichten, um frühzeitig auf unerwartete Ereignisse zu reagieren. Eine statische Warnung wird ausgelöst, wenn eine Metrik einen statischen Grenzwert passiert, während die Bedingung für eine dynamische Warnung erfordert, dass eine Metrik einen Wert eine definierte Anzahl der Male passiert.

Backup und Recovery

Ein unerwarteter Verlust von Sicherheitsinformationen kann den kompletten Geschäftsablauf zum Erliegen bringen.  Azure Key Vault bietet mehrere Mechanismen, um den Key Vault Dienst und dessen Inhalte gegen einen Verlust zu schützen. Für den Fall, wenn ein Schlüssel oder ein kompletter Key Vault versehentlich gelöscht werden, implementiert Azure eine Soft-Delete-Option. Die Option ermöglicht gelöschte Inhalte innerhalb der Aufbewahrungszeit, die zwischen 7 und 90 Tage konfigurierbar ist, wiederherzustellen.

Als eine Alternative zum Soft-Delete unterstützt Azure Key Vault Backups von einzelnen Schlüsseln und Geheimnissen, aber nicht vom kompletten Key Vault. Eine Backup-Datei kann nur innerhalb des gleichen Azure Abonnements und der gleichen Geografie entschlüsselt werden. Da der Verwaltungsaufwand von Backups komplett dem Benutzer unterliegt, empfiehlt Azure Backups nur dann vorzunehmen, wenn es dafür kritische Anforderungen gibt.

Jeder Azure Key Vault verfügt schließlich über zwei Replikationen: eine Replikation in der gleichen Region und eine andere Replikation in einer anderen Region der gleichen Geografie. Es gibt also insgesamt drei Kopien. Sobald eine Komponente in Azure Key Vault ausfällt, wird die entsprechende replizierte Komponente aktiv. Das gleiche gilt auch, wenn eine Region komplett ausfällt. Dann wird Azure Key Vault auf eine andere Region automatisch umgeschaltet.

Use Cases

Azure Key Vault kann mit verschiedenen Azure Diensten integriert werden. Zwei wichtige Anwendungsfälle sind:

  • Entwickler haben oft das Problem, Zugangsdaten zu Ihrer Entwicklungs- und Produktivumgebung zu verwalten. Azure DevOps/Pipeline erlaubt Schlüssel aus einem Key Vault in eine Pipeline oder ein Release anzubinden. Als Folge werden keine Schlüssel mehr hartkodiert, sondern leicht und zentralisiert durch die Active Directory und das RBAC verwaltet.
  • Orchestrierung und Automatisierung von Cloud-Lösungen wird oft von Azure Functions übernommen. Einzelne Schritte können dabei Zugangsdaten erfordern. Azure Functions können auf ein Key Vault mittels einer Managed Identity zugreifen. Dieser Ansatz lässt sich innerhalb weniger Minuten konfigurieren und automatisieren.

 

Key Vault ist ein sehr hilfreicher Dienst von Azure Cloud. Azure Key Vault erleichtert deutlich die Verwaltung von Zugangsdaten in verschiedenen Umgebungen und nimmt damit einen festen Platz in vielen Cloud Architekturen an.