Was ist API-Sicherheit?
API-Sicherheit schützt APIs mit Authentifizierung, Autorisierung, Verschlüsselung, Validierung und Rate Limits. Kernkontrollen, typische Fehler und Tests.
Was ist API-Sicherheit?
API-Sicherheit umfasst alle Kontrollen, die dafür sorgen, dass eine API nur die Daten liefert und nur die Aktionen ausführt, die ein geprüfter Client nutzen darf. Sie kombiniert Authentifizierung, Autorisierung, Verschlüsselung bei der Übertragung, Eingabevalidierung und Rate Limiting, gestützt durch Monitoring. Da die meisten Apps über APIs kommunizieren, ist die API oft die wichtigste Angriffsfläche.
Wie API-Sicherheit funktioniert
Keine einzelne Kontrolle genügt, deshalb durchläuft jede Anfrage mehrere Schichten. Jede beantwortet eine andere Frage:
- Authentifizierung: Wer ruft auf? Ein API-Schlüssel, ein OAuth-2.0-Access-Token (als Bearer-Token gesendet), ein signiertes JWT oder ein Client-Zertifikat (mTLS). Zugangsdaten möglichst kurzlebig, eng begrenzt und nie in Client-Code oder Quellcodeverwaltung.
- Autorisierung: Was darf der Aufrufer? Wird serverseitig bei jeder Anfrage und für jedes Objekt geprüft, nie aus einer vom Client gesendeten Rolle oder ID abgeleitet.
- Verschlüsselung: Kann jemand dazwischen mitlesen? TLS für den gesamten Verkehr, Zertifikate, die geprüft und rechtzeitig erneuert werden.
- Eingabevalidierung: Ist die Anfrage sicher zu verarbeiten? Typ, Länge, Format und Wertebereich gegen ein striktes Schema prüfen und unbekannte Felder ablehnen.
- Rate Limiting: Wie viel ist zu viel? Limits pro Client und Endpunkt bremsen Brute Force, Scraping und Missbrauch teurer Endpunkte.
Beispiel: fehlerhafte Autorisierung auf Objektebene
Der häufigste schwere Fehler ist ein Server, der den Aufrufer zwar authentifiziert, aber nie prüft, wem das Objekt gehört. Es genügt, eine ID in der URL zu ändern:
GET /api/orders/1001 (token of user A) -> 200 OK, A's order
GET /api/orders/1002 (token of user A) -> 200 OK, B's order <- broken object level authorization
GET /api/orders/1002 (token of user A) -> 403 Forbidden <- what the server should answer
Authentifizierung vs. Autorisierung
| Aspekt | Authentifizierung | Autorisierung |
|---|---|---|
| Frage | Wer sendet diese Anfrage? | Was darf diese Identität tun? |
| Typische Mittel | API-Schlüssel, OAuth 2.0, JWT, mTLS | Rollen, Scopes, Besitzer- und Mandantenprüfung |
| Typischer Fehler | Geleakte oder langlebige Zugangsdaten | Zugriff auf Objekte anderer Nutzer oder Admin-Funktionen |
Die OWASP API Security Top 10 (2023)
Die OWASP API Security Top 10 sind die gemeinsame Checkliste, mit der die meisten Teams priorisieren. Die Ausgabe 2023 nennt: Broken Object Level Authorization, Broken Authentication, Broken Object Property Level Authorization, Unrestricted Resource Consumption, Broken Function Level Authorization, Unrestricted Access to Sensitive Business Flows, Server Side Request Forgery, Security Misconfiguration, Improper Inventory Management und Unsafe Consumption of APIs. Unser Eintrag zu den wichtigsten API-Sicherheitsrisiken geht sie durch, API-Angriffe zeigt, wie sie ausgenutzt werden.
Häufige Fehler bei der API-Sicherheit
- Dem Client vertrauen: Rolle, Nutzer-ID oder Preis aus dem Request-Body übernehmen.
- Ganze Datenbankobjekte zurückgeben und Felder erst im Frontend ausblenden.
- Alte API-Versionen und undokumentierte Endpunkte weiterlaufen lassen.
- Schlüssel oder Tokens in mobilen Apps, JavaScript-Bundles oder der Git-Historie.
- Sich allein auf Gateway oder WAF verlassen. Sie sind eine nützliche Perimeterschicht, wissen aber nicht, wer welchen Datensatz sehen darf.
- Rate Limits setzen, ohne je zu prüfen, was die API beim Erreichen tut.
API-Sicherheit testen und überwachen
Setzen Sie auf Schichten: statische Analyse und Abhängigkeitsprüfung in der Pipeline, dynamische Tests und Fuzzing gegen eine laufende API, gezielte Tests, die auf Daten eines anderen Mandanten zugreifen wollen, und regelmäßige Penetrationstests. Zur Prüfungsseite siehe API-Sicherheitsaudit.
LoadFocus ist kein Schwachstellenscanner, aber zwei Teile der Aufgabe passen dazu. Der Lasttest zeigt, wie sich eine API und ihre Rate Limits unter hohem Verkehr verhalten, bevor es die Produktion tut (JMeter- und k6-Skripte, 25 Cloud-Regionen); siehe häufige Ursachen für API-Rate-Limiting und Tests für OAuth-2.0-gesicherte APIs. Das API-Monitoring führt geplante Checks aus (kostenlose Checks alle 5 Minuten) und prüft Statuscode, Header und Antwort-Body: Ein Login-Endpunkt, der plötzlich auf einen falschen Schlüssel mit 200 antwortet, oder ein ablaufendes SSL-Zertifikat löst einen Alarm aus. Mehr unter API-Monitoring.
Häufige Fragen: API-Sicherheit
Was ist API-Sicherheit einfach erklärt?
Alles, was verhindert, dass eine API Daten herausgibt oder Aktionen für den falschen Aufrufer ausführt: Identität prüfen, Berechtigungen prüfen, Verkehr verschlüsseln, Eingaben validieren und die Nutzungsrate begrenzen.
Was ist der Unterschied zwischen Authentifizierung und Autorisierung?
Authentifizierung bestätigt, wer der Client ist. Autorisierung entscheidet, worauf er zugreifen darf. Ein System kann korrekt authentifizieren und trotzdem Daten preisgeben, wenn die Autorisierung bei einzelnen Objekten fehlt.
Reichen API-Gateway oder WAF aus?
Nein. Sie bündeln Authentifizierungsprüfungen, Rate Limiting und Mustererkennung, aber Fehler in der Geschäftslogik, etwa das Lesen fremder Bestellungen, müssen im Dienst selbst behoben werden.
Wie hilft Rate Limiting der API-Sicherheit?
Es begrenzt Anfragen pro Client und Zeitfenster und bremst damit Credential Stuffing, Scraping und Missbrauch teurer Endpunkte. Prüfen Sie die Limits unter Last, damit sie halten und Fehlerantworten sauber sind.
Wie teste ich eine API auf Sicherheit?
Kombinieren Sie automatisches Scanning, Fuzzing, mandantenübergreifende Autorisierungstests, Lasttests Ihrer Drosselung und regelmäßige manuelle Penetrationstests. Monitoring zeigt Rückschritte nach dem Release.
Verwandte Begriffe
- Was ist API-Sprawl? Definition, Ursachen und Gegenmaßnahmen
- Was ist API-Threat-Hunting?
- Was ist ein Bearer Token? Definition, JWT und Sicherheit
- Was ist der curl-Befehl? Beispiele, Flags, HTTP-Requests
- Was ist die History-API?
- Was ist Idempotenz? HTTP-Methoden, Idempotency-Keys, Beispiele
- Was ist JSON? Einsteiger-Guide mit Syntax und Beispielen
- Was ist JSON-RPC? Protokoll, Beispiele, REST-Vergleich
Verwandte LoadFocus-Tools
Setze dieses Konzept mit LoadFocus in die Praxis um, derselben Plattform, die alles antreibt, was du gerade gelesen hast.