9. November 2021

5 Best Practices für serverlose Sicherheit zum Schutz Ihrer Cloud-Umgebung

Serverlose Softwarearchitektur gehört zu den spannenden Trends in zeitgemäße Softwareentwicklung.

Damit kann sich Ihr DevOps-Team auf das Schreiben von Code konzentrieren, ohne sich so viele Gedanken über Betriebssystem-Updates, Infrastruktur oder Patches machen zu müssen.

Obwohl die Entwicklung von Cloud-Anwendungen jetzt einfach ist, bedeutet dies jedoch nicht, die Verantwortung und den Bedarf an serverloser Sicherheit abzuschreiben.

Schützen Sie Ihre Cloud-Umgebung weiterhin, indem Sie Ihre Abwehrmaßnahmen beibehalten oder verbessern. Hier sind einige Best Practices für serverlose Sicherheit, die Sie implementieren sollten:

1. Nutzen Sie serverlose Sicherheitstools neben dem WAF-Schutz.

Die Einrichtung von Web Application Firewalls (WAF) ist von entscheidender Bedeutung, aber Sie können sich beim Schutz Ihrer Cloud-Umgebung nicht ausschließlich darauf verlassen. Sie müssen zusätzlich zu Ihren WAF-Schutzmaßnahmen robuste serverlose Sicherheitstools verwenden.

Hier ist der Grund.

Herkömmliche WAFs können als erste Verteidigungslinie gegen fehlerhafte Authentifizierung, Injection-Angriffe und andere Sicherheitsbedrohungen fungieren. Sie können Ihre Cloud-Umgebung jedoch nicht vor bestimmten Auslösertypen schützen.

WAFs schützen nur das API-Gateway und bewerten jede HTTP/S-Anfrage, die es durchläuft. Sie können Ihnen nicht helfen, wenn Sie Funktionen schützen möchten, die nicht vom API-Gateway ausgelöst werden.

Aus diesem Grund können serverlose Sicherheitstechnologien diese Lücke schließen. Sie können Ihre Risikominderung automatisieren und Ihre Abwehrkräfte gegen neue Angriffsvektoren in serverlosen Funktionen verstärken. Sie können auch Ihre Sichtbarkeit über Schwachstellen erhöhen.

All dies ermöglicht es Ihren DevOps-Teams, reibungsloser zu arbeiten, weniger Unterbrechungen bei der App-Entwicklung zu erfahren, Code sicher bereitzustellen und zu verwalten usw.

2. Führen Sie Audits für Ihre Cloud-basierten Anwendungen durch.

Führen Sie regelmäßige Anwendungsaudits durch, um jeden Versuch eines Cyber-Gegners zu erkennen, Ihre Anwendungen zu kontaminieren. Dies ist entscheidend, egal ob Sie Ihre Cloud-Anwendungen auf Open-Source-Plattformen oder relativ sicheren Plattformen entwickeln, zB Microsoft Azure und AWS.

Diese Praxis ist zusätzlich von Bedeutung, wenn Sie Cloud-Computing-Dienste bereitstellen. Da sie zu den Softwareentwicklungstrends im Jahr 2021, Hacker werden Sie wahrscheinlich zu ihrem nächsten Ziel machen und von Ihrer harten Arbeit profitieren.

Durch Code-Audits können Sie veraltete oder Open-Source-Software aufdecken, die Sie möglicherweise verwendet oder entwickelt haben. Dieser Softwaretyp birgt Fehler und andere kritische Sicherheitsrisiken, die die Authentizität und das Eigentum Ihres Codes beeinträchtigen können.

Falls Sie sich fragen, so iert das:

In der Cloud erstellte Anwendungen umfassen zahlreiche Module, Untermodule und Bibliotheken. Daher haben einzelne serverlose Funktionen normalerweise Code, der in Zehntausenden von Zeilen aus mehreren externen Quellen ausgeführt wird. Das iert auch dann noch, wenn Ihre Entwickler nur weniger als hundert Zeilen Code erstellt haben.

Cyber-Angreifer versuchen dann, die Taktik „den Brunnen vergiften“ umzusetzen. Sie fügen Schadcode in Projekte ein, die auf Open-Source-Plattformen erstellt wurden, und warten, bis die neue Version in Ihre Cloud-Anwendungen gelangt.

Anschließend können Sie infizierte Softwareprodukte bereitstellen, die die IT-Netzwerke und Datenbestände Ihrer Kunden weiter gefährden können. Dies kann unter anderem zu Verstößen, finanziellen Verlusten und Kundenvertrauensverlusten bis hin zur Schließung des Unternehmens führen.

Führen Sie daher regelmäßige automatisierte und manuelle Code-Audits durch, um die Integrität Ihres Codes und Ihrer Cloud-Softwareprodukte und -dienste, einschließlich Ihres Unternehmens, zu schützen.

3. Führen Sie Zeitüberschreitungen für Ihre Funktionen aus.

Die Beschränkung der Ausführungsdauer Ihrer Funktionen ist eine bewährte Methode für serverlose Sicherheit, die Sie nicht ignorieren können.

Das Erstellen geeigneter serverloser Funktions-Timeouts ist jedoch nicht benutzerfreundlich, da die maximale Dauer von einer bestimmten Funktion abhängt.

Dennoch müssen Sie für Ihre Funktionen ein straffes Laufzeitprofil anwenden.

Darüber hinaus sollten Ihre DevSecOps-Teams den konfigurierten Timeout gegenüber dem tatsächlichen berücksichtigen.

Viele Entwickler richten Timeouts mit der maximal zulässigen Dauer ein, da die ungenutzte Zeit keine zusätzlichen Kosten verursacht.

Diese Taktik stellt jedoch ein massives Cloud-Sicherheitsrisiko dar. Gelingt es Cyber-Angreifern, Schadcode einzuschleusen, haben sie genügend Zeit, um Schaden anzurichten.

Kürzere Timeouts werden Hacker dazu veranlassen, häufiger anzugreifen (bekannt als „Groundhog Day“-Angriff). Dadurch werden sie entlarvt und Sie können sie anhalten und fangen.

4. Erzwingen Sie „eine Rolle pro Funktion“.

Versuchen Sie immer, a . zu adoptieren One-Rolle-per-Function-Prinzip, und benennen Sie auch nicht eine einzelne Rolle für mehrere Funktionen.

Eine ideale Einzelfunktion hat eine 1:1-Beziehung zu einer Rolle in Ihrem Identitäts- und Zugriffsmanagement (IAM).

Richten Sie Ihre IAM-Richtlinien bei der Erstellung nach dem Prinzip der geringsten Berechtigung aus. Denken Sie daran, dass übermäßige Berechtigungen oft zu den wichtigsten Fehlkonfigurationen gehören, die Cyber-Gegner ausnutzen.

Befolgen Sie diese besten IAM-Praktiken:

  • Schaffen Sie Vertrauensschichten durch Multi-Faktor-Authentifizierung: wörter, Schlüssel, Sicherheitspässe, biometrische Informationen, Spracherkennungssysteme usw.
  • Bewahren Sie Kontoanmeldeinformationen für Cloud-Umgebungen immer vertraulich auf.
  • Anstatt Konten zu teilen, erstellen Sie individuelle IAM-Benutzerkonten für Ihre Mitarbeiter, die auf Cloud-Ressourcen zugreifen müssen.
  • Wenden Sie unterschiedliche Berechtigungssätze für Mitarbeiter entsprechend ihren Verantwortlichkeiten, Jobanforderungen und anderen wichtigen Faktoren an.
  • Überprüfen Sie Ihre IAM-Richtlinien regelmäßig.
  • Vermeiden Sie das Einbetten von Schlüsseln in Instanzen oder Code. Verwenden Sie stattdessen die integrierten Rollen oder Identitäten in den von Ihnen verwendeten Plattformen (z. B. AWS-Rollen, Azure Service Principal usw.).
  • Entfernen Sie unnötige IAM-Benutzer und ihre Kontoanmeldeinformationen.
  • Führen Sie robuste Protokolle zur Kennworterstellung durch: maximale und minimale Kennwortlänge, Kennwortablauf, Verwendung von Sonderzeichen und Einschränkungen bei Wörterbuchwörtern und sich wiederholenden und sequentiellen Zeichen.

5. Greifen Sie auf die drei wichtigsten Säulen der Informationssicherheit zurück.

Beziehen Sie sich bei der Verschärfung Ihrer serverlosen Sicherheit immer auf die drei wesentlichen Säulen der Informationssicherheit.

Im Folgenden sind die drei Säulen und die Best Practices aufgeführt, die unter jede von ihnen fallen:

Vertraulichkeit

  • Regulieren Sie den Zugriff, indem Sie nur autorisierten Benutzern und Diensten erlauben, mit Ihren serverlosen Funktionen zu kommunizieren.
  • Setzen Sie bei der Zuweisung von Rollen und Berechtigungen für serverlose Funktionen das Prinzip der „Least Privilege“ durch.
  • Beschränken Sie den Netzwerkzugang und -ausgang zu und von Quellen und Zielen.
  • Praktizieren Sie das Sicherheitsprinzip „Trennung von Bedenken“ und reduzieren Sie den Explosionsradius, indem Sie unterschiedliche Richtlinien und Rollen für verschiedene Funktionen erstellen.

Integrität

  • Stellen Sie sicher, dass die ruhenden und übertragenen Funktionsdaten verschlüsselt sind.
  • Verwenden Sie Protokollierungs- und Überwachungstools, um die Sichtbarkeit Ihrer serverlosen Funktionen, voneinander abhängigen Ressourcen, Audit-Trails und Aktionen zu erhöhen, die von oder für Ihre Funktionen ausgeführt werden.

Verfügbarkeit

  • Implementieren Sie ausreichende Einschränkungen für Arbeitsspeicher, Rechenleistung, Parallelität, Ausführungsdauer und andere, um Denial-of-Service zu verhindern, der durch außer Kontrolle geratene Funktionen ausgelöst wird.
  • Überwachen Sie die Beschränkungen auf Kontoebene und fordern Sie bei Bedarf eine Erhöhung des Limits von Ihrem Anbieter an.

Es gibt keinen besseren Zeitpunkt als jetzt, um Ihrer serverlosen Sicherheit Priorität einzuräumen

Moderne Cybersicherheitsbedrohungen entwickeln sich weiter und greifen die anfälligsten Cloud-Umgebungen an – deshalb müssen Sie der serverlosen Sicherheit Priorität einräumen. Die Etablierung dieser und anderer Best Practices kann viel dazu beitragen, Ihr Unternehmen zu schützen und diese Risiken in Schach zu halten.

Da serverlose Funktionen anders funktionieren, sollten Sie außerdem einen ganzheitlichen Ansatz verfolgen, wenn Sie Ihre Cloud-nativen Workloads auf serverlosen Plattformen sichern. Tun Sie dies konsequent während der Laufzeit und in den CI/CD-Pipelines.

Internet-Sicherheit

Über den Autor 

Peter Hatsch


{"email": "E-Mail-Adresse ungültig", "url": "Website-Adresse ungültig", "erforderlich": "Erforderliches Feld fehlt"}