Best Practices für REST-API-Sicherheit
Was ist eine REST API?
Die REST-Softwarearchitektur (Representational State Transfer) geht auf eine Dissertation des Computerwissenschaftlers Roy Fielding aus dem Jahr 2000 zurück. In den folgenden Jahrzehnten haben sich REST APIs, manchmal auch als RESTful APIs bezeichnet, zu einem äußerst beliebten API-Architekturmodell für Webanwendungen und Apps sowie Business-to-Business-Anwendungen und interne Unternehmenssysteme entwickelt.
Zwar werden auch andere API-Ansätze (wie SOAP, GraphQL und gRPC) in vielen Implementierungen verwendet werden, REST APIs sind jedoch hauptsächlich aufgrund ihrer einfachen Implementierung am häufigsten vertreten. Ein REST-API-Design ist einfach in moderne Frontend-Frameworks einzubinden, was es zu einer beliebten Wahl für Webanwendungen, Apps und zahlreiche interne und Business-to-Business-API-Implementierungen macht.
Die fünf wichtigsten Best Practices für REST-API-Sicherheit
Auch wenn REST APIs unglaublich sicher und widerstandsfähig implementiert werden können, gibt es eine Reihe von grundlegenden Standards für die API-Sicherheit, die für jede Implementierung von entscheidender Bedeutung sind.
Dies sind die fünf wichtigsten Arten, ein REST-API-Design besser zu schützen:
Verwenden Sie immer eine TLS-Verschlüsselung.
Implementieren Sie ein solides und skalierbares Authentifizierungs- und Autorisierungsmodell.
Fügen Sie keine vertraulichen Informationen in URLs ein.
Definieren Sie zulässige Anfragen und Antworten für RESTful APIs möglichst eng.
Implementieren Sie Funktionen zur kontinuierlichen API-Erkennung.
Verwenden Sie immer eine TLS-Verschlüsselung.
Wie bei anderen Arten von sensiblem HTTP-Traffic gewährleistet die Verwendung von TLS für RESTful APIs die Verschlüsselung der gesamten Kommunikation zwischen dem API-Kunden und dem API-Endpoint. Dies ist für die REST-API-Sicherheit genauso wichtig wie für die Sicherheit von Webanwendungen, da der resultierende HTTP-Traffic vertrauliche Authentifizierungsinformationen wie Passwörter, API-Schlüssel oder Token enthält.
Implementieren Sie ein solides und skalierbares Authentifizierungs- und Autorisierungsmodell.
Zur Verwaltung des Zugriffs auf REST APIs können viele verschiedene Techniken verwendet werden. Die am häufigsten genutzten Techniken sind API-Schlüssel und Sicherheitstoken. Die Verwaltung von Schlüsseln und Token kann jedoch recht komplex sein.
Dies führt häufig zu unbeabsichtigten Sicherheitslücken in REST APIs. Dieses Risiko kann durch die Integration mit einem OAuth 2.0-kompatiblenIdentitätsmanagementprovider für die Authentifizierung und die Ausgabe von Zugangstoken reduziert werden. Mit einem zentralisierten API Gateway können Sie außerdem Ihren REST-API-Sicherheitsansatz standardisieren und schützen.
Fügen Sie keine vertraulichen Informationen in URLs ein.
Ein häufiger REST-API-Designfehler ist die Aufnahme vertraulicher Informationen – einschließlich Nutzeranmeldedaten, Schlüssel oder Token – in URLs. Selbst wenn TLS verwendet wird, sind diese Informationen für Cyberkriminelle leicht zu erkennen. URLs werden auch häufig von verschiedenen Servern und Netzwerkgeräten entlang des Datenpfads der API-Anforderung protokolliert, was zu weiteren Datenlecks führt, wenn die URLs sensible Informationen enthalten.
Definieren Sie zulässige Anfragen und Antworten für RESTful APIs möglichst eng.
Sie sollten stets davon ausgehen, dass Cyberkriminelle versuchen werden, APIs auf schädliche oder unbefugte Weise zu nutzen. Daher ist es wichtig, Anfragen von RESTful APIs nicht einfach implizit zu vertrauen. Einer der wichtigsten Maßnahmen ist die Validierung von Attributen wie Format, Länge und Typ von Parametern oder Objekten.
Sie sollten auch die Antworttypen, die die REST API bereitstellen kann, strikt regeln. Antworten sollten beispielsweise auf explizit zulässige Inhaltstypen wie GET, PUT und POST beschränkt sein.
Implementieren Sie Funktionen zur kontinuierlichen API-Erkennung.
Selbst Unternehmen, die sich an Best Practices für die Sicherheit von REST APIs halten, können von Shadow-APIs, die außerhalb der normalen Prozesse implementiert wurden, oder von vergessenen Zombie-APIs in einer noch nicht stillgelegten Legacy-Infrastruktur überrascht werden. Daher ist es wichtig, kontinuierliche, unternehmensweite API-Erkennungsfunktionen zu implementieren.
Die beste Art, um eine vollständige Bestandsaufnahme für alle APIs zu erstellen, ist das Sammeln von Daten aus allen verfügbaren Quellen von API-Aktivitätsinformationen, einschließlich:
API Gateways
Content Delivery Networks (CDNs)
Protokolle von Cloudanbietern
Log-Management-Systeme
Orchestrierungstools
Durch die Analyse dieser Daten auf API-Aktivitäten wird sichergestellt, dass Ihr Sicherheitsteam alle APIs kennt, die im gesamten Unternehmen verwendet werden. Alle unerwarteten REST APIs, die erkannt werden, können dann außer Betrieb genommen oder in ein formelles Inventar unter Anwendung geeigneter Best Practices aufgenommen werden.
Vier weitere Best Practices für verbesserte REST-API-Sicherheit
Die Implementierung einer Reihe grundlegender Sicherheitsstandards in Ihrem REST-API-Design ist ein wichtiger erster Schritt, doch diese Maßnahmen allein sorgen nicht für die vollständige Sicherheit Ihrer Anwendungen. Viele Cyberkriminelle haben fortschrittliche Techniken entwickelt, um grundlegende RESTful-API-Sicherheitsmaßnahmen zu umgehen. Schließlich hat nicht jeder Angriff auf die REST-API-Sicherheit das Ziel, in die Infrastruktur der Webanwendung einzudringen.
In vielen Fällen ist Ziel einfach, die API-Funktionalität auf unbefugte Weise zu nutzen, um auf sensible Daten zuzugreifen und sich einen Wettbewerbsvorteil zu verschaffen. Diese Aktivitäten können von vertrauenswürdigen Quellen stammen, z. B. Kunden oder Partnern, denen Zugriff auf REST APIs gewährt wurde. Anmeldedaten, Schlüssel und Token können ebenfalls gestohlen oder kompromittiert werden, sodass Cyberkriminelle Ihre grundlegenden Sicherheitsstandards für REST APIs umgehen können.
Um zusätzlichen Schutz vor diesen anspruchsvolleren Formen des API-Missbrauchs zu bieten, können Sie die folgenden vier erweiterten Best Practices für die REST-API-Sicherheit verwenden:
Erfassen Sie große Mengen an REST-API-Sicherheitsdaten in der Cloud.
Wenden Sie Verhaltensanalysen auf Ihre REST-API-Daten an.
Stellen Sie Ihren Entwicklungs- und Betriebsteams Einblicke in die Nutzung der REST APIs zur Verfügung.
Suchen Sie proaktiv nach Bedrohungen für die REST-API-Sicherheit.
Erfassen Sie große Mengen an REST-API-Sicherheitsdaten in der Cloud.
Viele API-Sicherheitstechniken der ersten Generation werden vor Ort eingesetzt. Infolgedessen sind sie auf die Analyse sehr kurzer Aktivitätsfenster beschränkt, nach denen die API-Daten wieder verworfen werden. Dies ist ineffektiv, da viele Arten von API-Missbrauch nur langsam über Wochen – oder sogar Monate – durchgeführt werden. Indem Sie Ihre API-Aktivitätsdaten an die Cloud senden, wird die erforderliche Skalierung für die Speicherung von API-Informationen, die einen Monat oder mehr umfassen, ermöglicht. Dies öffnet die Tür für anspruchsvollere Analysetechniken.
Wenden Sie Verhaltensanalysen auf Ihre REST-API-Daten an.
Sobald Sie über eine aussagekräftige Menge an REST-API-Aktivitätsinformationen verfügen, können Sie auch auf die Rechenleistung der Cloud zurückgreifen, um Verhaltensanalysen durchzuführen. Die erste Möglichkeit, Ihre REST-API-Sicherheitsstrategie zu verbessern, besteht darin, alle beteiligten Akteure zu identifizieren, damit Sie mehr Kontext haben. Akteure können hierbei sowohl Nutzer als auch bedeutende Geschäftsprozesse umfassen.
Wenn Sie über diesen Kontext verfügen, können Sie normale Nutzungsmuster für Ihre APIs definieren. Damit können Sie weitere Analysen durchführen, um Anomalien zu erkennen. Diese Art der Erkennung von Anomalien ist die beste Möglichkeit, Missbrauch zu erkennen, insbesondere wenn er von authentifizierten Nutzern stammt.
Stellen Sie Ihren Entwicklungs- und Betriebsteams Einblicke in die Nutzung der REST APIs zur Verfügung.
Eine der besten Möglichkeiten, Ihr Unternehmen vor Sicherheitslücken in Ihren REST APIs zu schützen, besteht darin, diese vollständig zu vermeiden. Wenn Ihre Entwickler und Betriebsmitarbeiter Informationen darüber haben, wie Ihre RESTful APIs genutzt – und missbraucht – werden, kann Ihr Unternehmen bereits früh in den Entwicklungs- und Implementierungsprozessen bessere REST-API-Sicherheitspraktiken einsetzen.
Suchen Sie proaktiv nach Bedrohungen für die REST-API-Sicherheit.
Warten Sie nicht ab, bis der Missbrauch von REST APIs zu einem schweren Sicherheitsvorfall eskaliert. Indem Sie proaktiv die Nutzung von REST APIs auf Missbrauchsversuche analysieren – selbst wenn diese Versuche erfolglos bleiben – können Sie frühzeitig Schwachstellen in Ihren REST-API-Sicherheitspraktiken identifizieren.
Die Untersuchung der API-Nutzungsaktivität ist auch eine effektive Methode, um die REST-API-Sicherheitslücken aufzudecken, die in den Top 10 API-Sicherheitsrisiken des Open Web Application Security Project (OWASP) definiert sind. Diese Schwachstellen zu finden und zu eliminieren, bevor Cyberkriminelle sie ausnutzen können, ist eine der effektivsten Methoden, um Ihre REST-API-Sicherheit zu verbessern.
Sind Sie bereit, loszulegen?
Akamai unterstützt einige der weltweit anerkanntesten Unternehmen bei der Implementierung grundlegender und erweiterter Best Practices für die REST-API-Sicherheit. Von der API-Erkennung über Verhaltensanalysen bis hin zur verwalteten Bedrohungssuche –unser Ansatz hilft Ihnen dabei, Ihre REST-API-Sicherheitsmaßnahmen zu beschleunigen.
Weitere Informationen
Möchten Sie mehr erfahren? Entdecken Sie die API-Sicherheitslösung von Akamai.