Wie lässt sich eine moderne Cloud-Architektur absichern?

Viele Unternehmen stehen vor der Herausforderung, Teile ihrer lokal im Rechenzentrum erbrachten Services in die Cloud zu verlagern. Doch was bedeutet der Betrieb von Services in der Cloud? Welche Möglichkeiten habe ich mit einer modernen Cloud-Architektur? Wie sieht mein neues Betriebsmodell aus? Sind meine Services in der Cloud genauso sicher wie im lokalen Rechenzentrum?


Aller Anfang ist schwer!

Allem voran steht die richtige Planung zum erfolgreichen Weg in die Cloud. Welche Services habe ich als Unternehmen überhaupt? Wie ist deren Kritikalität? Warum muss ich in die Cloud? Sind es die operativen Vorteile wie z.B. die steigende Flexibilität sowie die Kostenrechnung CAPEX vs. OPEX, oder gibt es andere Beweggründe? Welche Auswirkungen hat der Betrieb der Services in der Cloud hinsichtlich Architektur und Sicherheit? All diese Fragen müssen im Vorfeld auf Team- sowie auf Management-Ebene geklärt werden, bevor die technische Evaluierung der Anbieter beginnen kann. Nur mit einem guten Plan kann der Weg in die Cloud erfolgreich sein!

Die Architektur

Architekturell gibt es mehrere Ausprägungen die Cloud als Service zu benutzen. War es zu Beginn rein Infrastructure as a Service (IaaS), also das Bereitstellen von Rechenleistung in Form von virtuellen Maschinen, so geht es heute immer mehr in Richtung Platform as a Service (PaaS), das darauf aufbauende Modell Software as a Service (SaaS) oder Spezialmodelle wie Serverless Architecture oder Container as a Service (CaaS). Die letzteren Modelle bringen allesamt eine komplette Abstraktion der zugrunde liegenden Infrastruktur mit sich, sodass der Anwender nur mehr eine Software als Ganzes (SaaS) bzw. einen vorgegebenen Software-Stack (PaaS, CaaS, Serverless Architecture) konsumiert.

Blog_Bild_945x665.png

Egal welches Architektur-Modell das Unternehmen wählt, alle Modelle haben die gleichen Anforderungen wie z.B. Hochverfügbarkeit und Redundanz, Skalierbarkeit, Anpassungsfähigkeit der Umgebung und Sicherheit. Je nach Modell ist entweder das Unternehmen selbst oder der Provider für die Erfüllung der jeweiligen Anforderung verantwortlich. Moderne Cloud-Provider bringen hier schon von Haus aus viele Möglichkeiten mit, sei es die Bereitstellung der Services auf redundanten Maschinen, die Verwendung mehrerer Rechenzentrums-Lokationen, Zugangskontrollen inkl. starker Authentisierung oder die Verschlüsselung der Daten sowohl auf Transport- als auch auf Speicher-Ebene.

Wie bringe ich nun Sicherheit in meine Cloud-Umgebung?

Es gibt mehrere Ansätze, wie man seine Assets in der Cloud absichert und härtet. Grundsätzlich sollte man für jede verwendete Technologie und jeden in Anspruch genommenen Service ein geeignetes Sicherheitskonzept erarbeiten, welches speziell auf die Eigenschaften des Service eingeht und dessen Abhängigkeiten zu anderen Services beschreibt. Früher wurden Services oder Teilbereiche davon als einzelne Systeme gesehen, so gab es z.B. ein Mail-System, eine Perimeter Firewall, eine Content Firewall, usw. Diese Denkweise der Einteilung von Infrastruktur-Funktionalitäten in abgeschottete, voneinander unabhängige Systeme weicht im Zuge eines Cloud-Deployments nun einer Auftrennung der Systeme in einzelne Komponenten und Service-Funktionen. Dieser Ansatz, ähnlich einer Microservices-Architektur, ermöglicht es Security-Technikern für jede einzelne Teilkomponente eines Service die bestmögliche als auch die den Anforderungen entsprechende Security-Strategie zu definieren. So hat ein Simple Object Storage andere Sicherheitsanforderungen wie ein Internet Gateway oder eine Compute Instance.

Verglichen mit der Schichtenarchitektur des OSI-Modells kann man im Security-Bereich die einzelnen Komponenten ebenso in die verschiedenen Schichten unterteilen. Jede Schicht beinhaltet eigene Security Controls, welche je nach Cloud-Provider unterschiedlich angewandt werden können. 

Grafik_Blog_2.png

Die Erfahrung zeigt, dass sich die Bedrohungslage in immer kürzeren Abständen verändert. Wichtig bei der Auswahl der jeweiligen Security Controls ist es somit, sich nicht nur auf eine bestimmte Momentaufnahme der Bedrohungslandschaft zu beziehen und anhand dieser die Controls zu konfigurieren, sondern neben der initialen Konfiguration die gewählten Controls kontinuierlich zu überprüfen und ggf. anzupassen. Dies ist nur möglich, wenn alle eingesetzten Funktionen und Entitäten genau beschrieben und dokumentiert sind. Da dies je nach Größe und Komplexität der Cloud-Umgebung durchwegs eine Herausforderung für die Techniker sein kann, gehen speziell im Cloud-Umfeld immer mehr Unternehmen in Richtung „Infrastructure as Code“. Hier werden alle verwendeten Komponenten und Funktionen in standardisierten Konfigurationsdateien beschrieben und definiert, um einerseits eine Dokumentation der verwendeten Komponenten zu bekommen und andererseits auch Provider-unabhängig agieren zu können.

Wo starte ich jetzt?

Egal ob eine Cloud-Umgebung bereits in Verwendung ist oder nicht: bestimmte Security-Prinzipien sollten immer beachtet werden. Da der Mitarbeiter noch immer als größter Risikofaktor gilt, sollte der Zugriff auf die Cloud-Umgebung streng geregelt werden. Hierzu zählen Maßnahmen wie z.B. personalisierte User Accounts, Verwendung von API-Tokens, starke Authentisierung sowie ein klares und vollständiges Berechtigungskonzept nach dem Least-Privilege-Prinzip.

Wie bereits beschrieben sollte ein Unternehmen immer eine genaue Dokumentation ihrer Assets in der Cloud haben, dies kann mittels einer klassischen Configuration Management Database (CMDB) oder einem gängigen Versionsverwaltungstool wie z.B. Git abgebildet werden. Über Config-Templates können jede Art von Instanz oder Funktion beschrieben sowie deren Konfiguration dokumentiert werden. Hier hat sich bewährt, bereits in der Planung und der Definition der Templates auf die Security Controls einzugehen und somit sicherzustellen, dass ab dem Start der virtuellen Maschine oder der Aktivierung der Funktion ebendiese bereits mit einem gewissen Grundschutz versehen ist. Dies inkludiert eine Härtung auf Betriebssystem-, Protokoll- und Applikationsebene.

Da täglich neue Schwachstellen öffentlich werden und sich die Konfiguration auch unter Verwendung von Infrastructure as Code und eigenen Config-Templates ändern kann, ist es wichtig regelmäßig die gesamte Infrastruktur auf eben solche Änderungen zu überwachen. Dies kann sowohl über ein Tool-gestütztes Audit der Cloud-Provider-Konfiguration, die Auswertung von Log-Files (Cloud-Provider, Betriebssystemebene, Applikationsebene) mittels einer SIEM- bzw. SOC-Plattform oder über regelmäßige Vulnerability Scans von interner und externer Stelle geschehen. Ziel ist immer, eine möglichst genaue Lageinformation zu den verwendeten Plattformen und Systemen zu haben, um relativ rasch auf Konfigurationsfehler oder Sicherheitsvorfälle reagieren zu können. Firmen wie Netflix oder Salesforce.com haben schon sehr früh begonnen, mittels dem „Chaos Engineering“-Ansatz ihre Infrastruktur aus Sicht von Angreifer zu testen, um Fehler frühzeitig zu erkennen und externen Angreifern so wenig Angriffsfläche wie möglich zu bieten.

Ist die Cloud nun sicherer als mein lokales Rechenzentrum?

Bedingt. Die Cloud bietet sehr viele Möglichkeiten, seine darauf veröffentlichten Services abzusichern. Ob nun alle Einstellmöglichkeiten und Security Controls für den einzelnen Service wirklich sinnvoll und zielführend sind, ist von Fall zu Fall zu entscheiden und hängt sowohl von der Kritikalität des Service als auch von der aktuellen Bedrohungslage und den zusätzlichen Kosten für die Security Controls ab. Moderne Cloud-Provider nehmen jedoch Security sehr ernst und sind sehr darauf bedacht, dem Kunden von Beginn an eine sichere Cloud-Umgebung bereitzustellen. Einen 100%igen Schutz gibt es jedoch auch im Jahr 2019 nicht, der Kunde muss sowohl organisatorisch als auch technisch dafür Sorge tragen, seine IT-Umgebung (lokales Rechenzentrum als auch Cloud) bestmöglich abzusichern und kontinuierlich auf neue Schwachstellen und Konfigurationsfehler zu überprüfen. Wir bei A1 Digital stehen Ihnen bei den Themen Cloud-Plattform, IoT und Security beratend zur Seite und arbeiten mit Ihnen gemeinsam an der Lösung Ihrer Probleme.