Top-10-API-Bedrohungen des OWASP

Sie lesen gerade die Dokumentation zu Apigee Edge.
Apigee X-Dokumentation aufrufen.
info

In diesem Dokument werden verschiedene Ansätze beschrieben, die Sie in Apigee verwenden können, um Sicherheitslücken zu beheben, die von OWASP identifiziert wurden. Weitere Ansätze, die für Apigee dokumentiert sind, finden Sie unter OWASP Top 10 2021 – Optionen zur Risikominimierung in Google Cloud.

Einführung

OWASP ist eine offene Community, die Organisationen bei der Entwicklung, dem Kauf und der Wartung vertrauenswürdiger Anwendungen und APIs unterstützt. Im Rahmen des OWASP API Security Project veröffentlicht OWASP die kritischsten Sicherheitsrisiken für Webanwendungen und REST APIs und gibt Empfehlungen zur Behebung dieser Risiken.

In diesem Dokument werden Ansätze zum Schutz vor gängigen API-basierten Angriffen beschrieben, die in den Top 10 der API-Sicherheitsbedrohungen von OWASP aus dem Jahr 2019 aufgeführt sind. Ein häufiges Thema bei den Top-Bedrohungen, die in der aktuellen Liste hervorgehoben werden, ist die unsachgemäße Platzierung von Authentifizierungs- und Autorisierungskontrollen. Dazu gehört beispielsweise die Abhängigkeit von der Filterung von Daten, die von einer API-Anfrage in Client-Apps zurückgegeben werden, indem das Anti-Pattern verwendet wird, bei dem die Zugriffssteuerung von der Client-App übernommen wird.

Da das API-Ökosystem weiterhin rasant wächst, gehören API-Missbrauch und ‑Fehlgebrauch, die zu Datenexfiltration durch Angreifer führen, leider zu den häufigsten Angriffsvektoren. Sicherheit hat weiterhin höchste Priorität für Apigee. Es gibt eine Reihe neuer Funktionen wie Advanced API Ops, die Funktionen zur Anomalieerkennung umfasst. Die korrekte Konzeption und Implementierung der Sicherheitsfunktionen von Apigee ist jedoch entscheidend, um die Wahrscheinlichkeit erfolgreicher Angriffe auf Ihre APIs zu verringern.

Verbraucheranwendungen sollten als nicht vertrauenswürdig oder „öffentlich“ betrachtet werden, da Sie die Plattform, auf der die App ausgeführt wird, nicht kontrollieren. Gehen Sie davon aus, dass jede öffentliche App kompromittiert werden kann und wird. Daher kann nicht darauf vertraut werden, dass sie die Zugriffssteuerung (API1, API5) erzwingt, Antwortdaten filtert (API6) oder Client-Secrets wie API-Schlüssel oder Zugriffstokens sicher speichert (API2). Einige Empfehlungen ergeben sich aus der Untersuchung der OWASP Top 10 von 2019:

  • Legen Sie fest, welche Art von Client-Apps Ihre APIs verwenden (SPA, mobil oder browserbasiert), und entwerfen Sie die entsprechenden Authentifizierungs-, Autorisierungs- und Sicherheitsmuster.
  • Verwenden Sie immer OAuth- oder OpenID Connect-Abläufe für öffentliche Clients. Die Verwendung von PKCE wird dringend empfohlen.
  • Denken Sie über die Geschäftslogik Ihrer App nach, definieren Sie zuerst Ihre OpenAPI-Spezifikation und entwerfen Sie Ihre API-Proxys so, dass alle Antwortdaten aus dem Backend in Apigee gefiltert werden. Verlassen Sie sich niemals auf die Downstream-App-Codelogik, um dies zu tun.
  • Filtern Sie alle Datenanfragen, die nutzerspezifische personenidentifizierbare Informationen enthalten, sodass nur Daten aus Ihrem Backend zugelassen werden, die zum anfragenden Nutzer gehören.

API1:2019 Fehlerhafte Autorisierung auf Objektebene

Beschreibung der Bedrohung

Wenn die Autorisierungsvalidierung einer Objektzugriffsanfrage nicht ausreichend ist, kann ein Angreifer durch Wiederverwendung eines Zugriffstokens eine unbefugte Aktion ausführen. Diese Bedrohung wird durch eine falsche Konfiguration der Autorisierungsvalidierungen verursacht. Apigee stellt VerifyApiKey-, OAuth- und JWT-Richtlinien (JSON Web Token) bereit, die vor dieser Sicherheitslücke schützen. Es ist jedoch wichtig, dass diese Richtlinien richtig konfiguriert werden, um diese Bedrohung zu verhindern.

Um diese Bedrohung zu verhindern, ist es wichtig, dass Anwendungsentwicklungs- und Sicherheitsteams eng zusammenarbeiten. Die Autorisierung ist von Natur aus ein komplexes Thema und eine effektive, detaillierte Autorisierung erfordert ein tiefes Verständnis der Geschäftslogik der Anwendung.

Aus Apigee-Implementierungssicht sind zwei Hauptaspekte zu berücksichtigen:

  • Integrität von Zugriffstokens
  • Erzwingen der Zugriffssteuerung

Integrität des Zugriffstokens

Es ist wichtig, zu prüfen, ob das vom anfragenden Client bereitgestellte Token manipuliert wurde. Verwenden Sie dazu den richtigen OAuth- oder OpenID Connect-Ablauf zusammen mit dem entsprechenden Mechanismus zur Validierung oder Signierung von Anmeldedaten. Apigee unterstützt alle gängigen OAuth-Vorgänge.

Richtlinien zur Überprüfung von Apigee-Zugriffstokens:

Erzwingen der Zugriffssteuerung

Nachdem die Gültigkeit des Zugriffstokens überprüft wurde, ist es wichtig, Richtlinien zur Erzwingung der Zugriffssteuerung zu implementieren, um jede eingehende API-Anfrage anhand der Zugriffsberechtigungen des Autorisierungstokens zu bewerten.

Apigee bietet zwei Hauptmechanismen zum Überprüfen und Erzwingen von Autorisierungsrichtlinien:

  • Intern: Verwendung von bedingten Abläufen, um Zugriffsanfragen anhand von Ansprüchen auszuwerten, die als Ablaufvariablen aus einem Autorisierungstoken extrahiert werden
  • Delegiert: Verwendung eines Dienstanrufs an eine Drittanbieterlösung für die Zugriffsverwaltung

Der interne Ansatz (siehe Abbildung oben) wird empfohlen, wenn das Zugriffssteuerungsmodell relativ einfach ist. Beispiel: Wenn Ansprüche, die aus einem Zugriffstoken extrahiert wurden, verwendet werden können, um eine API-Objektanfrage direkt zu bewerten und zu autorisieren.

Verwenden Sie die für die OAuth- oder JWT-Richtlinien verfügbaren Ablaufvariablen, um Zugriffsanfragen mit bedingten Ablaufanweisungen auszuwerten.

Der delegierte Ansatz (siehe Abbildung oben) wird empfohlen, wenn aus einem Zugriffstoken extrahierte Ansprüche nicht direkt zur Autorisierung einer API-Anfrage an ein Backend-Objekt verwendet werden können oder für komplexere OAuth-Abläufe, die einen separaten Aufruf eines Autorisierungsservers zum Abrufen eines Zugriffstokens erfordern.

Mit der ServiceCallout-Richtlinie können Sie entweder eine Autorisierungsrichtlinienentscheidung von einem Drittanbieterdienst anfordern oder zusätzliche Anspruchsinformationen zum anfragenden Agenten abrufen, um dann mit einem bedingten Ablauf eine Zugriffssteuerungsentscheidung zu treffen.

API2:2019 Fehlerhafte Nutzerauthentifizierung

Beschreibung der Bedrohung

Schlecht implementierte Richtlinien zur Nutzerauthentifizierung ermöglichen es Angreifern, sich als legitime Nutzer auszugeben, indem sie Implementierungsfehler bei der Authentifizierung ausnutzen. Bei der Implementierung von Authentifizierungsansätzen sollten Sie einige Authentifizierungsgrundsätze beachten:

  • Immer sowohl den User-Agent (die App) als auch den anfragenden Nutzer authentifizieren
  • Verwenden Sie delegierte Authentifizierungs- und Autorisierungsmuster und vermeiden Sie es, Passwörter direkt in einer API-Anfrage zu übergeben.
  • Prüfen Sie immer die Signatur der Anmeldedaten und sorgen Sie dafür, dass alle verwendeten Anmeldedaten ein Ablaufdatum haben.
  • Brute-Force-Angriffe verhindern, indem Sie Kontingente festlegen und Apigee Sense verwenden, um botgesteuerte Brute-Force-Angriffe zu erkennen und darauf zu reagieren

Bei einem Outside-in-Paradigma basiert das API-Design auf den Anwendungsfällen der Nutzer für die Daten und nicht auf der Struktur der vorhandenen Daten in Ihren Backend-Systemen. Sicherheit ist ein wichtiger Aspekt beim Entwerfen von APIs für externe Nutzer. Back-End-Systeme sind in der Regel nicht mit ausreichend starken Authentifizierungsimplementierungen für die Nutzung in öffentlichen Netzwerken ausgestattet. Hier kann Apigee in Kombination mit einer Lösung für die Identitäts- und Zugriffsverwaltung starke Lösungen zum Schutz vor dieser Bedrohung bieten.

Es gibt einige wichtige Elemente, die hier berücksichtigt werden müssen. Beide werden in den folgenden Abschnitten behandelt:

  • Sicherheitskonzept: Apigee-Funktionen zur Implementierung von Authentifizierungsmustern vollständig nutzen
  • Governance: Sicherstellen, dass die entwickelten Authentifizierungsmuster einheitlich in allen veröffentlichten API-Produkten verwendet werden
  • Betriebssicherheit: Verdächtiges oder anomales Verhalten sowie Versuche, authentifizierte API-Proxys zu umgehen oder zu knacken, erkennen können

Sicherheitsdesign

Ziel des Sicherheitsdesigns ist die korrekte Implementierung von Authentifizierungsabläufen und die Integration mit Drittanbieter-Identitätstools. Die Sicherheitskonzeption ist eine wichtige Phase. Sie beginnt damit, dass Sie den richtigen Typ des delegierten Authentifizierungsablaufs basierend auf dem Typ der App ermitteln, die Ihre API-Endpunkte nutzen wird. Im nächsten Schritt definieren Sie gemeinsam mit Ihrem Identitätsteam die Integrationsmuster, die mit Ihrer Identitätslösung implementiert werden sollen.

Die OpenID Connect- und OAuth-RFCs bieten eine Vielzahl von delegierten Authentifizierungs- und Autorisierungsabläufen sowie Akteuren, die an diesen Abläufen beteiligt sind. Dies ist ein komplexes Thema und es ist nicht verwunderlich, dass die fehlerhafte Authentifizierung zu den Top 10 der OWASP-API-Bedrohungen gehört. Eine umfassende Einführung in die korrekte Implementierung von Identitätsstandards würde den Rahmen dieses Dokuments sprengen. Apigee bietet jedoch viele zusätzliche Ressourcen, um OAuth-Abläufe besser zu verstehen, z. B. dieses E-Book, diesen Webcast und eine Beispielimplementierung.

Authentifizierungsrichtlinien

Apigee-Richtlinien, die bei Identitäts- und Authentifizierungsproblemen helfen, sind:

Traffic-Verwaltung

Die folgenden Apigee-Funktionen für die Trafficverwaltung helfen, Brute-Force-Angriffe zu verhindern:

  • Die SpikeArrest-Richtlinie zum Festlegen einer allgemeinen Ratenbegrenzung für den gleitenden Durchschnitt für einen API-Proxy
  • Kontingentrichtlinien zum Festlegen detaillierter Ratenlimits für API-Proxys basierend auf Kontingenten, die durch App-Schlüssel, Entwickler oder API-Produktkontingente definiert werden
  • Caching-Richtlinien für das Caching gespeicherter Zugriffstokens basierend auf ihren definierten Ablaufzeiten sowie die Möglichkeit, im Cache gespeicherte Anmeldedaten ungültig zu machen (z. B. in einer Situation, in der ein gültiges Zugriffstoken manipuliert wurde)

Governance

Sicherheit ist ein fortlaufender Prozess und kein Projekt, das man einmal einrichtet und dann vergisst. Eine der häufigsten Ursachen für Sicherheitsverstöße sind Fehlkonfigurationen. Nachdem Authentifizierungsabläufe, Muster für die Identitätsintegration und Richtlinien für die Verwaltung von Authentifizierungs-Traffic definiert wurden, ist es absolut wichtig, dass sie korrekt und konsistent implementiert werden.

Apigee bietet eine Reihe von Funktionen und Tools, um die Implementierungsintegrität zu gewährleisten und Fehlkonfigurationsfehler zu vermeiden.

Rollenbasierte Zugriffssteuerung (RBAC)

Unabhängig davon, ob Sie ein großes Unternehmen oder ein kleines Startup sind, können Sie Konfigurationsfehler vermeiden, indem Sie dafür sorgen, dass nur die richtigen Personen und Teams auf API-Proxy-Konfigurationen zugreifen und diese ändern können. API-Programme werden von multidisziplinären Teams in Ihrer Organisation unterstützt. Es ist absolut wichtig, dass jedes Team nur die Berechtigungen erhält, die es für seine Arbeit im Rahmen Ihrer API-Nutzung benötigt.

Apigee bietet die Funktionen, mit denen Sie den rollenbasierten Zugriff verwalten können. Sie können Nutzern entweder vordefinierte Rollen zuweisen oder benutzerdefinierte Rollen für Ihre API-Teams erstellen. Die korrekte Definition und Verwaltung der Rollenzuweisung ist entscheidend, damit Sie Ihr API-Programm sicher skalieren können. Sie können auch Federation verwenden, um Ihre vorhandenen Unternehmensverzeichnisse einzubinden und die Verwaltung eines zweiten Satzes von Administratoranmeldedaten in Apigee zu reduzieren.

Freigegebene Abläufe

Mit freigegebenen Abläufen können Sie Richtlinien und Ressourcen in einem wiederverwendbaren Objekt definieren, das in API-Proxys implementiert werden kann. Beispielsweise haben Sie möglicherweise in Zusammenarbeit mit Ihren Sicherheitsteams mehrere Authentifizierungsmuster basierend auf dem Typ der App entworfen, die eine API nutzt. Ein API-Entwickler muss kein Identitätsexperte sein, um dies wiederzuverwenden. Er muss lediglich wissen, welcher freigegebene Ablauf mit der Richtlinie Flow callout zur vorhandenen API-Proxykonfiguration hinzugefügt werden muss.

Abbildung: Freigegebene Abläufe sind wiederverwendbare Pakete mit Richtlinien und bedingter Logik, mit denen Sie ein zusammengesetztes Muster beibehalten können.

Betriebssicherheit

Sobald Ihre APIs in der Produktionsumgebung mit den richtigen Authentifizierungsmustern und einer grundlegenden Traffic-Verwaltung eingesetzt werden, muss Ihr SecOps-Team auch in der Lage sein, verdächtige Aktivitäten zu beobachten und darauf zu reagieren. Diese beginnen oft mit Versuchen, Anmeldedaten zu kompromittieren.

Apigee Sense

Apigee Sense schützt Ihre APIs vor unerwünschtem Anfragetraffic, einschließlich Angriffen durch böswillige Clients. Apigee Sense analysiert den API-Anfragetraffic und identifiziert Muster, die unerwünschte Anfragen darstellen könnten. Mithilfe dieser Analyse können Sie Clients ermitteln, die unerwünschte Anfragen stellen, und dann Maßnahmen ergreifen, um diese Anfragen zuzulassen, zu blockieren oder zu markieren. Zukünftige Funktionen von Sense umfassen die Möglichkeit, die reCAPTCHA-Überprüfung bei verdächtigem Traffic automatisch zu aktivieren.

Mit Apigee Sense können Sie Ihre APIs vor Anfragemustern schützen, die Folgendes enthalten:

  • Automatisiertes Verhalten, das sich in menschliches Verhalten einfügt
  • Wiederholte Versuche von derselben IP-Adresse
  • Ungewöhnliche Fehlerraten
  • Verdächtige Clientanfragen
  • Data Crawling
  • Schlüssel-Harvesting und Brute-Force-Angriffe auf die Authentifizierung
  • Aktivitätsspitzen
  • Geografische Muster

Advanced API Ops

Sense wurde speziell für die Erkennung und Reaktion auf botähnliche Bedrohungen entwickelt. Advanced API Ops umfasst sowohl Anomalieerkennung als auch die Definition erweiterter Benachrichtigungen.

Bei der Anomalieerkennung werden Modelle für künstliche Intelligenz (KI) und maschinelles Lernen (ML) auf Ihre API-Verlaufsdaten angewendet. Die Anomalieerkennung kann dann in Echtzeit Warnungen für Szenarien ausgeben, an die Sie noch nicht gedacht haben. So können Sie Ihre Produktivität steigern und die mittlere Reparaturzeit (MTTR) Ihrer API-Probleme verkürzen.

Advanced API Ops basiert auf dem vorhandenen API-Monitoring-Benachrichtigungsmechanismus und bietet die folgenden erweiterten Benachrichtigungstypen:

  • Anomaliebenachrichtigungen Edge erkennt Traffic- und Leistungsprobleme, anstatt dass Sie sie selbst bestimmen müssen. Sie können dann eine Benachrichtigung für diese Anomalien einrichten.
  • Benachrichtigungen zum Ablauf von TLS Benachrichtigung, wenn ein TLS-Zertifikat bald abläuft

API3:2019 – Übermäßige Offenlegung von Daten

Beschreibung der Bedrohung

Eine veröffentlichte API kann mehr Daten als nötig bereitstellen und darauf vertrauen, dass die Client-App die erforderliche Filterung vornimmt. Wenn ein Angreifer die zugrunde liegende API direkt abfragt, kann er auf vertrauliche Daten zugreifen.

Eines der „Outside-in“-Designprinzipien von Apigee für das API-Design ist die Datensparsamkeit. Arbeiten Sie mit Ihren UX-Designern und Entwicklern zusammen, um nur Daten über APIs bereitzustellen, die in der Benutzeroberfläche Ihrer App benötigt werden. Back-End-Systeme wurden nicht für öffentliche Nutzungsmuster entwickelt. Eine der ersten Aufgaben des API-First-Designs mit Apigee besteht daher darin, die für ein großartiges API-Produkt für Ihre Kunden und Entwickler erforderlichen Daten auf ein Minimum zu reduzieren.

Ein weiteres Designprinzip von Apigee ist die Wiederverwendbarkeit. Abgesehen von Sicherheitsbedenken führt die Verwendung einer App zum Filtern der von einer API bereitgestellten Daten dazu, dass die Filterlogik auf jede Plattform portiert werden muss, für die Sie eine App entwickeln.

Aus Sicherheitssicht ergibt sich diese Bedrohung aus der Delegierung der Autorisierungserzwingung an eine App, die sich jedoch häufig auf einer Plattform oder einem Betriebssystem befindet, über das Sie keine Kontrolle haben. Wir haben bereits in API1 und API2 die Bedeutung der korrekten Implementierung von Authentifizierung und Autorisierung untersucht, um unbefugten Datenzugriff zu vermeiden.

In den nächsten Abschnitten wird Folgendes beschrieben:

  • Anfragen und Antworten an Backend-Dienste umschreiben, um Datenpannen zu minimieren
  • Implementieren Sie die Fehlerbehandlung, um zu verhindern, dass ausführliche Fehlermeldungen Angreifern vertrauliche Umgebungsinformationen zu Ihren Backend-Diensten preisgeben.

Antworten und Anfragen umschreiben

Backendsysteme sind in der Regel nicht für die Verwendung in öffentlichen Apps oder in nicht vertrauenswürdigen öffentlichen Netzwerken konzipiert. Apigee Edge wurde entwickelt, damit Sie öffentliche API-Produkte bereitstellen können, ohne dass Ihre Backends übermäßig vielen Daten ausgesetzt sind.

Dazu verwendet Apigee drei wichtige Richtlinien:

  • Nachricht zuweisen
  • Code-Zusatzinformationen
  • Fehlerbehandlung

AssignMessage-Richtlinie

Die AssignMessage-Richtlinie ändert oder erstellt neue Anfrage- und Antwortnachrichten während des API-Proxy-Ablaufs. Mit der Richtlinie können Sie die folgenden Aktionen für diese Nachrichten ausführen:

  • Einer Nachricht neue Formularparameter, Header oder Abfrageparameter hinzufügen
  • Vorhandene Properties von einer Nachricht in eine andere kopieren
  • Header, Abfrageparameter, Formularparameter und/oder Nachrichtennutzlasten aus einer Nachricht entfernen
  • Den Wert vorhandener Eigenschaften in einer Nachricht festlegen

Mit „Assign Message“ fügen Sie in der Regel Attribute der Anfrage oder Antwort hinzu, ändern oder entfernen sie. Sie können Assign Message jedoch auch verwenden, um eine benutzerdefinierte Anfrage oder Antwort zu erstellen und sie an ein alternatives Ziel weiterzuleiten, wie unter Benutzerdefinierte Anfragenachrichten erstellen beschrieben.

Komplexes Umschreiben mit benutzerdefiniertem Code

Für die komplexe Datenverarbeitung und das Umschreiben von Regeln, deren Komplexität über die Möglichkeiten der Richtlinie „Nachricht zuweisen“ hinausgeht, können Sie prozedurale Sprachen wie JavaScript, Java oder Python verwenden. Sie können einem API-Proxy benutzerdefinierten Code hinzufügen und ihn dann über Richtlinien aufrufen, die dem Proxy-Ablauf hinzugefügt wurden. Die Unterstützung für prozeduralen Code soll Ihnen die Implementierung komplexer Verarbeitung von Flussvariablen, Fehlern sowie Anforderungs- und Antworttexten erleichtern.

Mit proaktivem Code können Sie Folgendes tun:

  • Erstellen oder ändern komplexer Textwerte wie Anfrage- und Antwortwerte.
  • URLs umbenennen, z. B. um eine Ziel-Endpunkt-URL zu maskieren

Apigee Edge enthält eine separate Richtlinie für unterstützte Sprachen: JavaScript-Richtlinie, Java-Callout-Richtlinie und Python-Script-Richtlinie.

Fehlerbehandlung

Mit Apigee können Sie benutzerdefinierte Ausnahmen mithilfe einer Richtlinie vom Typ RaiseFault ausführen. Mit der RaiseFault-Richtlinie, die eine Variante der AssignMessage-Richtlinie ist, können Sie eine benutzerdefinierte Fehlerantwort als Reaktion auf einen Fehler generieren.

Freigegebene Abläufe

Mit gemeinsamen Flows kann die Standardisierung von Fehlermeldungen erzwungen werden. Beispielsweise können dieselben konfigurierten Richtlinien, die einen bestimmten HTTP-Fehlercode vom Backend erkennen, verwendet werden, um die Fehlerantwort neu zu schreiben und eine allgemeine Fehlermeldung zurückzugeben.

API4:2019 – Mangel an Ressourcen und Ratenbegrenzung

Beschreibung der Bedrohung

Wenn Sie keine Ratenbegrenzungsrichtlinien implementieren, können Angreifer das Backend mit Denial-of-Service-Angriffen überlasten.

Diese Bedrohung lässt sich mit den folgenden Apigee-Funktionen leicht abwehren:

  • Kontingente und SpikeArrest-Richtlinien als präventive Kontrollen, um Traffic-Limits für eingehende API-Anfragen festzulegen
  • Apigee Sense zum dynamischen Erkennen und Abwehren von Bot-basierten Angriffen
  • Erweitertes API-Monitoring und ‑Benachrichtigungen als Erkennungskontrollen, um bei laufenden DDoS-Angriffen benachrichtigt zu werden

Ratenbegrenzung mit Kontingent- und SpikeArrest-Richtlinien

Apigee bietet zwei Richtlinien für die Ratenbegrenzung:

  • Spike Arrest bietet eine allgemeine Richtlinie, die auf API-Proxy-Ebene definiert wird, um die Gesamtzahl der eingehenden Anfragen an ein Backend zu begrenzen.
  • Kontingente sind ein detailliertes Richtlinientool zum Erzwingen von Kontingentrichtlinien entweder auf API-Proxy- oder auf API-Produktebene.

Spike Arrest

Die SpikeArrest -Richtlinie schützt vor Trafficanstieg. Diese Richtlinie drosselt die Anzahl der Anfragen, die von einem API-Proxy verarbeitet und an ein Back-End gesendet werden, um Leistungsverzögerungen und Ausfallzeiten zu verhindern. Dabei wird ein gleitender Durchschnittswert verwendet, der in der Richtlinie definiert werden kann.

Kontingente

Mit der Quota können Sie die Anzahl der Anfragenachrichten konfigurieren, die ein API-Proxy in einem bestimmten Zeitraum zulässt, z. B. in einer Minute, einer Stunde, einem Tag, einer Woche oder einem Monat. Sie können das Kontingent für alle Apps, die auf den API-Proxy zugreifen, gleich festlegen oder das Kontingent basierend auf folgenden Kriterien festlegen:

  • Das Produkt, das den API-Proxy enthält
  • Die Anwendung, die die Anfrage an die API sendet
  • App-Entwickler
  • Viele weitere Kriterien

Diese Richtlinie ist detaillierter als „SpikeArrest“ und sollte in der Regel gleichzeitig mit ihr verwendet werden.

Bot-Erkennung mit Apigee Sense

Mit Apigee Sense können Sie Maßnahmen ergreifen, um Anfragen von bestimmten Clients, IP-Bereichen oder Organisationen autonomer Systeme explizit zuzulassen, zu blockieren oder zu markieren, wenn diese Clients oder Standorte schädliches oder verdächtiges Verhalten zeigen. Apigee Edge wendet diese Aktionen auf Anfragen an, bevor Ihre API-Proxys sie verarbeiten. So kann beispielsweise ein IP-Bereich oder ein bestimmter Client mit „Brute-Guessor“-Verhalten erkannt und dann blockiert oder gekennzeichnet werden.

Bedrohungserkennung mit Advanced API Ops Monitoring

Mit einer Traffic-Benachrichtigung können Sie eine Benachrichtigung auslösen, wenn sich der Traffic für eine Umgebung, einen Proxy oder eine Region über einen bestimmten Zeitraum um einen bestimmten Prozentsatz ändert. Diese Funktion kann dynamisch eine Benachrichtigung auslösen, wenn der Traffic erheblich von Ihrem erwarteten Durchsatz abweicht, wie es bei einem DDoS-Angriff der Fall wäre. Diese Benachrichtigungen können ganz einfach an eine Protokollierungs- und Überwachungslösung eines Drittanbieters gesendet werden.

API5:2019 Fehlerhafte Autorisierung auf Funktionsebene

Beschreibung der Bedrohung

Diese Bedrohung ist eine Variante von API1 und stellt ebenfalls eine Autorisierungslücke dar. Bei dieser Bedrohung kann ein Angreifer Aktionen ausführen, indem er Anfragen an Funktionen sendet, auf die er keinen Zugriff hat. Ein Angreifer kann beispielsweise Daten ändern oder löschen, die er nur lesen darf, wenn ein API-Endpunkt das HTTP-Anfrageverb nicht validiert, indem er ein GET durch ein PUT oder DELETE ersetzt. Oder wenn Sie keine ausreichend restriktive Zugriffssteuerung für einen API-Ressourcen-URI-Pfad implementieren, kann ein Angreifer möglicherweise die Daten eines anderen Nutzers ansehen, indem er einfach den Pfad in einer Anfrage ändert.

Diese Art von Bedrohung unterstreicht den Wert von Apigee als Vermittlungs- und Abstraktionsebene, da viele Backend-Systeme, die nicht für den öffentlichen Zugriff konzipiert sind, standardmäßig einen einzelnen Endpunkt für die Ausführung mehrerer Geschäftslogikfunktionen bereitstellen, einschließlich risikoreicher administrativer Funktionen.

Die konzeptionellen Elemente zur Verringerung der Wahrscheinlichkeit dieser Bedrohung werden in der Regel in folgende Kategorien unterteilt:

  • Was wird geschützt? Denken Sie über Ihre API-Produktstrategie nach und implementieren Sie eine logische Segmentierung der Funktionen, wenn Sie RESTful-Best Practices verwenden, um die Pfade und Ressourcen zu entwerfen, die von Apigee-API-Proxys, ‑Produkten und ‑Apps bereitgestellt werden.
  • Wer greift auf Ihre API-Ressourcen zu? Definieren Sie die wichtigsten Rollen und implementieren Sie standardmäßige Zugriffsberechtigungen nach dem Prinzip der geringsten Berechtigung. Verwenden Sie dazu einige der Authentifizierungs- und Autorisierungsfunktionen von Apigee, wie in API1 und API2 beschrieben.
  • Wie werden Ihre Zugriffsrichtlinien durchgesetzt? Verwenden Sie bedingte Abläufe und Fehler, um den URL-Pfad und das Verb aller API-Anfragen zu validieren.

Abbildung: In diesem Diagramm wird veranschaulicht, wie die Autorisierung auf Funktionsebene in Apigee erzwungen wird. Dabei werden Bereiche in einem Zugriffstoken als Berechtigungen verwendet.

Logische Segmentierung mit API-Proxys, ‑Produkten und ‑Apps

Apigee bietet ein äußerst flexibles Toolkit für die logische Segmentierung von API-Ressourcen. So können API-Proxys in beliebig viele API-Produkte gebündelt werden, die wiederum von Ihren App-Entwicklern genutzt werden. Diese können Apps registrieren, die Ihre API-Produkte verwenden. Zugriffsrichtlinien können auf jeder dieser Ebenen definiert werden.

Um eine effektive funktionale Autorisierung und Segmentierung zu implementieren, ist es jedoch entscheidend, eine API-Produktstrategie zu definieren. Ein wichtiger Teil dieses fortlaufenden Prozesses ist die Definition des „Wer“ und des „Was“ Ihrer API-Produkte. Dazu müssen Sie Ihre API-Ressourcen aus der Perspektive Ihrer Kunden und Entwickler betrachten und dann bis hinunter zur Pfadressource und zum HTTP-Verb genau definieren, welche Arten von Anfragen zulässig sind.

Abbildung: Die in einem API-Produkt gebündelten API-Ressourcen können aus einer oder mehreren APIs stammen. Sie können also Ressourcen kombinieren, um Nutzungsebenen und Autorisierungsgrenzen zu erstellen.

Zugriffssteuerung auf Funktionsebene mit OAuth-Bereichen und JWT-Claims

Die oben beschriebenen Autorisierungsansätze für API1:2019 Broken Object Authorization (fehlerhafte Objektautorisierung) beziehen sich auf die detaillierte Zugriffssteuerung auf Objektebene. Es ist jedoch genauso wichtig, die grobmaschige Zugriffssteuerung auf Funktionsebene zu berücksichtigen. Darf der anfragende Nutzer diesen URL-Pfad überhaupt anfordern? Diese Art von Richtlinie wird häufig pro User Persona (Kunde, Mitarbeiter, Administrator, interner oder Drittentwickler) definiert.

Um das Risiko einer Fehlkonfiguration zu verringern, empfehlen wir, mit Ihrem Sicherheitsteam zusammenzuarbeiten, um sicherzustellen, dass die Behauptungen über den anfragenden Nutzer im Zugriffstoken enthalten sind, entweder durch die Verwendung von OAuth-Bereichen oder JWT-Claims.

Validierung mit bedingten Abläufen anfordern

Ein REST API-Aufruf besteht im Wesentlichen aus Folgendem:

  • Ein Endpunkt
  • Eine Ressource
  • Ein Tätigkeitsverb
  • Beliebige Anzahl zusätzlicher Anfrageattribute, z. B. Suchparameter

Die in dieser Bedrohung beschriebene Art von Angriff wird in der Regel durch die unzureichende Filterung einer API-Anfrage verursacht. Dadurch kann ein Angreifer unbefugte Aktionen ausführen oder auf eine geschützte Ressource zugreifen. Zusätzlich zur bedingten Logik, mit der Sie Anfragen anhand von Zugriffstokens oder Ansprüchen filtern können, ermöglicht Apigee die Implementierung von Filterlogik basierend auf der Anfrage selbst.

Sobald Sie die Geschäftslogik eines API-Produkts und die von Ihren APIs zulässigen Funktionen klar verstanden und definiert haben, müssen Sie alle Anfragen, die nicht dazu gehören, mit den folgenden Apigee-Produktfunktionen einschränken:

  • Bedingte Logik und RaiseFault-Richtlinien zum Einschränken von Ressourcenpfaden oder Verben in jedem Schritt einer Proxy-Ablaufkonfiguration
  • JSON- und XML-Richtlinien zum Schutz vor Bedrohungen, um sich vor inhaltsbasierten Angriffen mit ungültig formatierten JSON- oder XML-Anfragenutzlasten zu schützen

API6:2019 – Massenzuweisung

Beschreibung der Bedrohung

Wenn ungefilterte Daten über APIs an Client-Apps bereitgestellt werden, können Angreifer Objekteigenschaften über Anfragen erraten oder Endpunkt-Namenskonventionen verwenden, um Hinweise darauf zu erhalten, wo unbefugte Änderungen oder Zugriffe auf Eigenschaften von Datenobjekten, die im Backend gespeichert sind, vorgenommen werden können.

Diese Bedrohung entsteht, wenn ungefilterte Daten (in der Regel in JSON oder XML) an einen Client gesendet werden. Dadurch kann ein Angreifer die zugrunde liegenden Implementierungsdetails Ihrer Backend-Systeme sowie die Attributnamen vertraulicher Datenelemente erraten. Das Ergebnis dieser Art von Angriff kann einem Angreifer möglicherweise die Möglichkeit geben, unangemessene Daten zu lesen oder zu manipulieren. Im schlimmsten Fall können Sicherheitslücken für die Remoteausführung von Code ausgenutzt werden.

In der Regel sind zwei Aspekte beteiligt, die diese Art von Bedrohung ermöglichen:

  • Die Perspektive des API-Designs Verlassen Sie sich niemals auf die Anwendungslogik, um clientseitige Datenfilterung durchzuführen, da Apps von Angreifern ausgenutzt werden können und als vertrauenswürdig gelten. Entwerfen Sie Ihr API-Datenschema immer so, dass nur die minimal erforderlichen Daten für die Bereitstellung eines API-Dienstes verfügbar sind.
  • Die Perspektive der API-Implementierung. Implementieren Sie Datenfilterung und Schemavalidierung, um die unbeabsichtigte Offenlegung vertraulicher Daten für eine Clientanwendung zu verhindern.

Aus Apigee-Produktsicht bieten wir mehrere nützliche Funktionen, mit denen Sie eine robuste Datenfilterung für Ihre APIs implementieren können.

Richtlinie zum Filtern von OpenAPI-Spezifikationen

Mit der OASValidation-Richtlinie (OpenAPI-Spezifikationsvalidierung) können Sie eine eingehende Anfrage oder Antwortnachricht anhand einer OpenAPI 3.0-Spezifikation (JSON oder YAML) validieren. Mit dieser Richtlinie haben Sie folgende Möglichkeiten:

  1. API entwerfen, indem Sie eine OpenAPI-Spezifikation (OAS) erstellen
  2. Implementieren Sie die erforderliche Vermittlungs-, Sicherheits- und Caching-Logik, um ein API-Produkt aus Ihrem Backend mit Apigee sicher bereitzustellen.
  3. Eingehende Anfragen anhand des in Ihrer OAS-Spezifikation definierten Datenschemas validieren, einschließlich basepath, verb, request message policy und parameters

SOAP-Richtlinie für die Nachrichtenvalidierung

Mit der SOAP-Nachrichtenvalidierungsrichtlinie können Sie XML-basierte Anfragen validieren, indem Sie entweder eine XML-Nachricht anhand eines XSD-Schemas oder eine SOAP-Nachricht anhand einer WSDL-Definition validieren. Außerdem können Sie mit der Richtlinie „Nachricht validieren“ prüfen, ob eine JSON- oder XML-Nachrichtennutzlast wohlgeformt ist. Dazu wird Folgendes in einer XML- oder JSON-Nachricht überprüft:

  • Es gibt ein einziges Stammelement.
  • Der Inhalt enthält keine unzulässigen Zeichen.
  • Objekte und Tags sind ordnungsgemäß verschachtelt.
  • Start- und End-Tags stimmen überein.

API7:2019 Sicherheitsfehlkonfiguration

Beschreibung der Bedrohung

Eine Sicherheitsfehlkonfiguration ist in der Regel das Ergebnis von unsicheren Standardkonfigurationen, unvollständigen oder Ad-hoc-Konfigurationen, offenem Cloud-Speicher, falsch konfigurierten HTTP-Headern, unnötigen HTTP-Methoden, permissivem Cross-Origin Resource Sharing (CORS) und ausführlichen Fehlermeldungen, die vertrauliche Informationen enthalten. Angreifer versuchen oft, ungepatchte Sicherheitslücken, gängige Endpunkte oder ungeschützte Dateien und Verzeichnisse zu finden, um unbefugten Zugriff auf das System zu erhalten, das sie angreifen möchten. Sicherheitskonfigurationsfehler können nicht nur sensible Nutzerdaten, sondern auch Systemdetails offenlegen, die zu einer vollständigen Serverkompromittierung führen können. Weitere Anwendungsfälle für Sicherheitslücken bei Sicherheitsfehlkonfigurationen:

  • Falsch konfigurierte TLS
  • Fehlermeldungen mit Stacktraces
  • Systeme ohne Patch
  • Freigegebene Speicher- oder Serververwaltungsbereiche

Organisationen können verschiedene Maßnahmen ergreifen, um die Herausforderungen im Zusammenhang mit Sicherheitsfehlkonfigurationen zu bewältigen und zu minimieren. Dazu gehören:

  1. Härtungs- und Patching-Prozesse einrichten und standardisieren
  2. Governance für das API-Ökosystem entwickeln
  3. Administratorzugriff einschränken und Prüfung und Benachrichtigungen aktivieren

Freigegebene Abläufe und Ablauf-Hooks

Apigee unterstützt das Konzept eines freigegebenen Ablaufs, mit dem API-Entwickler Richtlinien und Ressourcen in einer wiederverwendbaren Gruppe kombinieren können. Durch die Erfassung wiederverwendbarer Funktionen an einem zentralen Ort kann ein freigegebener Ablauf für Konsistenz sorgen, die Entwicklungszeit verkürzen und Code einfacher verwalten. Sie können einen freigegebenen Ablauf in einzelne API-Proxys einfügen oder noch einen Schritt weiter gehen und freigegebene Abläufe in Ablauf-Hooks platzieren, um für jeden API-Proxy, der in derselben Umgebung wie ein freigegebener Ablauf bereitgestellt wird, automatisch eine freigegebene Ablauflogik auszuführen.

API-Monitoring

Apigee bietet eine umfassende Plattform für das API-Monitoring. Mit API Monitoring können Unternehmen API-Traffic- und Leistungsprobleme proaktiv erkennen. Apigee API Monitoring funktioniert in Verbindung mit Apigee Edge for Public Cloud, um kontextbezogene Echtzeitstatistiken zur API-Leistung bereitzustellen. So können Probleme schnell diagnostiziert und Maßnahmen zur Aufrechterhaltung der Geschäftskontinuität ergriffen werden.

Abbildung: Apigee API Monitoring bietet eine Vielzahl von Tools zum Überwachen, Untersuchen und Beheben von Problemen. Dabei werden die besten Funktionen für künstliche Intelligenz der Google Cloud Platform genutzt.

Apigee Sense

Apigee Sense schützt die APIs vor unerwünschtem Anfragetraffic, einschließlich Angriffen durch böswillige Clients. Apigee Sense analysiert den API-Anfragetraffic und identifiziert Muster, die unerwünschte Anfragen darstellen könnten.

Mithilfe dieser Analyse können Unternehmen Clients ermitteln, die unerwünschte Anfragen stellen, und dann Maßnahmen zum Zulassen, Blockieren oder Markieren dieser Anfragen ergreifen. Mit Apigee Sense können Sie die APIs vor Anfragemustern schützen, die Folgendes umfassen:

  • Automatisiertes Verhalten, das sich in menschliches Verhalten einfügt
  • Wiederholte Versuche von derselben IP-Adresse
  • Ungewöhnliche Fehlerraten
  • Verdächtige Clientanfragen
  • Data Crawling
  • Schlüssel-Harvesting
  • Aktivitätsspitzen
  • Geografische Muster

API8:2019 Injection

Beschreibung der Bedrohung

Das Einfügen nicht vertrauenswürdiger Daten wie SQL, NoSQL, XML-Parser, ORM, LDAP, Betriebssystembefehle und JavaScript in API-Anfragen kann zur Ausführung nicht beabsichtigter Befehle oder zum unbefugten Datenzugriff führen. Angreifer geben über verfügbare Injektionsvektoren wie direkte Eingabe, Parameter, integrierte Dienste usw. schädliche Daten in die API ein und erwarten, dass diese an einen Interpreter gesendet werden. Angreifer können diese Fehler leicht erkennen, wenn sie den Quellcode mit Vulnerability Scannern und Fuzzern überprüfen. Ein erfolgreicher Angriff kann zur Offenlegung von Informationen führen, was sich auf die Vertraulichkeit und den Datenverlust auswirkt. In einigen Fällen kann es auch zu DoS kommen.

Best Practices zur Vermeidung von Injektionsfehlern/-angriffen sind die strenge Definition der Eingabedaten, z. B. Schemas, Typen, Stringmuster, die Durchführung von Eingabevalidierungen, Grenzwertprüfungen und die Durchsetzung dieser Prüfungen zur Laufzeit. Auf der Apigee-Plattform können eingehende Daten mithilfe von Filtern validiert werden, um nur gültige Werte für jeden Eingabeparameter zuzulassen.

Apigee Edge, das als Server für die eingehenden API-Anfragen fungiert, führt eine Limitprüfung durch, um sicherzustellen, dass die Nutzlaststruktur in einen akzeptablen Bereich fällt. Sie können einen API-Proxy so konfigurieren, dass die Eingabevalidierungsroutine die Eingabe transformiert, um riskante Zeichensequenzen zu entfernen und sie dann durch sichere Werte zu ersetzen.

RegularExpressionProtection-Richtlinie

Die RegularExpressionProtection-Richtlinie extrahiert Informationen aus einer Nachricht (z. B. URI-Pfad, Abfrageparameter, Header, Formularparameter, Variable, XML-Nutzlast oder JSON-Nutzlast) und wertet diesen Inhalt anhand von vordefinierten regulären Ausdrücken aus. Wenn einer der angegebenen regulären Ausdrücke als „true“ ausgewertet wird, gilt die Nachricht als Bedrohung und wird abgelehnt. Ein regulärer Ausdruck (kurz: Regex) ist eine Gruppe von Strings, die ein Muster in einem String angeben. Mit regulären Ausdrücken können Inhalte programmatisch nach Mustern ausgewertet werden. Mit regulären Ausdrücken lässt sich beispielsweise eine E-Mail-Adresse auf ihre korrekte Struktur prüfen.

Die RegularExpressionProtection-Richtlinie wird am häufigsten verwendet, um JSON- und XML-Nutzlasten auf schädliche Inhalte zu prüfen.

Mit keinem regulären Ausdruck lassen sich alle inhaltsbezogenen Angriffe eliminieren. Für eine umfassende Verteidigung sollten mehrere Mechanismen kombiniert werden. In diesem Abschnitt werden einige empfohlene Muster zum Verhindern des Zugriffs auf Inhalte beschrieben.

Es gibt mehrere andere Ansätze zur Validierung von Eingaben mit der Apigee-Plattform:

Inhaltstypen validieren

Der Inhaltstyp bezieht sich auf den Inhalt einer Datei, die über HTTP übertragen und nach einer zweiteiligen Struktur klassifiziert wird. Apigee empfiehlt, die Inhaltstypen für Anfrage und Antwort mit bedingter Logik zu validieren, wie unten beschrieben.

API9:2019 – Falsche Verwaltung von Assets

Beschreibung der Bedrohung

Unzureichende Umgebungsverwaltung und ‑trennung ermöglichen es Angreifern, auf unzureichend gesicherte API-Endpunkte zuzugreifen. Das Fehlen von Governance-Schutzmaßnahmen führt auch zu einer unnötigen Offenlegung von nicht mehr unterstützten Ressourcen.

Diese Bedrohung kann durch die Nutzung der ausgereiften Funktionen von Apigee zur Verwaltung des gesamten API-Lebenszyklus abgewendet werden. So können Sie ein umfassendes Governance-Modell erstellen, das die Zusammenarbeit zwischen Teams ermöglicht und gleichzeitig die Verantwortlichkeiten zwischen Sicherheitsbeteiligten und API-Entwicklern trennt. Grenzen und Kontrollen können mit den folgenden Tools konfiguriert und verwaltet werden:

Organisationen, Umgebungen und Revisionen: Virtuelle und physische Schutzmaßnahmen, die durch Laufzeitkontexte für Isolation und einen sicheren Prozess zur Übertragung von Änderungen sorgen.

Rollenbasierte Zugriffssteuerung: Nur die erforderlichen Personen in Ihren API-Teams haben Berechtigungen zum Verwalten von Konfigurationsänderungen und zum Durchführen des Promotionsprozesses.

Zielgruppenverwaltung für API-Dokumentation: Nachdem eine API im Entwicklerportal veröffentlicht wurde, können Sie die Sichtbarkeit der Dokumentation einschränken, indem Sie Zielgruppen verwalten.

Flow-Hooks: Sie können globale Richtlinien und Muster erzwingen, die als privilegierte Leitplanken verwaltet werden können, die von API-Entwicklern nicht geändert werden können.

Organisationen und Umgebungen

Konfigurationsartefakte, Nutzer und Funktionen in Apigee können auf bestimmte Organisationen und/oder Umgebungen beschränkt werden. Das bedeutet, dass die Plattform vordefinierte Schutzmaßnahmen bietet, die für APIs und die zugehörige Konfiguration festgelegt werden können.

Organisationen: Eine Organisation ist der oberste Mandant in Apigee. So können Sie Traffic, Konfiguration und Nutzer vollständig trennen. Als Best Practice für die Governance sollten Sie separate Produktions- und Nichtproduktionsorganisationen in Betracht ziehen. So wird effektiv verhindert, dass Produktionsdaten, Nutzer und Traffic mit Umgebungen mit niedrigerem Niveau vermischt werden.

Umgebungen: APIs in Apigee können in mehreren Bereitstellungsstatus hochgestuft werden. Jeder Status ist mit einem Ausführungskontext verknüpft. Der Umgebungskontext wird während des Heraufstufungsprozesses nicht übertragen, sodass sensible Konfigurationen nicht für Nutzer ohne Berechtigungen verfügbar sind.

Überarbeitungen: Mit Überarbeitungen können APIs und einzelne Funktionen nahtlos in verschiedenen Umgebungen bereitgestellt werden.

Rollenbasierte Zugriffssteuerung

Um API9 zu minimieren, ist es unerlässlich, dass die Zuständigkeiten zwischen Sicherheitsbeteiligten und API-Entwicklern klar definiert und getrennt sind. Wie bereits in diesem Dokument erwähnt, bietet Apigee flexible Funktionen zur rollenbasierten Zugriffssteuerung, mit denen Sie benutzerdefinierten Rollen Berechtigungen zuweisen können. Bei dieser speziellen Bedrohung können Rollen so konfiguriert werden, dass sie eingeschränkte Berechtigungen pro Organisation, Umgebung oder detailliertere Konfigurationsberechtigungen haben. Es empfiehlt sich, Berechtigungen zum Ändern des Bereitstellungsstatus von APIs über Umgebungen hinweg einzuschränken und dafür zu sorgen, dass Entwickler nicht auf globale Sicherheitsbibliotheken (Flow-Hooks) zugreifen oder diese ändern können. Diese eingeschränkten Rollen verhindern unerwünschte Änderungen an globalen Sicherheitsrichtlinien, die sowohl für Legacy- als auch für aktuelle veröffentlichte Endpunkte gelten.

Zielgruppenverwaltung für API-Dokumentation

Ein Entwicklerportal ist eine zentrale Komponente für den Erfolg Ihrer API-Strategie. Es ermöglicht Ihnen, ein umfassendes Inventar aller Dokumentationen zu Ihren APIs zu führen, einschließlich Hosts/Endpunkten, Ressourcen, Vorgängen, Nutzlastschemas und mehr. In Apigee können Sie Ihre APIs mit API-Produktkonstrukten gruppieren. API-Produkte werden durch Bündel von Ressourcen und Vorgängen definiert, die in denselben Geschäfts- und Sicherheitskontext fallen (z.B. Serviceplan, Geschäftsdomain, Kategorie, Unternehmenshierarchie usw.).

Mit dem integrierten Entwicklerportal von Apigee können Sie API-Produkte veröffentlichen und die Sichtbarkeit veröffentlichter Inhalte durch die Verwaltung von Zielgruppen einschränken. Diese Funktion entspricht einer Strategie zur Inhaltssegmentierung, die mit den geschäftlichen und Sicherheitsanforderungen übereinstimmt.

Flow-Hooks

Die Prozesse für die Bewerbung und Veröffentlichung von APIs müssen immer Prozesse für die Einhaltung von Sicherheitsstandards und die Zertifizierung umfassen. Damit das funktioniert, müssen API-Teams mit den entsprechenden Tools in der Lage sein, Schutzmaßnahmen zu erstellen, die die Trennung von Verantwortlichkeiten gewährleisten und gleichzeitig agile Release-Zyklen ermöglichen.

Mit Apigee können Sie die Aufgaben der Sicherheits-Governance verbessern, indem Sie globale Richtlinien über Flow-Hooks erzwingen. Diese globalen Richtlinien können als privilegierte Leitplanken verwaltet werden, die von API-Entwicklern nicht geändert werden können. So wird die Trennung von Verantwortlichkeiten gewährleistet und die Agilität gefördert, indem Standardsicherheit angewendet und somit die Sicherheitskonformität für alle APIs bereitgestellt wird, die in einer bestimmten Ausführungsumgebung bereitgestellt werden.

Abbildung: Privilegierte Guardrails können in Apigee über Flow-Hooks und freigegebene Abläufe konfiguriert werden. Sicherheitsverantwortliche sind für die Einhaltung sicherheitsrelevanter globaler Richtlinien verantwortlich. Diese Funktionen garantieren die Trennung von Verantwortlichkeiten und fördern agile Entwicklungszyklen.

API10:2019 Unzureichendes Logging und Monitoring

Beschreibung der Bedrohung

Unzureichendes Logging, Monitoring und unzureichende Benachrichtigungen führen dazu, dass laufende Angriffe nicht erkannt werden. Daher ist eine Strategie erforderlich, um Informationen über kritische Ereignisse zu erhalten, die sich auf Ihr Unternehmen auswirken.

Bei Strategien für die Ereignis- und Logverwaltung für APIs sollten die folgenden Best Practices berücksichtigt werden:

  • Richtlinie zur Protokollverwaltung: Dokumentieren und erzwingen Sie Regeln, um die Ausführlichkeit von Protokollen, Protokollebenen, Protokollintegrität, zentrales Repository und mehr zu standardisieren und zu kontrollieren.
  • Richtlinie zur Ereignisverwaltung: Jedes Ereignis muss auf seine Quelle zurückführbar sein. Außerdem sollten Ereignisse nach Kritikalität und geschäftlichen Auswirkungen kategorisiert werden können.
  • Berichte und Audits: Sicherheits- und Betriebsverantwortliche sollten in der Lage sein, in Echtzeit auf Logs und Ereignisse zuzugreifen und darauf zu reagieren. Außerdem können Stakeholder Verstärkungszyklen durchführen, um Erkennungsmuster auf Grundlage von Verlaufsdaten anzupassen.

Apigee bietet die erforderlichen Tools zum Erstellen einer umfassenden Strategie für das Ereignis- und Logmanagement. beispielsweise:

Richtlinie zur Nachrichtenprotokollierung: Erstellen Sie Logstreams auf Grundlage von Traffic-Daten oder Metadaten aus Ihrem API-Traffic. Sie können die Ausführlichkeit des Streams mithilfe von bedingter Logik und Nachrichtenvorlagen festlegen.

Cloud Operations Suite von Google: Nutzen Sie die sofort einsatzbereite Integration in die hochgradig skalierbaren Monitoring- und Logging-Tools von Google.

Richtlinie für Service-Callouts: Unterstützung für Log-Streams, für die HTTP-Endpunkte zum Senden von Ereignissen erforderlich sind, wurde hinzugefügt.

Analytics: Über Standardberichte und/oder benutzerdefinierte Berichte können Sie auf historische Traffic-Metadaten zugreifen und diese analysieren. Benachrichtigungen basierend auf Trends erstellen und verwalten und Trafficanomalien nachvollziehen

API-Monitoring: Wie bereits beschrieben, bietet dieses Tool Warnfunktionen, die basierend auf kritischen Ereignissen ausgelöst werden können. Traffic-Logs können weiter analysiert und entsprechende Maßnahmen ergriffen werden.