trahko - stock.adobe.com
Grundprinzipien einer sicheren Serverless-Architektur
In Serverless-Umgebungen gelten andere Bedingungen als im heimischen Rechenzentrum. Nicht nur der Provider muss sich um die Absicherung kümmern, auch seine Kunden sind gefordert.
Ein Unternehmen, das auf Serverless Computing setzt, weiß in der Regel nur wenig über die zugrundeliegende Hard- und Software, die der ausgewählte Provider verwendet. Deswegen ist meist auch nur wenig über die Absicherung der dabei verwendeten Systeme und Lösungen bekannt. Die speziellen Voraussetzungen von Serverless-Plattformen sorgen dafür, dass die Software- und Security-Teams in den Betrieben anders vorgehen müssen, um auch in Zukunft den Schutz der Daten gewährleisten zu können.
Wenn es um das Thema Sicherheit in Serverless-Architekturen geht, sollten Sie sich mit vier grundlegenden Bereichen beschäftigen: Die von dem jeweiligen Provider eingesetzten Maßnahmen zur Absicherung seiner Angebote, eine maximal sichere Entwicklung eigener Anwendungen, umfassende Verschlüsselung aller Daten sowie ein effizientes Management der genutzten Token.
Die Sicherheitsmaßnahmen des Serverless-Anbieters kennen
Der Großteil der öffentlich verfügbaren Serverless-Plattformen wird von Public-Cloud-Anbietern betrieben. An diesen Angeboten interessierte Unternehmen sollten sichergehen, dass die grundlegenden Sicherheitsmaßnahmen dieser Provider einen zuverlässigen und vertrauenswürdigen Eindruck machen.
Auch wenn immer wieder Sicherheitsvorfälle bei diesen Plattformen auftreten, sind doch meist die darauf betriebenen Anwendungen dafür verantwortlich. Das liegt an einer unzureichenden Workload-Architektur. Die sich darunter befindlichen Ressourcen des Cloud-Providers sind dagegen nur selten ein Problem, da sich die Anbieter in der Regel gründlich mit dem Thema IT-Sicherheit auseinandersetzen und für einen umfassenden Schutz ihres gesamten Portfolios sorgen.
Auch wenn sich Ihr Unternehmen im Bereich Serverless nicht für einen der größeren und bekannteren Anbieter wie Google, AWS (Amazon Web Services) oder Microsoft entscheidet, sollten Sie und Ihre Mitarbeiter sich genau darüber informieren, welche Sicherheitsrichtlinien und -prozeduren der Provider nutzt.
Unsicheren Quellcode vermeiden
Wenn der von Ihnen entwickelte oder genutzte Code Sicherheitslücken enthält, dann lassen Sie die Tür für jeden Hacker offen, der sich einen Zugang zu Ihrer Plattform verschaffen will. Da hilft dann auch nicht, wenn Sie sich vorher für die sicherste Plattform auf dem Markt entschieden haben. Ein wichtiger Schritt, um den Code Ihrer Serverless-Anwendungen zu schützen, ist der Einbau zusätzlicher Zugangsbeschränkungen. Hier bieten sich insbesondere Zwei-Faktor-Authentifizierung und OAuth (Open Authorization) an.
Eine gute Ergänzung dieser Maßnahme ist, Zeit und Ort einer Anmeldung als weitere Faktoren für die Authentifizierung einzusetzen. Damit lassen sich Unstimmigkeiten leicht entdecken, wenn sich etwa ein Nutzer zuerst von Hamburg aus einloggt und dann zehn Minuten später von Tokio aus. Eine moderne Zugangskontrolle kann auch verdächtiges Verhalten erkennen, wenn ein Anwender zum Beispiel plötzlich von einem öffentlichen WLAN-Netz in einem Straßencafé aus auf äußerst sensible Firmendaten zugreifen will.
Die Verschlüsselung der Daten ist unverzichtbar
Um die in einer Serverless-Umgebung abgespeicherten Daten sollten Sie und Ihr Security-Team sich vorrangig kümmern. Auch wenn die verschiedenen Endgeräte scheinbar ähnlich wie in traditionellen Anwendungsfeldern genutzt werden, ist hier doch einiges anders. Auf den genutzten Devices werden in der Regel nämlich keine oder nur sehr wenige Transaktionsdaten abgespeichert, nicht einmal vorübergehend. Stattdessen bleiben alle diese Daten in der Cloud.
Der Trick dabei ist, sicherzustellen, dass die Daten als binärer Strom aus Einsen und Nullen erscheinen, mit dem ein Hacker nicht viel anfangen kann. Alle Daten müssen deshalb sowohl im Ruhezustand als auch bei der Übertragung konsequent verschlüsselt werden. Außerdem muss gewährleistet sein, dass jedes System, das Daten anfordert auch wirklich dem entspricht, dass es zu sein vorgibt.
Ein dynamisches Token-System verwenden
Mit Token arbeitende Systeme wie OAuth nutzen eine vordefinierte Methode zur Authentifizierung. Erst nach einer erfolgreich durchgeführten Anmeldung kann etwa ein Nutzer auf eine bestimmte Workload zugreifen.
Wenn das anfragende System selbst wiederum eine Serverless-Umgebung ist, dann kann es jedoch schwierig werden, ein standardisiertes Token zu erstellen, das sowohl soft- als hardwarebasierte Informationen wie IP-Adressen enthält. Insbesondere IP-Adressen können viel zu leicht gefälscht werden, um hier sinnvoll eingesetzt werden zu können.
Stattdessen benötigen Sie zertifizierte Token, die zwischen mehreren Serverless-Umgebungen genutzt werden können. Solche Security-Token verwenden digitale Zertifikate, um einen Zugriff zu validieren. Die einzelnen Workloads bleiben dabei dynamisch und flexibel. Jede Anfrage von einer Workload zu einer anderen kann somit überprüft werden. Nachdem die Identität kontrolliert und bestätigt wurde, wird ein Einmal-Token erstellt, das nur für diese eine Session gültig ist. Es ist sogar möglich, Token auch während einer Sitzung kontrolliert ablaufen zu lassen, um die Sicherheit weiter zu erhöhen.
Eine Token-basierte Authentifizierung zwischen verschiedenen Services hat in der Regel keine störenden Auswirkungen auf die Nutzer einer Serverless-Anwendung. Auch ist es normalerweise nicht nötig, sich mehrfach anzumelden, um einen Dienst dauerhaft verwenden zu können. Die zusätzlich aufgerufene Workload bleibt im Hintergrund aktiv, während die anfragende Workload ein neues Token erhält. Das erfordert kaum Zeit und erfolgt in der Regel ohne merkliche Verzögerung. Bei besonders zeitkritischen Abwendungen, wie etwa im Finanzbereich, können aber auch winzige Verzögerungen inakzeptabel sein.
Serverless Security findet nicht in einem Vakuum statt. Die meisten IT-Abteilungen mussten ihre Vorgehensweisen und Sicherheitsmaßnahmen deswegen immer wieder anpassen, während sie zuerst physische, dann virtuelle Systeme und dann erst eine einzelne Cloud, gefolgt von der Multi Cloud genutzt haben. Die verschiedenen Ebenen dieser physischen, virtuellen, anwendungsspezifischen, datenbankgestützten und Nutzerinteraktionen werden jedoch immer abstrakter. Nach und nach entstehen so sichere Serverless-Architekturen. Das bedeutet aber auch, dass sich Unternehmen auf neue Methoden konzentrieren müssen, um ihre Daten auch weiterhin zu schützen.