Cyberbedrohungen
Bedrohungsmodellierung für API-Gateways
Warum ist es wichtig, APIs und API-Gateways zu sichern? Wir stellen die Funktionen und Risiken von API-Gateways dar, die Vorteile von API-Gateways in hybriden und Multi-Cloud-Umgebungen sowie allgemeine API-Sicherheitsrisiken und Best Practices.
Anwendungsprogrammierschnittstellen (APIs) ermöglichen die Anwendungskommunikation, indem sie Microservices die Verwendung einer standardisierten Schnittstelle erlauben, ohne dass sie ihre interne Implementierung offenlegen müssen. APIs sind zum Beispiel für das Surfen auf Social-Media-Plattformen wie Facebook, X (früher Twitter) erforderlich, oder auch Instagram braucht sie für den Aufruf von API-Endpunkten im Hintergrund.
Was die Nutzung und Akzeptanz angeht, so verwenden fast 90 % der Entwickler APIs. Und laut Gartner wird sich die Zahl der genutzten Drittanbieter-APIs bis 2025 verdreifachen. Die Sicherung von APIs und ihren Gateways wird immer schwieriger. Ein ungesicherter Endpunkt ist wie ein versehentlich offen gelassenes Tor, durch das Einbrecher eindringen können.
Da jede moderne Anwendung irgendwann mit einer API interagiert, sollten APIs weiter vor Angriffen geschützt werden und einem API-Gateway zusammengefasst werden, das als Einstiegspunkt in die API-Welt dient. API-Gateways werden häufig als Tool zur Erhöhung der Sicherheit und zur Bewältigung vonSicherheits- und Sichtbarkeitsproblemen gesehen.
Funktionen und Risiken von API-Gateways
API-Gateways erfüllen die folgenden Funktionen:
- Autorisierung/Authentifizierung. API-Gateways implementieren starke Authentifizierungsmechanismen, einschließlich solche mit Multifaktor. Sie verwenden Gateways Autorisierungsmethoden wie die rollenbasierte Zugriffskontrolle (RBAC) oder Zugriffskontrolllisten, um festzulegen, welche Aktionen Benutzer für bestimmte Ressourcen ausführen dürfen.
- Routing. Eine grundlegende Funktion ist das Routing von API-Anfragen an die entsprechenden Backend-Systeme. Dies kann als einfacher Reverse-Proxy oder in komplexeren Szenarien mit zusätzlichen Richtlinien erfolgen, die in der Lage sind, Anfragen und Antworten zu ändern oder sogar Autorisierungen hinzuzufügen.
- Offloading. Darunter versteht man das Delegieren von Aufgaben wie SSL-Verarbeitung (Secure Sockets Layer), Anforderungs-Caching und Antwortumwandlung an das API-Gateway, anstatt sie in den Anwendungen selbst zu erledigen. Dies kann die Belastung einzelner Dienste erheblich verringern und die Systemleistung insgesamt verbessern.
- Transport Layer Security (TLS)-Terminierung. Die TLS-Terminierung am API-Gateway bedeutet, dass dieses zum Endpunkt für die TLS-Verschlüsselung wird und die Anfragen entschlüsselt, bevor sie an die Backend-Dienste weitergeleitet werden.
- Aggregation. API-Gateways können Antworten von mehreren Back-End-Diensten zusammenfassen und eine einheitliche Antwort an den Client liefern, was die clientseitige Logik vereinfacht und die Anzahl der erforderlichen Anfragen reduziert.
- Ein einziger Zugangspunkt. Diese Zentralisierung kann die Sicherheitsverwaltung vereinfachen, da sie als einziger Zugangspunkt für alle API-Anfragen dient.
Jede dieser Funktionen ist mit eigenen Risiken verbunden. Vom Benutzer verwaltete, lokale und hybride API-Gateways unterstützen zwar Cloud-Dienste, werden aber nicht als Dienst für Cloud-Service-Provider (CSPs) vermarktet. Außerdem bieten sie in der Regel mehr Konfigurationsoptionen und Anwendungsfälle.
Mit mehr Macht kommt jedoch auch eine größere Verantwortung - und die Wahrscheinlichkeit, einen Fehler zu machen und eine Fehlkonfiguration einzuführen, steigt mit dem Einsatz von API-Gateways. Die Hauptsicherheitsbedenken beginnen bei der Autorisierung und der TLS-Terminierung.
Ein Beispiel für eine schlechte Autorisierungsrichtlinie unter Verwendung eines API-Gateways: Für den Zugriff auf den Endpunkt ist ein Geheimnis (z. B. ein API-Schlüssel) erforderlich, aber wenn die Anforderung ohne erforderliche Autorisierung an den eigentlichen Backend-Dienst weitergeleitet wird, autorisiert das Backend die Anforderung standardmäßig.
Das bedeutet, dass derjenige, der innerhalb des internen Netzes Zugriff auf den Backend-Dienst hat, keinerlei Authentifizierung benötigt. Damit ist er anfällig für SSRF-Angriffe (Server-Side Request Forgery). Wenn ein Dienst innerhalb des internen erreichbaren Netzes kompromittiert wird, gewährt der Dienst unbeabsichtigt böswilligen Akteuren freien Zugang.
Einer der Vorteile der TLS-Terminierung ist die Verringerung des Leistungsaufwands, der für das Senden verschlüsselter Anfragen und deren Entschlüsselung auf der Gegenseite erforderlich ist. Allerdings werden die Autorisierungsgeheimnisse im Klartext gesendet. Dies könnte ein Abfangen durch Angreifer ermöglichen, was vor allem bei lokalen Workloads häufig vorkommt.
Aus diesem Grund sind Zugriffskontrolle, TLS und die richtige Speicherung von Geheimnissen Schlüsselelemente für die Sicherheit von API-Gateways.
Vorteile von API-Gateways in hybriden, Multi-Cloud-Umgebungen
In hybriden und Multi-Cloud-Umgebungen sind die Anwendungen und Dienste auf verschiedene Cloud-Plattformen und lokale Infrastrukturen verteilt, so dass ein komplexes Netz von Interaktionen geschaffen wird, das schwierig zu verwalten und zu sichern ist.
API-Gateways können diese Komplexität vereinfachen, indem sie als zentraler Zugangspunkt für alle API-Interaktionen dienen, unabhängig davon, wo die zugrunde liegenden Dienste gehostet werden. Diese Zentralisierung erhöht die Sicherheit, indem sie eine einheitliche Plattform für die Implementierung von Sicherheitsrichtlinien, einschließlich Authentifizierung, Autorisierung und Verschlüsselung, bietet.
Darüber hinaus können Gateways eine einheitliche Schnittstelle für alle API-Interaktionen bieten, was die Verwaltung und Überwachung der API-Nutzung in der gesamten Hybrid- oder Multi-Cloud-Umgebung erleichtert. Diese Konsistenz kann auch den Prozess der Anpassung an Änderungen bei den zugrunde liegenden Diensten oder die Migration von Diensten zwischen verschiedenen Plattformen vereinfachen.
Der Schlüssel zur Nutzung dieser Vorteile bei gleichzeitiger Minimierung der Risiken liegt in der ordnungsgemäßen Konfiguration, der aufmerksamen Überwachung und der Einhaltung bewährter Sicherheitsverfahren. Da es die Einstellungen für den Zugriff auf mehrere Umgebungen einschließlich ihrer Geheimnisse zusammenfasst, kann die Kompromittierung eines einzelnen API-Gateways zur Kompromittierung mehrerer CSP- und lokaler Konten führen.
Herausforderungen der API-Sicherheit und bewährte Verfahren
Neben der Sicherung von API-Gateways sollte die Bedeutung der Sicherung der APIs selbst nicht übersehen werden. Das Open Web Application Security Project (OWASP) nennt die zehn größten API-Sicherheitsrisiken, wie z. B. nicht funktionierende Autorisierung auf Objektebene, nicht funktionierende Authentifizierung, uneingeschränkte Ressourcen, nicht funktionierende Autorisierung auf Funktionsebene, serverseitige Anforderungsfälschung, falsche Sicherheitskonfiguration und mangelnder Schutz vor automatischen Bedrohungen.
Um die API-Sicherheit besser zu verstehen, sollten andere häufige API-Sicherheitsproblemen und ihre möglichen Lösungen bekannt sein.
- Unzureichende Rate-Begrenzung. Ohne eine angemessene Ratenbegrenzung können APIs anfällig für Brute-Force-Angriffe sein, bei denen ein Angreifer zahlreiche Kombinationen von Anmeldeinformationen ausprobiert, um unbefugten Zugriff auf Systeme zu erhalten. Um dieses Risiko zu mindern, sollten Unternehmen strenge Regeln zur Begrenzung einführen, die die Anzahl der API-Aufrufe eines Benutzers innerhalb eines bestimmten Zeitrahmens limitieren.
- Unzureichende Datenvalidierung. APIs interagieren häufig mit verschiedenen Datenquellen, was zu Schwachstellen führen kann, wenn die Daten nicht ordnungsgemäß validiert sind. Unternehmen sollten clientseitige und serverseitige Daten immer validieren, um sicherzustellen, dass sie die erforderlichen Kriterien erfüllen und keinen bösartigen Code enthalten.
- Unsichere direkte Objektreferenzen. Dies tritt auf, wenn eine API einen Verweis auf ein internes Implementierungsobjekt preisgibt. Ein Angreifer kann diese Verweise manipulieren, um unbefugten Zugriff auf Daten zu erhalten. Um dies zu verhindern, können Unternehmen indirekte Objektverweise verwenden und sicherstellen, dass angemessene Autorisierungsprüfungen durchgeführt werden.
- Fehlende Protokollierung und Überwachung. Ohne angemessene Protokollierung und Überwachung kann es schwierig sein, API-Sicherheitsvorfälle zu erkennen und darauf zu reagieren. Unternehmen sollten eine umfassende Protokollierung und Echtzeitüberwachung implementieren, um ungewöhnliche Aktivitäten zu erkennen und umgehend auf potenzielle Sicherheitsbedrohungen zu reagieren.
- Unsichere API-Abhängigkeiten. APIs sind oft von anderen APIs oder Softwaremodulen abhängig, was zu Schwachstellen führen kann, wenn diese Abhängigkeiten nicht sicher sind. Teams, die mit APIs arbeiten, sollten API-Abhängigkeiten regelmäßig aktualisieren und patchen, um sicherzustellen, dass sie keine bekannten Sicherheitslücken enthalten.
- Fehlende Verschlüsselung. Über APIs übertragene Daten sollten immer verschlüsselt werden, um ein Abfangen zu verhindern. Es empfiehlt sich auch, Protokolle wie HTTPS zu verwenden und geeignete Verschlüsselungsmethoden zu implementieren, um Daten bei der Übertragung und im Ruhezustand zu schützen.
- Unzureichende Authentifizierung und Autorisierung: APIs sollten immer die Identität der Benutzer überprüfen und sicherstellen, dass sie über die erforderlichen Berechtigungen zur Durchführung einer Aktion verfügen (Autorisierung). Unternehmen sollten robuste Authentifizierungsmechanismen wie OAuth implementieren und sicherstellen, dass für alle API-Endpunkte angemessene Autorisierungsprüfungen durchgeführt werden.
- Falsch konfiguriertes Cross-Origin Resource Sharing (CORS). CORS ist ein Mechanismus, der es ermöglicht, dass viele Ressourcen, wie z. B. Schriftarten und JavaScript, auf einer Webseite von einer anderen Domäne außerhalb der Domäne, von der die Ressource stammt, angefordert werden können. Falsch konfiguriertes CORS kann nicht autorisierten Domänen den Zugriff auf die API ermöglichen. Um die Sicherheit zu erhöhen, lohnt es sich, CORS immer korrekt zu konfigurieren und nur vertrauenswürdigen Domänen die Interaktion mit der API zu erlauben.
- Offengelegte sensible Daten. APIs verarbeiten häufig sensible Daten, die bei unzureichendem Schutz offengelegt werden können. Die Verschlüsselung sensibler Daten und die Implementierung geeigneter Zugriffskontrollen, um unbefugten Zugriff zu verhindern, können dazu beitragen, das Risiko einer unbeabsichtigten Datenpreisgabe zu verringern.
- Fehlende API-Versionierung. Ohne ordnungsgemäße Versionierung können Änderungen an einer API bestehende Integrationen unterbrechen und Schwachstellen einführen. Unternehmen können von der Implementierung einer robusten Versionsstrategie profitieren, um Abwärtskompatibilität und sichere Übergänge zwischen verschiedenen API-Versionen zu gewährleisten.
Schlussfolgerung
Die Rolle von API-Gateways wird im Rahmen von Hybrid- und Multi-Cloud-Strategien noch wichtiger. In solchen Umgebungen sind Anwendungen und Dienste über verschiedene Cloud-Plattformen und lokale Infrastrukturen verteilt. Dies führt zu der Herausforderung, diese komplexen und miteinander verflochtenen Verbindungen zu sichern. API-Gateways können die Komplexität vereinfachen, indem sie als einziger Zugangspunkt für alle API-Interaktionen dienen. Dies bietet eine einheitliche Plattform für die Implementierung von Sicherheitsrichtlinien, was die Sicherheit erhöht.
Letztlich geht es bei der Sicherheit einer API nicht nur um die Technologie, sondern auch um Menschen und Prozesse. Sie erfordert einen umfassenden Ansatz, der Schulungen, regelmäßige Audits und eine Kultur des Sicherheitsbewusstseins umfasst. Durch diese Schritte können Unternehmen ihre APIs und die wertvollen Daten, die sie verarbeiten, schützen und so ihren anhaltenden Erfolg im digitalen Zeitalter sicherstellen.