eBizTalk - Berichten, Unterhalten, Weiterbilden
Ob Branchendiskurs, Fachartikel oder ein Blick hinter die Unternehmenskulissen: eBizTalk ist die Plattform, die uns auffordert, unsere Leser über Events und Projekte auf dem Laufenden zu halten. Und uns gegenseitig natürlich auch.

Geheimnisse sichern mit Azure Key Vault

Veröffentlicht am 01.06.2017 von Alexander Müller , Azure , Security

Da IT-Sicherheit in der heutigen Zeit immer mehr an Bedeutung gewinnt, gehört das Basiswissen über kryptografische Protokolle, Verschlüsselungsalgorithmen und Hash-Funktionen sowie deren kryptografische Stärke zum Basisrepertoire eines jeden Entwicklers. Mit dem aktuellen Trend zur Cloud stellt sich häufig die Frage wie dort Geheimnisse und Schlüssel geschützt werden können. Microsoft bietet dafür den Service „Azure Key Vault“ an.

Durch einen Vortrag auf der Technical Summit 2016 bin ich auf Azure Key Vault aufmerksam geworden. Da das Thema im Vortrag nur in einem Nebensatz erwähnt wurde, habe ich beschlossen mich näher damit auseinanderzusetzen und meine Erkenntnisse zu teilen.

Die Herausforderung

Als .NET-Entwickler hat man sich daran gewöhnt Connection Strings, API Keys etc. im Klartext in der Konfigurationsdatei der Anwendung (z. B. app.config) gleich neben den Anwendungseinstellungen abzulegen – meist einhergehend mit dem Gefühl, dass dies nicht der sicherste Ort dafür ist. Denn die Konfigurationsdatei wird in der Quellcodeverwaltung hinzugefügt und ist dadurch für das gesamte Entwicklungsteam, aber auch für alle anderen Personen mit Zugriff auf das Repository oder das Dateisystem, sichtbar. 

Azure Key Vault 

Mit Azure Key Vault bietet Microsoft einen Cloud Service an, mit dessen Hilfe geheime Schlüssel von der Anwendung separiert und an einem gesicherten Ort abgelegt werden können. So bleibt die Kontrolle über diese Daten beim Besitzer. Der Anwendung selbst wird bei Bedarf die Verwendung eines Schlüssels eingeräumt, jedoch nie direkter Zugriff darauf gewährt. Weiterhin wird jede Aktion in Azure Key Vault geloggt. Dieses Log kann zur Analyse von Monitoring-Systemen genutzt werden, um im Falle einer kompromittierten Anwendung, schnell gewarnt zu werden. Selbst im Fall der Fälle, können bei Verwendung eines Read-only Service Users keine Schlüssel durch die Anwendung geändert oder gelöscht werden.

Schlüssel und Geheimnisse

 image

In Azure Key Vault können Schlüssel und Geheimnisse gespeichert werden, doch worin liegt der Unterschied?

Mit Schüssel (keys) sind kryptografische Schlüssel zum Verschlüsseln und Entschlüsseln von sensiblen Daten in der Anwendung gemeint. Besonders zu schützende Schlüssel können direkt in Hardwaresicherheitsmodule (HSM) importiert oder dort generiert werden (Premium Service Tier notwendig, siehe auch Key Vault – Preise). Damit ist sichergestellt, dass diese nur innerhalb der Modulgrenzen bekannt sind.

In Azure Key Vault gibt es keine semantische Vorgabe, was als Geheimnis zählt und was nicht. Allerdings existiert eine Größenlimitierung von 25KB. Passwörter, API Keys, Connection Strings sind dort bspw. richtig aufgehoben. 

Schutz durch Azure Active Directory

Wie können Anwendungen nun auf die geheimen Daten zugreifen, ohne selbst wieder ein Geheimnis für den Zugriff auf Azure Key Vault preiszugeben? Die Antwort ist „Azure Active Directory“Authentifizierung. Die Anwendung wird im Active Directory registriert und authentifiziert sich dann mit Hilfe von ClientID und ClientSecret. Daraufhin ist der Zugriff auf den Key Vault, welcher sich im selben Active Directory befindet, möglich.

Aber wohin nun mit ClientID und ClientSecret? Beide können als Anwendungseinstellung in der Konfigurationsdatei der Anwendung gespeichert werden, sind dann jedoch wieder für jede Person mit Berechtigung auf Repository oder Dateisystem sichtbar. Zur Umgehung dieses Problems, gibt es zwei Lösungsansätze:

  1. Statt die Werte im Klartext in der Konfigurationsdatei zu speichern, werden „leere“ Einstellungen für ClientID und ClientSecret erstellt und die Werte selbst in den Anwendungseinstellungen im Azure Portal hinzugefügt. Dadurch werden vorhandene Werte zur Laufzeit durch die im Portal konfigurierten Werte überschrieben. Das Portal gilt als sicherer, da es in der Regel nur von einem eingeschränkten Personenkreis administriert wird und durch Zwei-Faktor-Authentifizierung zusätzlich geschützt werden kann. Dennoch, das Geheimnis ist im Klartext im Portal ersichtlich. 
  2. Mehr Sicherheit bietet die Authentifizierung mit ClientID und Zertifikat. Dies ist die sicherste Methode, da in Azure hinzugefügte Zertifikate nicht heruntergeladen werden können und der private Schlüssel nicht über die Oberfläche sichtbar ist. 

Fazit

Azure Key Vault ist ein Service, mit dem Schlüssel und Geheimnisse leicht zentral und separiert von der Anwendung administriert werden können. Laut Produktbeschreibung kann nicht einmal Microsoft selbst diese Daten einsehen. Der zusätzliche Programmieraufwand zur Verwendung des Service hält sich sehr in Grenzen, sodass der Aufwand auch für kleinere Applikationen gerechtfertigt werden kann. Besonders für Cloud-Anwendungen, in denen mit personenbezogenen Daten gearbeitet wird, sollte die Verwendung in Erwägung gezogen werden. Erste Schritte mit Azure Key Vault habe ich in diesem Sway dokumentiert. Eine Kostenübersicht für Azure Key Vault ist hier zu finden.

google_about_ebiz fb_about_ebiztwitter_about_ebizxing_about_ebiz
ebiz_consulting_expertise

Handelsblatt - Hybrid Cloud

Veröffentlicht am 08.11.2016 von Florian Hieber , Cloud , Security

Am 19.10.2016 habe ich einen interessanten Artikel im Handelsblatt zum Thema Hybrid Cloud gelesen. Der Artikel hatte die Überschrift „Gefährliche Schnittstellen“ und ist von Manuel Heckel verfasst.

Im Artikel gibt es zwei Kernaussagen:

  1. Es gibt derzeit nur wenig Know-How und Erfahrung zum Thema Hybrid in Unternehmen.
  2. Hybridszenarien erhöhen die Gefahr für Viren und Angriffe durch Hacker, da die Anzahl von Schnittstellen zwischen Cloud und den lokalen Servern erhöht wird.

Ich persönlich kann die Aussage unterstreichen, dass das Thema Hybridszenarien in Unternehmen zwar in aller Munde ist, aber Know-How und Erfahrung dazu oft nicht oder kaum vorhanden ist.

Beratung ist hier besonders wichtig, da eben die Möglichkeiten an Hybridszenarien zwar einigermaßen begrenzt sind. Die Herausforderungen können aber, je nach Unternehmensstruktur (IT) und gesetzlichen oder politischen Bestimmungen sehr schnell komplex werden. Wichtig ist hier, schon im Vorfeld das für das Unternehmen richtige Hybridszenario zu definieren und danach dann die Risiken und deren Faktoren zu bestimmen.

Die eBiz Consulting kann zumindest für Office365 Hybridszenarien auf einige Projekte verweisen, die erfolgreich durchgeführt wurden. Derzeit ist die eBiz Consulting in einem der europaweit größten Office365 Hybrid - Projekte als Beratungsunternehmen tätig. Ich habe zum Thema Hybridszenarien für Office365 einen einführenden Foliensatz erstellt, der auf Anfrage gerne bezogen werden kann.

In dem Foliensatz sind die bekannten und sinnvollen Hybridszenarien und deren Herausforderungen angesprochen, nicht jedoch die im Artikel befürchtete Gefahr eine Bedrohung der Schnittstellen. Hier hat Microsoft einen Lösungsansatz angewendet, der deutlich sicherer ist als beispielsweise Internet Banking. Es wird auf beiden Seiten ein Server genutzt, der mit dem jeweils anderen Server eine Vertrauensstellung eingeht und die Verschlüsselung der Nachrichten übernimmt. Beim Internet Banking geschieht dies nur einseitig und trotzdem so sicher, dass die Verbindung noch nie erfolgreich gehackt werden konnte.

Ich sehe hier also eher keine große Gefahr, jedoch Aufwand bei der Einrichtung.

Weiterhin gibt es für jedes Hybridszenario Herausforderungen, deren Anzahl sich, je nach Unternehmen und Struktur, noch erhöhen kann. Ich bleibe bei meiner Aussage, dass Hybridszenarien, zumindest bei Microsoft, ein spannendes und sicher auch größeres Projekt darstellen, nicht aber ein erhöhtes Sicherheitsrisiko sind.

Fazit

Hybrid gilt als gute Lösung um Datenschutz und Security on premise zu gewährleisten, sowie die Vorteile (Skalierbarkeit, Erreichbarkeit, Kostensenkung) der Cloud zu nutzen.

google_about_ebiz fb_about_ebiztwitter_about_ebizxing_about_ebiz
ebiz_consulting_expertise