Input Validation ist eine wichtige Sicherheitsmaßnahme, die dazu beiträgt, gängige Arten von API-Angriffen wie SQL-Injection zu verhindern. Durch die Validierung und Bereinigung der Daten, die Sie von Nutzern und anderen APIs empfangen, können Sie verhindern, dass schädliche Eingänge Ihre Anwendung kompromittieren. So schützen Sie sensible Daten und erhalten die Integrität Ihrer APIs aufrecht.
Diese API-Sicherheitscheckliste geht über eine einfache Sammlung von Best Practices für die API-Sicherheit hinaus und basiert auf dem API-Lebenszyklus. Sie beginnt mit der Planung, geht mit Entwicklung und Tests weiter und endet mit Betrieb und Schutz. Es handelt sich im Wesentlichen um einen Leitfaden für die Erstellung eines sicheren SDLC-Managementprozesses (Software Development Lifecycle) für Ihre APIs.
Da Unternehmen zunehmend cloudzentriert und digital arbeiten, wachsen Umfang und Skalierbarkeit ihrer APIs (Application Programming Interfaces, Anwendungsprogrammierschnittstellen), was ihren Wert erhöht. APIs heute:
- Sie arbeiten im Zentrum von Anwendungen und Services, die Ihren Kunden und Partnern dienen, dazu zählen auch die neuesten KI-Innovationen
- Sind in Cloudumgebungen integriert, die von den Services, die Ihre Entwickler verwenden, bis hin zu den Workloads, die Ihre Techniker handhaben, reichen
- Stellen selbst Einnahmequellen dar, die Sie dabei unterstützen, Ihr Unternehmen zu erweitern und ein Entwickler-Ökosystem aufzubauen
Wenn Sie jedoch zu den 84 % der IT- und Sicherheitsexperten gehören, die API-Sicherheitsvorfälle miterlebt haben, haben Sie selbst erfahren, dass APIs auch ein wachsendes Risiko darstellen. Exponierte oder falsch konfigurierte APIs sind weit verbreitet, ungeschützt und leicht zu kompromittieren. Darüber hinaus enthalten APIs Anleitungen, wie Sie auf sie zugreifen und die über sie verfügbaren Daten speichern können. Das ist der Traum eines jeden Hackers. Es gibt keine „Sicherheit durch Verschleierung“. Darüber hinaus bringen APIs fast immer unterschiedliche Gruppen im Unternehmen zusammen. Diese Gruppen sind möglicherweise nicht in der Lage, die Sicherheit auf einfache Weise zu koordinieren, selbst wenn sie es wollten. Die Zahl der APIs, die einfach „irgendwo da draußen“ sind, erschwert die Sicherheit zusätzlich. Viele Unternehmen wissen oft nicht einmal von vielen Ihrer APIs, sodass diese nicht verwaltet werden. Diese inaktiven oder Zombie-APIs sind wichtige Angriffsvektoren.
Beim Thema API-Sicherheit steht viel auf dem Spiel. Angriffe auf APIs können den Umsatz, die Ausfallsicherheit und die Einhaltung gesetzlicher Vorschriften im Unternehmen gefährden. Die meisten Unternehmen verfügen noch nicht über die richtigen Kontrollen und Funktionen, um API-Angriffe zu verhindern. Viele verfügen über API-Tools wie API-Gateways und Web Application Firewalls. Obwohl diese Tools einen gewissen Schutz bieten können, sind sie nicht so konzipiert, dass sie Transparenz und Echtzeitsicherheit liefern sowie kontinuierliche Tests durchführen, um Schutz vor modernen API-Angriffen zu bieten.
Aus diesen Gründen haben wir diese API-Sicherheitscheckliste als einen strengeren und methodischeren Ansatz für den Schutz von APIs entwickelt. In jeder Lebenszyklusphase ermöglichen vier empfohlene Kontrollen eine zuverlässige API-Sicherheit. Die Phasen dieses sicheren SDLC-Managementprozesses sind im folgenden Diagramm dargestellt:
Planen |
|
Entwickeln |
|
Testen |
|
Betreiben |
|
Schützen |
|
Planen
API-Sicherheit beginnt lange bevor jemand mit dem Schreiben von Code beginnt. In der Planungsphase ist es wichtig, Governance-Fragen wie Rollen, Verantwortlichkeiten und Richtlinien zu durchdenken. Die Planungsphase ist auch der beste Zeitpunkt, um Sicherheitskennzahlen und Prozesse für das Lebenszyklusmanagement festzulegen.
Sicherheitscheckliste für die API-Planung:
- Governance, Rollen und Verantwortlichkeiten. Haben Sie die Rollen und Verantwortlichkeiten für den Schutz Ihrer API-Umgebung klar definiert? Dies umfasst sowohl Verantwortlichkeiten auf Ausführungsebene für Entwickler und Sicherheitstechniker als auch Verantwortlichkeiten für Managementaufsicht, Risikoentscheidungen und Richtlinienaufsicht.
- Richtlinien, Standards und Spezifikationen. Haben Sie eine Bibliothek mit Richtlinien, Standards und API-Spezifikationen entwickelt, die die Mindestanforderungen an die Sicherheit bei Design, Entwicklung, Test und Betrieb Ihrer APIs beschreiben?
- Sicherheitskennzahlen. Haben Sie eine Reihe von API-Sicherheitsrisikokennzahlen definiert, damit Sie API-bezogene Risiken messen und verwalten können? Ihre Stakeholder können diese API-Risikokennzahlen als Feedback-Schleife zur kontinuierlichen Verbesserung des API-Sicherheitsrisikomanagements verwenden.
- Lebenszyklusmanagement. Verwaltet Ihr Unternehmen APIs als Softwareressourcen mit definierten Zuständigkeiten während ihres gesamten Lebenszyklus? Es ist bewährte Praxis, einen besonderen Fokus auf die Erstbereitstellung, das laufende Änderungsmanagement und die Außerbetriebnahme von Assets zu legen.
Entwickeln
In der Entwicklung werden die in der Planungsphase festgelegten Richtlinien mit Leben erfüllt. Entwickler sind für die Erstellung sicherer APIs verantwortlich und arbeiten dabei in Partnerschaft mit anderen Stakeholder-Gruppen zusammen.
Sicherheitscheckliste für die API-Entwicklung:
- Schulung. Haben Sie Ihre API-Entwickler und andere Mitarbeiter mit Zuständigkeiten im Bereich API-Management (z. B. Gateway, Sicherheitsvorgänge) in Aspekten der API-Sicherheit geschult, die für ihre Rollen relevant sind?
- Entwicklerumgebung (z. B. IDE, Repos). Wird Ihr API-Quellcode in genehmigten, verwalteten Quellcode-Repositorys entwickelt und verwaltet? Nutzen Entwickler verwaltete oder genehmigte Entwicklerumgebungen?
- Dokumentation. Werden Ihre APIs genau dokumentiert und hinsichtlich der Einhaltung von Spezifikationen/Standards bewertet? Wird Ihre API-Dokumentation aktualisiert, wenn API-Schemata geändert werden? Ist die Dokumentation für unabhängige Überprüfungen und Tests/Verifizierungen verfügbar?
- Fehlerverfolgung und -behebung. Werden sicherheitsbezogene Codefehler oder Schwachstellen priorisiert und zur Behebung verfolgt?
Testen
Sobald APIs entwickelt wurden, müssen sie einem gründlichen Testzyklus unterzogen werden. Ähnlich wie in der Checkliste für Tests der Anwendungssicherheit werden im Folgenden die Sicherheitskontrollen beschrieben, die in Ihrem API-Testprogramm implementiert werden müssen.
Sicherheitscheckliste für API-Tests:
- Quellcode-Tests. Unterziehen Sie Ihren API-Quellcode statischen Anwendungssicherheitstests (Static Application Security Testing, SAST) und dynamischen Anwendungssicherheitstests (Dynamic Application Security Testing, DAST), bevor Sie ihn in die Produktion hochstufen?
- Penetrationstests. Werden Ihre API-Endpunkte vor der Migration in die Produktion einem Penetrationstest unterzogen, bei dem nach Möglichkeit API-Management-, Netzwerk- und Richtlinienvariablen der Produktionsumgebung repliziert werden?
- Compliance-Prüfung. Werden Ihre APIs vor der Migration in die Produktion auf die Einhaltung von Standards und Spezifikationen geprüft (z. B. DSGVO, PCI-Compliance)? Dieser Prozess sollte die Compliance mit der Architektur-/Netzwerkplatzierung und -Konfiguration einschließen (z. B. WAF-Schutz, Netzwerkplatzierung).
- Änderungs- und Versionsmanagement. Implementieren oder ändern Sie APIs gemäß einer klar definierten Software- oder IT-Änderungsrichtlinie? Änderungen sollten idealerweise genau in der Bestandsaufnahme von Software-Assets berücksichtigt werden.
API-Sicherheitsmaßnahmen in Entwicklung und Tests
Authentifizierung und Zugriffskontrolle: Implementieren Sie zuverlässige Authentifizierungsmechanismen wie OAuth- und API-Schlüssel, um API-Endpunkte während der Entwicklung und der Testphase zu sichern. Stellen Sie sicher, dass Zugriffskontrollrichtlinien durchgesetzt werden, um unbefugten Zugriff auf vertrauliche Daten zu verhindern.
Ratenbegrenzung: Implementieren Sie während der Testphase Ratenbegrenzungen, um APIs vor Missbrauch und potenziellen DDoS-Angriffen zu schützen. Ratenbegrenzung verhindert übermäßige Anfragen, die das System überlasten und zu Denial of Service führen können.
SQL-Injection und -Validierung: Führen Sie Tests auf gängige API-Angriffe wie SQL-Injection durch. Implementieren Sie eine strenge Input Validation, um zu verhindern, dass schädliche Eingaben Ihre APIs kompromittieren. Stellen Sie die Bereinigung und Validierung der über APIs übertragenen Daten sicher, um sich vor Injection-Angriffen zu schützen.
Betreiben
Die API-Sicherheit muss weiterhin in Kraft bleiben, wenn APIs in die Produktion gehen. In dieser Phase gehen APIs oft verloren und werden zu Schwachstellen.
Sicherheitscheckliste für den API-Betrieb:
- Erfassung des API-Bestands. Führen Sie eine genaue, aktuelle Bestandsliste aller API-Endpunkte, einschließlich der API-Dokumentation?
- Erfassung des Bestands an sensiblen Daten. Erfasst Ihr Unternehmen stets genau und aktuell den Bestand oder die Zuordnung der sensiblen Daten, die von API-Endpunkten verarbeitet werden? Und noch wichtiger: Wissen Sie, welche Nutzer auf sensible Daten zugreifen? Zugriffsmanagement ist eine wichtige Komponente sowohl für Sicherheit als auch für Compliance.
- Identifizierung von Schwachstellen. Identifizieren Sie Schwachstellen und API-Risikobereiche in Ihrer Produktionsumgebung?
- Konfigurationsmanagement. Identifizieren Sie Schwachstellen und die Risiko-Anfälligkeit von Netzwerk-, Gateway- und Firewall-Komponenten, die API-Traffic vermitteln und schützen?
Schützen
API-Schutz muss während des gesamten API-Lebenszyklus gewährleistet bleiben. Diese Workload umfasst die Erfassung von Protokollen und Traffic, Bedrohungserkennung, Warnungen und vieles mehr.
Checkliste für den API-Schutz:
- Protokoll- oder Trafficerfassung. Protokollieren Sie API-Aktivitäten und speichern Sie die Daten zur Unterstützung von Betriebs- und Sicherheitsprüfungen?
- Bedrohungserkennung und Warnungen. Analysieren Sie API-Aktivitäten, um ungewöhnliche Aktivitäten zu erkennen? Ihr Prozess sollte im Fall von ungewöhnlichen Ereignissen oder missbräuchlichen Aktivitäten entsprechende Benachrichtigungen/Kennzeichnungen einschließen, die den jeweiligen Sicherheits- und Betriebsteams übermittelt werden.
- Bewegung sensibler Daten. Überwachen Sie die Bewegung sensibler Daten im API-Traffic? Dieser Prozess sollte die Analyse von Datenströmen zur Erkennung unbefugter oder anomaler Nutzung beinhalten und im Falle der Bewegung sensibler Daten entsprechende Benachrichtigungen/Kennzeichnungen einschließen, die an die entsprechenden Sicherheits- und Betriebsteams übermittelt werden.
- Blockierung und Behebung. Blockieren und beheben Sie unbefugte Bewegungen sensibler Daten über API oder andere vermutete Formen des API-Missbrauchs?
Schutz von APIs vor Cybersicherheitsbedrohungen
Die heutige Bedrohungslandschaft erfordert eine umfassende API-Sicherheitslösung, die API-Erkennung, Sicherheitsmanagement, Laufzeitschutz und API-Sicherheitstests bietet.
1. API-Erkennung. Es ist nicht ungewöhnlich, APIs zu haben, von denen niemand weiß. Die meisten Unternehmen haben wenig bis gar keinen Einblick in einen Großteil ihres API-Traffics – oft weil sie annehmen, dass all ihre APIs über ein API-Gateway weitergeleitet werden. Aber das stimmt nicht. Ohne eine vollständige und genaue Bestandsaufnahme ist Ihr Unternehmen einer Reihe von Risiken ausgesetzt. Erforderliche Kernfunktionen:
- APIs finden und in Bestand aufnehmen, unabhängig von Konfiguration oder Typ
- Inaktive, veraltete und Zombie-APIs entdecken
- Vergessene, ungenutzte oder anderweitig unbekannte Schatten-Domains identifizieren
- Blinde Flecken beseitigen und potenzielle Angriffspfade ermitteln
2. API-Sicherheitsmanagement. Wenn ein vollständiger API-Bestand vorhanden ist, müssen Sie verstehen, welche Arten von Daten durch Ihre APIs fließen und wie sich dies auf die Einhaltung gesetzlicher Vorschriften auswirkt. API-Sicherheitsmanagement bietet eine umfassende Ansicht von Traffic, Code und Konfigurationen, um die API-Sicherheitslage Ihres Unternehmens zu beurteilen. Erforderliche Kernfunktionen:
- Infrastruktur automatisch scannen, um Fehlkonfigurationen und versteckte Risiken aufzudecken
- Nutzerdefinierte Workflows erstellen, um wichtige Stakeholder über Schwachstellen zu informieren
- Ermitteln, welche APIs und internen Nutzer auf sensible Daten zugreifen können
- Erkannten Problemen einen Schweregrad zuweisen, um Abhilfemaßnahmen zu priorisieren
3. API-Laufzeitsicherheit. Sie kennen wahrscheinlich das Konzept „Gehen Sie davon aus, dass Ihre Umgebung angegriffen wird“. API-spezifische Sicherheitsverletzungen und Angriffe sind langsam ebenso unvermeidlich wie andere Cybersicherheitsrisiken. Für alle APIs, die in der Produktion aktiv sind, müssen Sie in der Lage sein, Angriffe in Echtzeit zu erkennen und zu blockieren. Erforderliche Kernfunktionen:
- Daten auf Manipulation und Datenlecks, Richtlinienverstöße, verdächtiges Verhalten und API-Angriffe überwachen
- API-Traffic ohne zusätzliche Änderungen am Netzwerk oder schwer zu installierende Agents analysieren
- In bestehende Workflows (Ticketerstellung, SIEM usw.) integrieren, um Sicherheits-/Betriebsteams zu warnen
- Angriffe und Missbrauch in Echtzeit mit teil- oder vollautomatischen Abhilfemaßnahmen verhindern
4. API-Sicherheitstests. API-Entwicklungsteams stehen unter dem Druck, so schnell wie möglich arbeiten zu müssen. Geschwindigkeit ist für jede entwickelte Anwendung von entscheidender Bedeutung – denn so können leichter Schwachstellen oder Konstruktionsfehler auftreten und bleiben anschließend eher unentdeckt. Wenn APIs in der Entwicklung getestet werden, bevor sie in die Produktion gehen, sinken nicht nur die Risiken, sondern auch die Kosten für die Behebung anfälliger APIs erheblich. Erforderliche Kernfunktionen:
- Eine Vielzahl automatisierter Tests durchführen, die schädlichen Traffic simulieren
- Schwachstellen entdecken, bevor APIs zum Einsatz kommen, um das Risiko eines erfolgreichen Angriffs zu verringern
- Ihre API-Spezifikationen anhand etablierter Governance-Richtlinien und -Regeln überprüfen
- API-fokussierte Sicherheitstests on demand oder im Rahmen einer CI/CD-Pipeline ausführen
Dieser umfassende Ansatz ergänzt die vorhandenen API-Schutzfunktionen eines Unternehmens, zu denen die folgenden gehören:
- Bedrohungserkennung und DDoS-Abwehr: Nutzen Sie Cybersicherheitstools, um potenzielle API-Angriffe in Echtzeit zu erkennen. Implementieren Sie Strategien zur Verhinderung von DDoS-Angriffen, wie Ratenbeschränkung und Lastausgleich, um sicherzustellen, dass Ihre API-Endpunkte verfügbar und sicher bleiben.
- Blockierung und Behebung: Implementieren Sie automatisierte Blockier- und Abhilfemaßnahmen, um sich vor unbefugten Zugriffsversuchen und der Offenlegung sensibler Daten zu schützen. Verwenden Sie eine Kombination aus WAF-, Authentifizierungs- und Zugriffskontrollrichtlinien, um die Sicherheit auf API-Gateway-Ebene durchzusetzen.
Diese Kontrollen sind als Vorschläge zu verstehen. Das ist sehr viel Information auf einmal, und in der Praxis wird nicht jedes Unternehmen all diese Aspekte abdecken. Die Checkliste bietet jedoch eine gute Möglichkeit, Best Practices zu etablieren und Bereiche zu identifizieren, in denen die API-Sicherheit verbessert werden kann. Sie liefert eine nützliche Grundlage für einen gut organisierten API-Sicherheitsbetrieb.
FAQs
Ratenbeschränkung ist entscheidend, um DDoS-Angriffe zu verhindern und API-Endpunkte vor einer übermäßigen Menge an Anfragen zu schützen. Durch die Begrenzung der Anzahl an Anfragen, die ein Nutzer oder Client innerhalb eines bestimmten Zeitrahmens stellen kann, sorgt die Ratenbeschränkung dafür, dass Ihre APIs auch unter hoher Last verfügbar und reaktionsfähig bleiben.
OAuth ist ein weit verbreitetes Authentifizierungsprotokoll, das sicheren Zugriff auf APIs bietet, indem Nutzer Zugriff auf ihre Daten gewähren können, ohne ihre Anmeldedaten weiterzugeben. Durch die Implementierung von OAuth wird sichergestellt, dass nur autorisierte Nutzer und Anwendungen auf Ihre API-Endpunkte zugreifen können, wodurch das Risiko von unbefugtem Zugriff und Datenschutzverletzungen verringert wird.
Eine Web Application Firewall (WAF) bietet eine zusätzliche Schutzebene für Ihre APIs, indem HTTP-Anfragen gefiltert und überwacht werden. Eine WAF kann schädlichen Traffic blockieren, Schutz vor gängigen Bedrohungen wie SQL-Injection und Cross-Site Scripting (XSS) bieten und Zugriffskontrollrichtlinien auf API-Gateway-Ebene durchsetzen. So können Sie Ihre APIs vor verschiedenen Cybersicherheitsbedrohungen schützen.
Warum entscheiden sich Kunden für Akamai?
Akamai ist das Unternehmen für Cybersicherheit und Cloud Computing, das das digitale Leben unterstützt und schützt. Unsere marktführenden Sicherheitslösungen, überlegene Threat Intelligence und unser globales Betriebsteam bieten ein gestaffeltes Sicherheitskonzept, um die Daten und Anwendungen von Unternehmen überall zu schützen. Die Cloud-Computing-Lösungen von Akamai bieten als Full-Stack-Gesamtpaket Performance und erschwingliche Preise auf der weltweit am stärksten verteilten Plattform. Globale Unternehmen vertrauen auf Akamai für die branchenführende Zuverlässigkeit, Skalierbarkeit und Expertise, die sie benötigen, um ihr Geschäft selbstbewusst auszubauen.